%20kann%20UDP-Paketverkehr%20mit%20Einschr%C3%A4nkungen%20des%20Zielports%20nicht%20erkennen.png)
Informationen zum Betriebssystem.
Linux RaspberryPi 4.14.98-v7+ oder Linux Debian-Stretch-1 4.9.0-11-AMD64
Was ist passiert?
Ich starte einen Dienst (ss-redir), der UDP-Verkehr umleiten kann
Dieser Dienst öffnet den UDP-Port 1080
Ich möchte alle DNS-Abfragen auf den UDP-Port 127.0.0.1:1080 umleiten
Was hast du gemacht?
ip route add local default dev lo table 100
ip rule add fwmark 1 lookup 100
iptables -t mangle -A PREROUTING -p udp --dport 53 -j TPROXY --on-port 1080 --tproxy-mark 0x01/0x01
nslookup www.google.com
Was haben Sie erwartet zu sehen?
Mehrere UDP-Pakete haben die PREROUTING-Kette durchlaufen
Der genaue Betrag sollte in der ersten (Pakete) und zweiten (Bytes) Spalte angezeigt werden.
Was haben Sie stattdessen gesehen?
pkts bytes target prot opt in out source destination
0 0 TPROXY udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:53 TPROXY redirect 0.0.0.0:1080 mark 0x1/0x1
Konfiguration im Detail.
root@User:~# cat /etc/resolv.conf
nameserver 8.8.8.8
das ist mein Service
root@User:~# netstat -ntulp
udp 0 0 0.0.0.0:1080 0.0.0.0:* 3771/ss-redir
Was hast du dann getan?
Es scheint, dass der Zielport der DNS-Abfrage nicht 53 ist. Die von Wireshark erfassten Pakete zeigen an, dass der D-Port 53 und die Ziel-IP 8.8.8.8 ist.
Daher habe ich vor dieser Regel der PREROUTING-Kette noch einige andere Regeln hinzugefügt:
iptables -t mangle -I PREROUTING --prot udp -d myserverip/32 -j RETURN
iptables -t mangle -I PREROUTING --prot udp -d 192.168.128.10/32 -j RETURN
iptables -t mangle -I PREROUTING --prot udp -d 127.0.0.0/24 -j RETURN
dann renne
nslookup www.google.com
iptables -t mangle -L -nv
Die Ausgabe sieht folgendermaßen aus:
Chain PREROUTING (policy ACCEPT 90 packets, 6699 bytes)
pkts bytes target prot opt in out source destination
0 0 RETURN udp -- * * 0.0.0.0/0 myserverip
1 29 RETURN udp -- * * 0.0.0.0/0 127.0.0.0/24
0 0 RETURN udp -- * * 0.0.0.0/0 192.168.128.10
0 0 TPROXY udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:53 TPROXY redirect 0.0.0.0:1080 mark 0x1/0x1
UDP-Pakete passieren immer noch nicht ss-redir
Ich weiß nicht, was ich falsch gemacht habe. Diese Frage macht mich verrückt. Kann mir jemand helfen?
Jeder Ratschlag wird sehr geschätzt.
Vielen Dank