Configure iptables para establecer la puerta de enlace predeterminada para la red local

Configure iptables para establecer la puerta de enlace predeterminada para la red local

Tengo un enrutador openwrt con ip 192.168.1.1. Lo que quiero hacer es configurar un servidor proxy (192.168.1.249) en LAN e interceptar todas las comunicaciones desde dos dispositivos (192.168.1.244, 192.168.1.131). El método que uso es configurar el servidor proxy como puerta de enlace predeterminada y configuré las siguientes cosas en mi enrutador openwrt.

iptables -t mangle -A PREROUTING -j MARK --set-mark 3 -p tcp -s 192.168.1.131
iptables -t mangle -A PREROUTING -j MARK --set-mark 3 -p tcp -s 192.168.1.244
# Set default gateway as the proxy server in table 2
ip route add default via 192.168.1.249 table 2
# Forward traffic with mark 3 to table 2
ip rule add fwmark 3 table 2

Después de mi prueba, para todas las comunicaciones WAN de los dos dispositivos, el servidor proxy puede interceptarlas y reenviarlas, eso es bueno.Sin embargo, descubrí que estos dos dispositivos también se comunican entre sí y estas comunicaciones LAN parecen no reenviarse al servidor proxy.. ¿Cuál es la razón? ¿Cómo puedo reenviar este tráfico al servidor proxy?

PRUEBA: Para saber si configurar iptables es útil, agregué una regla para probar:

iptables -t mangle -A PREROUTING -j DROP -s 192.168.1.131

En mi opinión, si esta regla funciona, entonces el dispositivo con ip 244 no recibirá ningún tráfico del dispositivo con ip 131, y esto prueba que iptables puede funcionar para la comunicación LAN. Sin embargo, utilicé el dispositivo 131 para enviar tráfico tcp al dispositivo 244 y funciona. Dudo que configurar iptables no pueda ayudarme a reenviar este tráfico LAN a mi servidor proxy. ¿Estoy en lo cierto?

Respuesta1

Supongo que su subred IP es 192.168.1.0/24, lo que significa que todas las direcciones IP que comienzan con 192.168.1están en el mismo dominio de transmisión L2, es decir, conectadas al mismo conmutador.

Los dispositivos que están en la misma subred IP se comunican directamente entre sí a través de la "conectividad" de capa 2; no se produce ningún enrutamiento de capa 3.

IPTables es un mecanismo que realiza firewall en paquetes enrutados entre diferentes subredes. No ve ningún tráfico que los mismos hosts de subred se envíen entre sí.

Si desea instalar un firewall entre los dos hosts, existen un par de opciones:

  1. Mueva los hosts a diferentes subredes (por ejemplo 192.168.1.0/24y 192.168.2.0/24) y establezca la ruta del enrutador entre las dos subredes.
  2. Instale dos segmentos Ethernet diferentes y configure su enrutador como puente entre los segmentos. Luego se pueden configurar IPTables para filtrar paquetes entre los dos segmentos de Ethernet.

información relacionada