Enrutador/cortafuegos Raspbian

Enrutador/cortafuegos Raspbian

Hola compañeros superusuarios,

Aquí está la topología de mi LAN. PÁLIDO-módem-enrutador-firewall-Enrutador-firewall Pi-máquinas LAN.

Utilizo una máquina de prueba en la LAN: bob.

No puedo acceder a los sitios de Internet desde Bob, aparece "host de destino inalcanzable".

Aquí están mis rutas:

rutas en bob (anonimizado):

predeterminado a través depi-enrutador-iface-lan-interior-eth0desarrollador eth0 srcbob-ipmétrica 202

LAN interna/24 dev eth0 proto dhcp alcance enlace srcbob-ipmétrica 202

lan-más allá-pi-router (módem + pi-iface-eth1)/24 víapi-enrutador-lan-interior-iface-eth0desarrollador eth0

rutas en el enrutador pi:

predeterminado a través depi-enrutador-iface-interno-eth0desarrollador eth0 srcpi-enrutador-iface-interno-eth0métrica 202

predeterminado a través deenrutador-pi-iface-exterior-eth1desarrollador eth1 srcenrutador-pi-iface-exterior-eth1métrica 203

LAN interna/24 dev eth0 proto dhcp alcance enlace srcpi-enrutador-iface-interno-eth0métrica 202

LAN-más allá-del-enrutador-pi/24 dev eth1 proto dhcp alcance enlace srcenrutador-pi-iface-exterior-eth1métrica 203

Yo uso ufw para filtros y nat. Esta es mi propia idea, no estoy completamente seguro: como no puedo configurar una ruta vía en el módem, habilité NAT en la interfaz "externa" (eth1) del enrutador Pi (interfaz en el lado del módem). Aquí está mi configuración de ufw:

'#

'# reglas.antes

'#

'# Reglas que deben ejecutarse antes de que la línea de comando ufw agregue reglas. Costumbre

'Se deben agregar # reglas a una de estas cadenas:

'# ufw-antes-de-entrada

'# ufw-antes-de-salida

'# ufw-antes-adelante

'#

'# nat Reglas de la tabla

*nat

:POSTOUTING ACEPTAR - [0:0]

'# Reenviar tráfico desde eth0 hasta eth1

-A POSTROUTING -s 10.0.0.0/24 -o eth1 -j MASCARADA

'#adición personal, no estoy seguro

-A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASCARADA

'# no elimine la línea 'COMMIT' o estas reglas de la tabla nat no se procesarán

COMPROMETERSE

'# No elimine estas líneas requeridas, de lo contrario habrá errores

*filtrar

:ufw-antes-de-entrada - [0:0]

:ufw-antes-de-salida - [0:0]

:ufw-antes-adelante - [0:0]

:ufw-no-local - [0:0]

'# Finalizar líneas requeridas

'# permitir todo en loopback

-A ufw-antes-de-entrada -i lo -j ACEPTAR

-A ufw-antes-de-salida -o lo -j ACEPTAR

'# procesar rápidamente paquetes para los que ya tenemos conexión

-A ufw-antes-de-entrada -m conntrack --ctstate RELACIONADO,ESTABLECIDO -j ACEPTAR

-A ufw-antes-de-salida -m conntrack --ctstate RELACIONADO,ESTABLECIDO -j ACEPTAR

-A ufw-antes-adelante -m conntrack --ctstate RELACIONADO,ESTABLECIDO -j ACEPTAR

'# soltar paquetes NO VÁLIDOS (los registra en nivel de registro medio y superior)

-A ufw-antes-de-entrada -m conntrack --ctstate INVALID -j ufw-logging-deny

-A ufw-antes-de-entrada -m conntrack --ctstate INVALID -j DROP

'# ok códigos icmp para ENTRADA

-A ufw-antes-de-entrada -p icmp --tipo-icmp destino-inalcanzable -j ACEPTAR

-A ufw-antes-de-entrada -p icmp --tiempo-excedido-tipo-icmp -j ACEPTAR

-A ufw-antes-de-entrada -p icmp --problema-parámetro-tipo-icmp -j ACEPTAR

-A ufw-antes-de-entrada -p icmp --solicitud de eco tipo icmp -j ACEPTAR

'# ok código icmp para ADELANTE -A ufw-antes-adelante -p icmp --icmp-tipo destino-inalcanzable -j ACEPTAR

-A ufw-antes-de-adelante -p icmp --tiempo-excedido-tipo-icmp -j ACEPTAR

-A ufw-antes-de-adelante -p icmp --problema-parámetro-tipo-icmp -j ACEPTAR

-A ufw-antes-de-reenviar -p icmp --solicitud de eco tipo icmp -j ACEPTAR

'# permitir que el cliente dhcp funcione

-A ufw-antes-de-entrada -p udp --sport 67 --dport 68 -j ACEPTAR

'#

'# ufw-no-local

'#

-A ufw-antes-de-entrada -j ufw-no-local

'# si es LOCAL, DEVOLVER

-A ufw-not-local -m addrtype --dst-type LOCAL -j RETURN

'# si es MULTIDIFUSIÓN, DEVOLVER

-A ufw-not-local -m addrtype --dst-type MULTICAST -j RETURN

'# si TRANSMISIÓN, REGRESAR

-A ufw-not-local -m addrtype --dst-type BROADCAST -j RETURN

'# todos los demás paquetes no locales se descartan

-A ufw-not-local -m limit --limit 3/min --limit-burst 10 -j ufw-logging-deny

-A ufw-no-local -j DROP

'# permitir MULTICAST mDNS para el descubrimiento de servicios (asegúrese de que la línea MULTICAST arriba

'# no está comentado) -A ufw-before-input -p udp -d 224.0.0.251 --dport 5353 -j ACEPTAR

'# permitir MULTICAST UPnP para el descubrimiento de servicios (asegúrese de que la línea MULTICAST arriba

'# no está comentado)

-A ufw-antes-de-entrada -p udp -d 239.255.255.250 --dport 1900 -j ACEPTAR

COMPROMETERSE


Ahora puedo hacer ping al módem desde Bob, pero no puedo acceder a Internet correctamente. Aunque el DNS de Internet funciona.

Cuando intento conectarme a un servidor WAN aparece: "host de destino inalcanzable". Supongo que tengo un problema en mi configuración en alguna parte o falta algo.

Quizás debería configurar algo en el módem, pero ahora no lo hago. Pero no, cuando hice las pruebas, conecté el enrutador Pi a un conmutador con ambas caras en el mismo conmutador en un momento en el que pude acceder a la red, todo funcionó. Después de estas pruebas, conecté el Pi a su ubicación final, al lado del módem. Ahora, desde la máquina hasta llegar a la WAN, la ruta pasa por un conmutador, dos CPL, el enrutador pi y el módem.

Muchas gracias por tus ideas :-)

/cr!?ptal

Respuesta1

¡Agregué una nueva ruta en el pi-router y funciona!

sudo ip agregar ruta predeterminada a través demódem-enrutador-ip/24 desarrollo eth1.

y:

sudo su

ufw desactivar && ufw habilitar

Además, para que esta ruta personalizada sea persistente, la agregué a /etc/dhcpcd.exit-hook.

Misión cumplida :-)

información relacionada