NAT의 실시간 상태를 확인하는 방법은 무엇입니까?

NAT의 실시간 상태를 확인하는 방법은 무엇입니까?

저는 네트워크와 VPN에 대한 문제 해결을 수행하고 있으며 트래픽을 모니터링하고 SNAT와 DNAT가 제대로 작동하는지 확인하고 싶습니다. tcpdump와 같은 라이브 콘텐츠를 원하면 다음과 같은 내용을 볼 수 있습니다.

192.168.25.40 <----> 172.16.30.245 icmp 에코 요청 194.30.25.10 194.30.25.10 icmp 에코 응답 172.26.30.245 <----> 192.168.25.40

tcpdump, itraf 또는 iftop을 사용하여 이 작업을 수행할 수 있습니까? 아니면 실시간으로 NAT를 보는 데 사용할 수 있는 다른 도구가 있습니까?

감사해요

답변1

당신이 뭘 잘못하고 있는지 모르겠지만 여기에 예가 있습니다. 설정: 두 개의 네트워크 네임스페이스 ns0ns1veth쌍의 기본 네임스페이스 전달:

ns0          <------- main ------->     ns1
veth0b   --- veth0a          veth1a --- veth1b
10.0.0.1     10.0.0.254  10.0.1.254     10.0.1.1

tcpdump및 에서 veth0a간단한 작업을 수행합니다 veth1a. ns0NAT 없이 Ping을 실행하면 다음 ns1이 표시됩니다.

IP 10.0.1.1 > 10.0.0.1: ICMP echo request, id 20765, seq 1, length 64
IP 10.0.0.1 > 10.0.1.1: ICMP echo reply, id 20765, seq 1, length 64

veth0a, 에 veth1a:

IP 10.0.1.1 > 10.0.0.1: ICMP echo request, id 20765, seq 1, length 64
IP 10.0.0.1 > 10.0.1.1: ICMP echo reply, id 20765, seq 1, length 64

SNAT를 활성화 veth0a한 후

iptables -t nat -A POSTROUTING -o veth0a -s 10.0.1.1/32 -j SNAT --to 10.0.1.90

있다veth0a

IP 10.0.1.90 > 10.0.0.1: ICMP echo request, id 20795, seq 1, length 64
IP 10.0.0.1 > 10.0.1.90: ICMP echo reply, id 20795, seq 1, length 64

켜져 있을 때veth1a

IP 10.0.1.1 > 10.0.0.1: ICMP echo request, id 20795, seq 1, length 64
IP 10.0.0.1 > 10.0.1.1: ICMP echo reply, id 20795, seq 1, length 64

이렇게 하면 SNAT가 작동하고 있음을 명확하게 확인할 수 있습니다.

내가 말했듯이, 패킷을 덤프해야 합니다.둘 다출력 및 입력 인터페이스.

관련 정보