tcpdump
인터페이스 에서 실행 하면 eth0
네트워크 카드로 들어오는 다음 패킷을 볼 수 있습니다.
15:07:47.174643 00:19:e2:9e:df:f0 > 00:01:6c:55:3a:72, ethertype IPv4 (0x0800), length 194: (tos 0x0, ttl 63, id 26045, offset 0, flags [none], proto UDP (17), length 180)
192.0.2.85.53 > 198.51.100.183.57342: 58791*- 1/2/0 0.10.81.in-addr.arpa. SOA test-ns.example.net. hostmaster.example.net. 2010040800 14400 7200 604800 86400 (152)
대상 IP 주소를 198.51.100.183에서 10.10.10.1로 바꾸고 싶습니다. PREROUTING 테이블에는 다음과 같은 규칙이 있습니다.
# iptables -t nat -L PREROUTING -v --line-numbers -n
Chain PREROUTING (policy ACCEPT 175 packets, 14073 bytes)
num pkts bytes target prot opt in out source destination
1 0 0 DNAT udp -- eth0 * 0.0.0.0/0 0.0.0.0/0 udp spt:53 to:10.10.10.1
#
내가 이해한 바로는 포트 53으로 전송된 UDP 트래픽의 대상 IP 주소를 10.10.10.1로 다시 써야 합니다. 그러나 어떤 이유에서인지 이 규칙과 일치하는 항목이 없습니다. 이 문제의 원인은 무엇입니까? 테이블 INPUT
의 체인은 filter
이 트래픽을 허용합니다.