보조 IP 주소를 사용한 IPtables 필터링 및 NAT

보조 IP 주소를 사용한 IPtables 필터링 및 NAT

물리적 eth 인터페이스에 두 개의 IP 주소가 있습니다. 192.168.10.7(eth0:0) 및 192.168.0.7(eth0)을 가정해 보겠습니다. 그래서 작동합니다. 하지만 저는 이 주소 중 하나만 포트 12000에서 작업하는 애플리케이션을 사용합니다. 이 애플리케이션에서는 주소 192.168.0.7에서 작동하도록 내부적으로 설정되어 있습니다. 다음과 같은 방식으로 iptables를 사용하여 주소 192.168.10.7에서도 앱이 작동하도록 설정했습니다.

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -p tcp -d 192.168.10.7 --dport 12000 -j DNAT --to 192.168.0.7:12000

이제 포트 12000을 제외하고 IP 주소 192.168.10.7(인터페이스 eth0:0)로 들어오는 모든 트래픽을 차단하고 싶습니다. 나머지 트래픽은 모두 변경되지 않아야 합니다. 저는 iptables 전문가가 아닙니다. 누구든지 나를 도와줄 수 있나요?

답변1

iptables 규칙이 애플리케이션과 동일한 시스템에서 작동한다고 가정하면 주소와 애플리케이션 포트로 들어오고 나가는 패킷을 허용하는 규칙을 정의해야 합니다. 그런 다음 다른 모든 것을 삭제하면 됩니다. 다음과 같습니다.

iptables -A INPUT -p tcp -d 192.168.10.7 --dport 12000 -j
iptables 허용 -A OUTPUT -p tcp -s 192.168.10.7 --sport 12000 -j

iptables 허용 -A INPUT -j
iptables 삭제 -A OUTPUT - j DROP

관련 정보