iptables -t nat -L -n

iptables -t nat -L -n

Tengo una caja Debian Jessie en 192.168.1.5 conectada al enrutador (en 192.168.1.1) ejecutando un cliente OpenVPN (en realidad es un Pi que usaesta configuración. La única diferencia es que la IP eth0 del Pi es estática debido al enrutador (es decir, el Pi está usando el DHCP del enrutador).

Cuando los clientes LAN están configurados para usar 192.168.1.5 como puerta de enlace, están en la VPN, como está previsto.

Lo que necesito es que los clientes LAN dentro de 192.168.1.128/25 tengan todo su tráfico redirigido a 192.168.1.5, inclusocuando su IP está configurada por el DHCP del enrutadory su puerta de enlace pasa a ser 192.168.1.1. En otras palabras,Los clientes dentro de 192.168.1.128/25 deberían funcionar como si su puerta de enlace fuera 192.168.1.5.

¿Cuál es la configuración iptablesy/o route addla configuración que debe tener el enrutador para hacer esto?(¿El enrutador ejecuta Tomato 3.4-138)? Estas son las configuraciones del enrutador:

iptables -t nat -L -n

Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
WANPREROUTING  all  --  0.0.0.0/0            wan_ip
upnp       all  --  0.0.0.0/0            wan_ip

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  all  --  0.0.0.0/0            0.0.0.0/0
SNAT       all  --  192.168.1.0/24       192.168.1.0/24       to:192.168.1.1
SNAT       all  --  172.16.1.0/24        172.16.1.0/24        to:172.16.1.1

Chain WANPREROUTING (1 references)
target     prot opt source               destination
DNAT       icmp --  0.0.0.0/0            0.0.0.0/0            to:192.168.1.1
DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:443 to:192.168.1.1:443
DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:2222 to:192.168.1.5:22
DNAT       all  --  0.0.0.0/0            0.0.0.0/0            to:192.168.1.4

Chain pupnp (0 references)
target     prot opt source               destination

Chain upnp (1 references)
target     prot opt source               destination
DNAT       udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:55355 to:192.168.1.130:55355
DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:55355 to:192.168.1.130:55355
DNAT       udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:5353 to:192.168.1.48:5353
DNAT       udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:4500 to:192.168.1.48:4500

iptables-L

Chain INPUT (policy DROP)
target     prot opt source               destination
DROP       all  --  anywhere             anywhere             state INVALID
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
shlimit    tcp  --  anywhere             anywhere             tcp dpt:ssh state NEW
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https

Chain FORWARD (policy DROP)
target     prot opt source               destination
           all  --  anywhere             anywhere            account: network/netmask: 192.168.1.0/255.255.255.0 name: lan
           all  --  anywhere             anywhere            account: network/netmask: 172.16.1.0/255.255.255.0 name: lan1
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
DROP       all  --  anywhere             anywhere             state INVALID
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
DROP       all  --  anywhere             anywhere
DROP       all  --  anywhere             anywhere
wanin      all  --  anywhere             anywhere
wanout     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
upnp       all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             SIP-Device

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain shlimit (1 references)
target     prot opt source               destination
           all  --  anywhere             anywhere             recent: SET name: shlimit side: source
DROP       all  --  anywhere             anywhere             recent: UPDATE seconds: 60 hit_count: 4 name: shlimit side: source

Chain upnp (1 references)
target     prot opt source               destination
ACCEPT     udp  --  anywhere             client-1                udp dpt:55355
ACCEPT     tcp  --  anywhere             client-1                tcp dpt:55355
ACCEPT     udp  --  anywhere             client-2          udp dpt:mdns
ACCEPT     udp  --  anywhere             client-2          udp dpt:4500

Chain wanin (1 references)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             *Pi*               tcp dpt:ssh

Chain wanout (1 references)
target     prot opt source               destination

ruta

(el enrutador se encuentra detrás del módem WAN)

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
modem.ip.0.1    *               255.255.255.255 UH    0      0        0 vlan2
192.168.1.0     *               255.255.255.0   U     0      0        0 br0
172.16.1.0      *               255.255.255.0   U     0      0        0 br1
modem.ip.0.0    *               255.255.224.0   U     0      0        0 vlan2
127.0.0.0       *               255.0.0.0       U     0      0        0 lo
default         modem.ip.0.1    0.0.0.0         UG    0      0        0 vlan2

Respuesta1

De alguna manera no se puede conectar un enrutador y RaspPi al mismo segmento de LAN y esperar que RaspPi reescriba los paquetes que otros clientes envían a la LAN. Esto parece ser una pregunta frecuente, la gente intenta con la suplantación de ARP y todo eso. Pero la creación de redes no está destinada a funcionar de esta manera.

La solución limpia es poner tododetrásla RaspPi:

Router --- [eth0] RaspPi [eth1] --- Switch +--- Client1
                                           +--- Client2
                                           +--- Client3

Básicamente, desea que su RaspPi actúe como un segundo enrutador. Eso significa que necesita una segunda interfaz LAN. Coloque un servidor DHCP en su enrutador, posiblemente habilite NAT en el RaspPi de la VPN, no puede manejar una subred y ya está todo listo.

Una alternativa es activar VPNenel enrutador en sí, si puede obtener acceso de root o flashear OpenWRT, etc.

Otra alternativa es desactivar el servidor DHCP en su enrutador, luego puede conectar el RaspPi y el enrutador al mismo segmento LAN y solo necesita una interfaz LAN en el RaspPi.

información relacionada