%20no%20puede%20detectar%20el%20tr%C3%A1fico%20de%20paquetes%20udp%20con%20restricciones%20de%20puerto%20de%20destino.png)
Información del sistema operativo.
Linux raspberrypi 4.14.98-v7+ o Linux debian-stretch-1 4.9.0-11-amd64
¿Qué pasó?
Inicio un servicio (ss-redir) que puede redirigir el tráfico udp
Este servicio abre el puerto udp 1080.
Quiero redirigir todas las consultas de DNS al puerto udp 127.0.0.1:1080
¿Qué hiciste?
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
¿Qué esperabas ver?
Varios paquetes UDP han pasado por la cadena PREROUTING
La cantidad exacta debe mostrarse en la primera columna (paquetes) y segunda (bytes).
¿Qué viste en su lugar?
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
Configuración en detalle.
root@User:~# cat /etc/resolv.conf
nameserver 8.8.8.8
este es mi servicio
root@User:~# netstat -ntulp
udp 0 0 0.0.0.0:1080 0.0.0.0:* 3771/ss-redir
¿Entonces que hiciste?
Parece que el puerto de destino de la consulta DNS no es 53, los paquetes fueron capturados por Wireshark indican que el puerto es 53 y la IP de destino es 8.8.8.8.
Entonces agregué algunas otras reglas antes de esa en la cadena PREROUTING:
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
entonces corre
nslookup www.google.com
iptables -t mangle -L -nv
La salida se ve así:
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
Los paquetes UDP aún no pasan ss-redir
No sé qué hice mal. Esta pregunta me está volviendo loco. ¿Alguien me ayudará?
Cualquier consejo es muy apreciado.
Muchas gracias