포트 53의 AP에서 9053을 수신하는 사용자 지정 DNS 서버로 UDP 트래픽을 전달하기 위해 포트 전달 규칙을 적용하려고 합니다. 다양한 통화를 시도했습니다. 그들 중 누구도 직업이 없습니다. 캘리에서 먹어봤는데 아래에서는 전달 규칙을 적용하기 전의 출력을 찾을 수 있습니다.
iptables -S; iptables -S -t nat
********* NAT *************
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 MASQUERADE all -- * * 10.42.0.0/24 !10.42.0.0/24
********* FILTER *************
Chain INPUT (policy ACCEPT 33 packets, 7260 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT udp -- wlan0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:67
0 0 ACCEPT tcp -- wlan0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:67
0 0 ACCEPT udp -- wlan0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:53
0 0 ACCEPT tcp -- wlan0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:53
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- * wlan0 0.0.0.0/0 10.42.0.0/24 state RELATED,ESTABLISHED
0 0 ACCEPT all -- wlan0 * 10.42.0.0/24 0.0.0.0/0
0 0 ACCEPT all -- wlan0 wlan0 0.0.0.0/0 0.0.0.0/0
0 0 REJECT all -- * wlan0 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
0 0 REJECT all -- wlan0 * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
다음은 내가 적용하려고 시도한 규칙이지만 그 중 아무 것도 작동하지 않았습니다.
sudo iptables -t nat -A PREROUTING -p udp -i wlan0 --dport 53 -j REDIRECT --to-ports 9053
그런데 9053은 무작위이기 때문에 지속되어서는 안 됩니다.
참고 사항: 1. ip_forward 플래그가 1로 설정됨
Wireshark가 ICMP 오류 응답을 반환하고 포트에 연결할 수 없으며 대상에 연결할 수 없습니다.
WiFi 설정에서 공유 연결 기능을 사용했습니다 – IdanE
Linux에서 로컬로 실행되고 9053에서 수신 대기하는 DNS 서비스를 설정했습니다. 서비스가 예상대로 실행됩니다(nslookup을 사용하여 직접 통신합니다.
다른 TCP 전달 규칙은 함께 사용할 다른 서비스를 찾습니다. UDP 리디렉션과 관련이 있습니다.