3 votos

¿Por qué no necesité una horquilla NAT con mi configuración DD-WRT?

Mi viejo router DD-WRT se estaba muriendo, así que me agarró un UniFi EdgeRouter, que es, estilísticamente, mucho más como un "verdadero router". Tengo varias IPs públicas que tengo 1-a-1 configuración de NAT, es decir, el sistema interno de IP de 192.168.123.134 , y cualquier peticiones externas a 173.13.139.236 se traducen a la IP interna y la espalda.

Con el nuevo router, he tenido que además de instalación de la horquilla de las reglas de NAT, por lo que los sistemas internos podría llegar a 173.13.139.236 , por que sus solicitudes sean traducidos a la IP interna, pero con una fuente de IP en el router (es decir, haciéndose pasar NAT).

(El tema específico, como yo lo entiendo, es que si usted acaba de NAT de un paquete a partir de una dirección interna, de modo que su destino es también a una dirección interna, entonces la respuesta simplemente vuelve directamente al solicitante, pero el solicitante envía su paquete al router, así que cuando se ve la respuesta de regresar de la no-el-router, se descarta el paquete no válido.)

Con mi router DD-WRT, no tuve que hacer la horquilla de la regla de NAT, y no entiendo por qué.

En concreto, toda la config para que la IP de mi DD-WRT sistema, por lo que yo sé!, fue:

iptables -t nat -I PREROUTING -d 173.13.139.236 -j DNAT --to 192.168.123.134
iptables -t nat -I POSTROUTING -s 192.168.123.134 -j SNAT --to 173.13.139.236
iptables -I FORWARD -d 192.168.123.134 -j ACCEPT

Esto, de hecho, el trabajo. De hecho, funcionó durante años. Por qué?

Es totalmente posible que exista alguna otra config en el DD-WRT de instalación que se encarga de esto, pero si no hay, no tengo idea de donde sería; he revisado la totalidad de la config, cuando me cambié de los routers, y he visto nada relacionado con esas IPs.

3voto

HBruijn Puntos 16577

Creo que el DD-WRT interfaz que se utiliza el término "Internet de NAT Redirección" para la corrección de la horquilla de problemas de NAT que se activa por defecto y porque probablemente "sólo funcionan como se esperaba" usted simplemente no eran conscientes de su existencia.

En lugar de en específico IP-direcciones y los números de puerto) que probablemente fue efectuada en/con iptables con un genérico y no muy evidente en busca de la regla para el tráfico de la WAN de la interfaz (no necesariamente por su dirección IP) se originan a partir de sus redes LAN/interfaces o con un efecto similar, para el tráfico que NO son originarios de la WAN.

Creo que a lo largo de las líneas de

insmod ipt_mark 
insmod xt_mark 
iptables -t mangle -A PREROUTING -i ! `get_wanface` -d `nvram get wan_ipaddr` -j MARK --set-mark 0xd001 
iptables -t mangle -A PREROUTING -j CONNMARK --save-mark 
iptables -t nat -A POSTROUTING -m mark --mark 0xd001 -j MASQUERADE

Fuente: https://forum.dd-wrt.com/phpBB2/viewtopic.php?p=545301

1voto

rlpowell Puntos 126

Siguientes a partir de algunos de los subprocesos establecidos por HBruijn la respuesta, y algunos de iptables vertidos desde el router en sí, creo que lo he encontrado. No podía haber llegado allí sin HBruijn la respuesta, pero no estaba en el nivel de detalle que yo quería, así que pensé en compartir.

https://svn.dd-wrt.com/ticket/1868 es un informe de fallo en un problema donde loopback estaba roto, y da el ejemplo simple comando:

iptables -t nat -I POSTROUTING -o br0 -s 192.168.1.0/24 -d 192.168.1.0/24 -j MASQUERADE

Un número de lugares mencionados una opción en particular, tales como https://forum.dd-wrt.com/phpBB2/viewtopic.php?t=82919&postdays=0&postorder=dsc&start=0 :

En su webgui en Seguridad > Firewall

Usted está asegurándose de tener "Filtro WAN Redirección NAT" sin marcar?

Lo que me llevó a https://forum.dd-wrt.com/phpBB2/viewtopic.php?p=643132 , que muestra los cambios específicos que se que opción de las causas, lo que pude comprobar en mi propio router directamente.

Con "Filtro WAN Redirección NAT" desactivada:

