저는 네트워크와 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
당신이 뭘 잘못하고 있는지 모르겠지만 여기에 예가 있습니다. 설정: 두 개의 네트워크 네임스페이스 ns0
와 ns1
두 veth
쌍의 기본 네임스페이스 전달:
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
. ns0
NAT 없이 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가 작동하고 있음을 명확하게 확인할 수 있습니다.
내가 말했듯이, 패킷을 덤프해야 합니다.둘 다출력 및 입력 인터페이스.