인터넷에서 로컬 액세스만 원하는 내부 장치로 트래픽을 미러링하려고 합니다. DMZ에 호스트가 있고 SNAT를 사용하여 DNAT 트래픽을 이 내부 장치로 보내려고 합니다. 따라서 인터넷 라우팅이 필요하지 않습니다.
테스트에서는 로컬 컴퓨터에서 이 프록시 호스트로 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