使用iptables双重DNAT
一、需求
由于企业内部网络安全问题,往往只开启一个端口供企业外部业务与也企业内部服务器访问。因此需要在企业网关的前端接一个前置机(192.168.0,91),用于供端口映射处理。
整体架构如下,其中:
前置机:192.168.0.91
企业网关:192.168.0.2,开发端口9000
企业内部服务器:192.168.0.92
客户端 → 192.168.0.91:2001 → 192.168.0.2:9000 → 192.168.0.92:2001 客户端 → 192.168.0.91:2002 → 192.168.0.2:9000 → 192.168.0.92:2002
二、实现步骤
步骤1,前置机(192.168.0.91)设置第一层转发
# 启用 IP 转发 echo 1 > /proc/sys/net/ipv4/ip_forward# 2001 → 192.168.0.2:9000 iptables -t nat -A PREROUTING -p tcp --dport 2001 -j DNAT --to-destination 192.168.0.2:9000# 2002 → 192.168.0.2:9000 iptables -t nat -A PREROUTING -p tcp --dport 2002 -j DNAT --to-destination 192.168.0.2:9000# SNAT 规则 iptables -t nat -A POSTROUTING -p tcp -d 192.168.0.2 --dport 9000 -j MASQUERADE
步骤2,在企业网关(192.168.0.2)上设置第二层转发