【linux端口转发】使用rinetd/iptables

本文介绍了解决手机客户端通过域名访问线下服务器的问题。由于域名绑定限制,无法直接绑定到特定端口,文中提供了两种解决方案:使用iptables进行端口重定向及利用rinetd实现端口转发。这两种方法都能有效地将80端口的请求转到用户自定义的端口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

场景:手机客户端想通过域名转发访问线下服务器,但是问题1:域名绑定不能绑定到端口只能到ip-ip的绑定,默认绑定的线下端口必须与线上一致;而线上端口默认是80,该端口为系统端口,用户程序不能使用。于是想到将线下服务器的80端口绑定到用户自定义的程序端口上。

解决:使用iptables或rinetd

一、iptables

命令如下:iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports  8000

注意:需要root权限

 

二、rinetd

步骤:

1、下载:从官网http://www.boutell.com/rinetd/ 下载linux版本

2、安装:

tar zxvf rinetd.tar.gz
make
make install

此处注意1:安装rinetd需要root权限,请到root账户下执行安装;

注意2:make install的时候可能出现 /usr/man/man8 目录不存在的错误,解决方式1是直接创建该文件夹即可;解决方式2是打开Makefile换个存在的目录

3、配置:

编辑配置
vi /etc/rinetd.conf
0.0.0.0 80  0.0.0.0 8000

说明一下(0.0.0.0表示本机绑定所有可用地址)
将所有发往本机80端口的请求转发到本机的8000端口

配置文件的命令格式是
[Source Address] [Source Port] [Destination Address] [Destination Port]
源地址  源端口   目的地址  目的端口

4、启动程序
pkill rinetd  ##关闭进程
./rinetd -c /etc/rinetd.conf  ##启动转发
把这条命令加到/etc/rc.local里面就可以开机自动运行

 

5、验证:

访问线下机器的80端口和8000端口检查返回是否一致。

解决【end】

转载于:https://www.cnblogs.com/mangu-uu/p/3482322.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值