iptables v1.4.21: No se pudo cargar la coincidencia `-d': No existe tal archivo o directorio

iptables v1.4.21: No se pudo cargar la coincidencia `-d': No existe tal archivo o directorio

Estoy ejecutando kerenl 3.14.18 y usando iptables 1.4.21, creado con estas opciones --static-enable --disable-shared. cuando ejecuto este comando: /sbin/iptables -A PREROUTING -m -d 127.3.0.2/24 -j DNAT --to-destination 10.0.0.1 -p udp -dport 69 aparece este mensaje de error: iptables v1.4.21: No se pudo cargar la coincidencia `-d': No existe tal archivo o directorio

¿Puede alguna ayuda explicar lo que me falta? gracias de antemano.

Respuesta1

hola, tengo un sistema host con 2 interfaces, eth0 y eth1. eth0 recibirá paquetes con ip de 127.3.xx. Quiero reenviar estos paquetes para que salgan de eth1 a un servidor (10.0.1). eth1 tiene una ip de 192.168.0.100. el servidor necesita ver los paquetes como si vinieran del host (192.168.0.100). Creo que puedo eliminar el indicador -m, pero cuando lo hago, aparece este error: iptables v1.4.21: no se permiten varios indicadores -d

Para lograr esto, deberá utilizar las siguientes reglas de iptables:

iptables -t nat -A PREROUTING -d 127.3.0.2/24 -p udp --dport 69 -j DNAT --to-destination 10.0.0.1 iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 192.168.0.100

Pero deberías reemplazar 127.3.0.2/24 con una única IP (es decir, 127.3.0.2) o un rango CIDR válido (por ejemplo, 127.3.0.0/24). 127.3.0.2/24 no es un rango CIDR válido ya que /24 cubriría 127.3.0.0-127.3.0.254. Esto también redirigiría cualquier tráfico a cualquier IP en ese rango al puerto 69 en 10.0.0.1.

Además, dado que el puerto 69 es TFTP, me siento obligado a mencionarlo: si intenta utilizarlo para un arranque PXE u otra solución basada en DHCP, es muy probable que no funcione, ya que la mayoría de los proveedores tienen problemas para atravesar subredes usando PXE. .

información relacionada