我试图将来自互联网的流量反映到我只想进行本地访问的内部设备。我的 DMZ 中有一台主机,我正在尝试将 DNAT 流量发送到此内部设备,并且使用 SNAT,因此不需要互联网路由。
在测试中,我能够从本地计算机到此代理主机进行 DNAT/SNAT 并访问内部设备上的资源。然而,当访问路由器上的端口时,我可以看到请求通过 tcpdump 到达代理主机,并且我看到它们增加了 iptables DNAT 规则计数器,但没有建立连接。此外,更多本地测试会增加 DNAT 和 SNAT 规则计数器,但外部流量仅增加 DNAT 计数器。
代理主机仅出于此目的而启动,没有其他服务。有一个接口有两个 IP .254 和 .253,传入流量应到达 .254,并在流向内部设备的途中从 .253 进行 SNAT。内核 IPv4 转发也已启用。
下面是我的 iptables 配置:
# Generated by iptables-save v1.4.7 on Sun Jun 22 22:49:18 2014
*filter
:INPUT ACCEPT [32:4832]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [14:1016]
-A INPUT -p tcp -m tcp --dport 443 -j MARK --set-mark 7
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i admin -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -i admin -p udp -m state --state NEW -m udp --dport 161 -j ACCEPT
-A INPUT -i local -p tcp -m state --state NEW -m tcp --dport 5308 -j ACCEPT
-A INPUT -i admin -p tcp -m state --state NEW -m tcp --dport 10050 -j ACCEPT
-A FORWARD -d 10.254.254.1/32 -p tcp -m state --state NEW,RELATED,ESTABLISHED -mm
tcp --dport 443 -j ACCEPT
-A FORWARD -j ACCEPT
-A INPUT -j ACCEPT
-A OUTPUT -j ACCEPT
COMMIT
# Completed on Sun Jun 22 22:49:18 2014
# Generated by iptables-save v1.4.7 on Sun Jun 22 22:49:18 2014
*mangle
:PREROUTING ACCEPT [73:6562]
:INPUT ACCEPT [33:4290]
:FORWARD ACCEPT [18:972]
:OUTPUT ACCEPT [18:1408]
:POSTROUTING ACCEPT [27:1624]
-A INPUT -s 173.214.161.60 -j MARK --set-xmark 0x6/0xffffffff
-A FORWARD -s 173.214.161.60 -j MARK --set-xmark 0x5/0xffffffff
-A POSTROUTING -s 173.214.161.60 -j MARK --set-xmark 0x4/0xffffffff
-A PREROUTING -s 173.214.161.60 -j MARK --set-xmark 0x3/0xffffffff
-A OUTPUT -s 173.214.161.60 -j MARK --set-xmark 0x2/0xffffffff
COMMIT
# Completed on Sun Jun 22 22:49:18 2014
# Generated by iptables-save v1.4.7 on Sun Jun 22 22:49:18 2014
*nat
:PREROUTING ACCEPT [31:3139]
:POSTROUTING ACCEPT [14:1016]
:OUTPUT ACCEPT [14:1016]
-A PREROUTING -d 10.254.254.254/32 -i dmz -j DNAT --to-destination 10.254.254.2
-A POSTROUTING -o dmz -j SNAT --to-source 10.254.254.253
COMMIT
# Completed on Sun Jun 22 22:49:18 2014