一、转发说明
使用A机器(192.168.100.1:21114)请求B机器(192.168.100.100:21444),A机器作为转发机器,其他机器访问A的21114会连接到B的21114端口。
二、修改转发配置项
注意:如下所有配置均只要在A(192.168.100.1)配置
# 重点:启用网卡转发功能
echo 1 > /proc/sys/net/ipv4/ip_forward
三、增加iptables规则
# 清除所有规则
iptables -t nat -F
# 查看所有规则
iptables -t nat -nL
# 配置转发规则
iptables -t nat -A PREROUTING -p tcp --dport 21114 -j DNAT --to-destination 192.168.100.100:21114
iptables -t nat -A POSTROUTING -d 192.168.100.100 -p tcp --dport 21114 -j SNAT --to-source 192.168.100.1
# POSTROUTING可以简化如下:
iptables -t nat -A POSTROUTING -j MASQUERADE
# 简化后 最终命令为:
iptables -t nat -A PREROUTING -p tcp --dport 21114 -j DNAT --to-destination 192.168.100.100:21114
iptables -t nat -A POSTROUTING -j MASQUERADE
#注意: A机器直接访问21114是不会进行转发,不会走上这个逻辑,需结合使用OUTPUT链做处理
四、配置后的规则
[root@localhost logs]# cat /proc/sys/net/ipv4/ip_forward
1
# 原始配置
[root@localhost logs]# iptables -t nat -nL
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:15052 to:192.168.232.136:1502
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
SNAT tcp -- 0.0.0.0/0 192.168.232.136 tcp dpt:15052 to:192.168.232.135