eth0 (192.168.1.0/24) --> wan
eth2 (192.168.10.0/24) --> lan0
다음 규칙을 사용하여 Linux 게이트웨이에서 NAT를 활성화합니다.
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth2 -o eth0 -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
일부 온라인 가이드에서 이와 같은 규칙을 읽는 이유는 무엇입니까?
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -s 192.168.10.0/24 -d 0/0 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -d 192.168.10.0/24 -j ACCEPT
iptables -A FORWARD -s 192.168.10.0/24 -j ACCEPT
iptables -A FORWARD -d 192.168.10.0/24 -j ACCEPT
답변1
이 두 줄을 사용하는 경우:
iptables -A FORWARD -s 192.168.10.0/24 -j ACCEPT
iptables -A FORWARD -d 192.168.10.0/24 -j ACCEPT
따라서 보안 측면에서 다음 두 가지는 가치가 없습니다.
iptables -A FORWARD -s 192.168.10.0/24 -d 0/0 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -d 192.168.10.0/24 -j ACCEPT
첫째 iptables -A FORWARD -s 192.168.10.0/24 -d 0/0 -j ACCEPT
, 이로 인해 서브넷 iptables
의 192.168.10.0/24
패킷이 0/0
다른 모든 네트워크로 전달됩니다. 나중에 당신은 iptables -A FORWARD -s 192.168.10.0/24 -j ACCEPT
이 두 규칙이 실제로 같은 것을 의미한다는 것을 깨닫게 됩니다.
For는 패킷이 원본 또는 소스에서 발생하는 경우에만 전송된 모든 패킷을 수락하고 전달 iptables -A FORWARD -m state --state ESTABLISHED,RELATED -d 192.168.10.0/24 -j ACCEPT
합니다 . iptables
나중에 첫 번째 규칙을 쓸모 없게 만들도록 설계된 모든 패킷을 전달하는 몇 가지 충돌하는 규칙이 있게 됩니다. 왜냐하면 전송된 모든 패킷은 첫 번째 규칙과 일치하지 않기 때문입니다. 그러나 어쨌든 패킷은 전달됩니다.192.168.10.0/24
ESTABLISHED
RELATED
iptables -A FORWARD -d 192.168.10.0/24 -j ACCEPT
192.168.10.0/24
192.168.10.0/24