vi /etc/sysctl.conf
首先编辑此文件,设置参数允许系统进行转发。原有的话进行修改,没有的话进行新增
net.ipv4.ip_forward = 1
保存后执行sysctl -p立即生效
转发要求:
本机内网网址为192.168.0.2,需要将本机80端口请求转发到192.168.0.1:8080,同时获取返回数据
打开iptables规则文件,vi /etc/sysconfig/iptables,先将端口过滤中的禁止转发规则注释掉
#-A FORWARD -j REJECT --reject-with icmp-host-prohibited
然后在规则文件后添加转发规则
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -d 0.0.0.0/0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.0.1:8080
-A POSTROUTING -d 192.168.0.1/32 -p tcp -m tcp --dport 8080 -j SNAT --to-source 192.168.0.2
COMMIT
实机centos7配置可用。iptables中不需要放行80端口,但注意不要被其他防火措施拦截了请求
本机端口转发,将1234转发到5678:
-A PREROUTING -p tcp -m tcp --dport 1234 -j REDIRECT --to-ports 5678