!["conntrack -D --src-nat" 명령 후에 새 소스 네트워크 주소 변환이 작동하지 않습니다.](https://linux55.com/image/195625/%22conntrack%20-D%20--src-nat%22%20%EB%AA%85%EB%A0%B9%20%ED%9B%84%EC%97%90%20%EC%83%88%20%EC%86%8C%EC%8A%A4%20%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC%20%EC%A3%BC%EC%86%8C%20%EB%B3%80%ED%99%98%EC%9D%B4%20%EC%9E%91%EB%8F%99%ED%95%98%EC%A7%80%20%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
iptables POSTROUTING
다음 명령을 사용하여 Linux 서버가 보조 IP 주소를 갖도록 구성하고 SNAT(Source Network Address Translation)를 수행했습니다.
ip addr add 10.11.198.99/25 dev eno3
iptables -t nat -A POSTROUTING -p udp -o eno3 -s 10.11.198.45 -d 239.169.45.122 -j SNAT --to 10.11.198.99:60003
이 모든 것이 완벽하게 작동합니다. tcpdump는 소스 IP 주소 10.11.198.45
가 10.11.198.99
.
그런 다음 iptables NAT 테이블을 새로 고쳐 iptables POSTROUTING
체인 규칙을 제거하고, 보조 IP 주소를 제거하고, 다음을 conntrack -D --src-nat
사용하여 흐름 항목을 제거했습니다.
iptables -t nat -F
ip addr del 10.11.198.99/25 dev eno3
conntrack -D --src-nat
그 후 새로운 보조 IP 주소를 추가하고 새로운 iptables POSTROUTING
체인 규칙을 추가했습니다.
ip addr add 10.11.198.79/25 dev eno3
iptables -t nat -A POSTROUTING -p udp -o eno3 -s 10.11.198.45 -d 239.169.45.122 -j SNAT --to 10.11.198.79:60003
이 시점에서는 소스 네트워크 주소 변환이 적용되는 것을 볼 수 없으며 tcpdump
소스 IP 주소가 10.11.198.45
대체되지 않음 을 나타냅니다 10.11.198.79
. 이 conntrack -D --src-nat
명령으로 인해 후속 iptables SNAT POSTROUTING
체인 규칙이 추가되지 않을 것으로 보입니다 .
소스 네트워크 주소 변환이 다시 작동하도록 하려면 어떻게 해야 합니까?