最近因为项目中安全要求,内部服务对外调用必须通过DMZ区出去,初步想搭建代理来实现。后来忽然想到可以使用iptables配置网络转发也可实现,然后就使用这种方式实现。现记录如下:
需求:机器A(172.24.100.50)需要访问机器C(10.25.25.80)的8643端口。
机器A 172.24.100.50 |
||
机器B 172.24.100.66:8888 |
||
机器C 10.25.25.80:8643 |
在机器B上配置iptables转发即可。
1. 安装iptables服务: yum install iptables-services
2. 修改系统配置,使其允许进行转发:sysctl -w net.ipv4.ip_forward=1
3. 添加iptables策略:
iptables -t nat -A PREROUTING -d 172.24.100.66 -p tcp -m tcp --dport 8888 -j DNAT --to-destination 10.25.25.80:8643
iptables -t nat -A POSTROUTING -d 10.25.25.80 -p tcp -m tcp --dport 8643 -j SNAT --to-source 10.25.25.66
4. 保存iptables策略:service iptables save #注意:如果不保存,会话结束策略丢失,保存后永久存在。
5. 验证:直接telnet端口即可。在172.24.100.50的机器上执行:telnet 172.24.100.66 8888, 能通即成功。
转载:https://blog.csdn.net/sulong507/article/details/101310609