使用iptables双重DNAT

使用iptables双重DNAT

一、需求

由于企业内部网络安全问题,往往只开启一个端口供企业外部业务与也企业内部服务器访问。因此需要在企业网关的前端接一个前置机(192.168.0,91),用于供端口映射处理。

整体架构如下,其中:

前置机:192.168.0.91

企业网关:192.168.0.2,开发端口9000

企业内部服务器:192.168.0.92

客户端 → 192.168.0.91:2001192.168.0.2:9000192.168.0.92:2001
客户端 → 192.168.0.91:2002192.168.0.2:9000192.168.0.92:2002

二、实现步骤

步骤1,前置机(192.168.0.91)设置第一层转发

# 启用 IP 转发
echo 1 > /proc/sys/net/ipv4/ip_forward# 2001192.168.0.2:9000
iptables -t nat -A PREROUTING -p tcp --dport 2001 -j DNAT --to-destination 192.168.0.2:9000# 2002192.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)上设置第二层转发