root@Basement Router:~# iptables -L -v -n -t nat
Chain PREROUTING (policy ACCEPT 2438 packets, 173K bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DNAT       0    --  *      *       0.0.0.0/0            173.13.139.237      to:192.168.123.133
    0     0 DNAT       0    --  *      *       0.0.0.0/0            173.13.139.236      to:192.168.123.134
    0     0 DNAT       0    --  *      *       0.0.0.0/0            173.13.139.235      to:192.168.123.132
    0     0 DNAT       icmp --  *      *       0.0.0.0/0            173.13.139.233      to:192.168.123.254
    0     0 TRIGGER    0    --  *      *       0.0.0.0/0            173.13.139.233      TRIGGER type:dnat match:0 relate:0

Chain POSTROUTING (policy ACCEPT 3 packets, 174 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 SNAT       0    --  *      *       192.168.123.133      0.0.0.0/0           to:173.13.139.237
    0     0 SNAT       0    --  *      *       192.168.123.134      0.0.0.0/0           to:173.13.139.236
    0     0 SNAT       0    --  *      *       192.168.123.132      0.0.0.0/0           to:173.13.139.235
 2444  140K SNAT       0    --  *      vlan1   0.0.0.0/0            0.0.0.0/0           to:173.13.139.233
    0     0 RETURN     0    --  *      br0     0.0.0.0/0            0.0.0.0/0           PKTTYPE = broadcast
    1   339 MASQUERADE  0    --  *      br0     192.168.123.0/24     192.168.123.0/24

Chain OUTPUT (policy ACCEPT 847 packets, 55575 bytes)
 pkts bytes target     prot opt in     out     source               destination

Con "Filtro WAN Redirección NAT" marcado:

root@Basement Router:~# iptables -L -v -n -t nat
Chain PREROUTING (policy ACCEPT 957 packets, 64933 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DNAT       0    --  *      *       0.0.0.0/0            173.13.139.237      to:192.168.123.133
    0     0 DNAT       0    --  *      *       0.0.0.0/0            173.13.139.236      to:192.168.123.134
    0     0 DNAT       0    --  *      *       0.0.0.0/0            173.13.139.235      to:192.168.123.132
    0     0 DNAT       icmp --  *      *       0.0.0.0/0            173.13.139.233      to:192.168.123.254
    0     0 TRIGGER    0    --  *      *       0.0.0.0/0            173.13.139.233      TRIGGER type:dnat match:0 relate:0

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 SNAT       0    --  *      *       192.168.123.133      0.0.0.0/0           to:173.13.139.237
    0     0 SNAT       0    --  *      *       192.168.123.134      0.0.0.0/0           to:173.13.139.236
    0     0 SNAT       0    --  *      *       192.168.123.132      0.0.0.0/0           to:173.13.139.235
 1025 57947 SNAT       0    --  *      vlan1   0.0.0.0/0            0.0.0.0/0           to:173.13.139.233
    0     0 DROP       0    --  *      br0     192.168.123.0/24     192.168.123.0/24

Chain OUTPUT (policy ACCEPT 348 packets, 22743 bytes)
 pkts bytes target     prot opt in     out     source               destination

La diferencia es que con desmarcada tiene:

Chain POSTROUTING (policy ACCEPT 3 packets, 174 bytes)
 pkts bytes target     prot opt in     out     source               destination
    1   339 MASQUERADE  0    --  *      br0     192.168.123.0/24     192.168.123.0/24

y con marcada, que se convierte en una CAÍDA de la regla.

Por lo que si entiendo lo que está pasando aquí correctamente, con el "Filtro de WAN Redirección NAT" unchecked (que parece que no haría nada), lo que en realidad sucede, como ustedes, dijo, es el comportamiento por defecto de los router enmascaramiento de cada conexión de la red local que viene de cualquier no-puerto WAN.

Para una conexión de un aleatoria de direcciones DHCP, en mi caso decir 192.168.123.10, a uno de mis direcciones ip estática, decir 173.13.139.236, iría:

192.168.123.10 -> 173.13.139.236
After PREROUTING: 192.168.123.10 -> 192.168.123.134
After POSTROUTING: 192.168.123.254 [that's the router] on some high port -> 192.168.123.134

Y luego la vuelta de paquetes:

192.168.123.134 -> 192.168.123.254/high-port
After ... whatever un-does MASQUERADE: 192.168.123.134 -> 192.168.123.10
After PREROUTING: 173.13.139.236 -> 192.168.123.10

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: