Roteador/firewall Raspbian

Roteador/firewall Raspbian

Olá colegas superusuários,

Aqui está a topologia da minha LAN. WAN-modem-roteador-firewall-Firewall do roteador Pi-máquinas LAN.

Eu uso uma máquina de testes na lan:bob.

Não consigo acessar os sites da Internet do bob, recebo "host de destino inacessível".

Aqui estão minhas rotas:

rotas em bob (anonimizado):

padrão viapi-roteador-iface-inner-lan-eth0dev eth0 srcbob-ipmétrica 202

LAN interna/24 dev eth0 proto dhcp escopo link srcbob-ipmétrica 202

lan-beyond-pi-router (modem + pi-iface-eth1)/24 viapi-roteador-inner-lan-iface-eth0desenvolvedor eth0

rotas no roteador pi:

padrão viapi-roteador-inner-iface-eth0dev eth0 srcpi-roteador-inner-iface-eth0métrica 202

padrão viapi-roteador-outer-iface-eth1dev eth1 srcpi-roteador-outer-iface-eth1métrica 203

LAN interna/24 dev eth0 proto dhcp escopo link srcpi-roteador-inner-iface-eth0métrica 202

roteador lan-além-pi/24 dev eth1 proto dhcp escopo link srcpi-roteador-outer-iface-eth1métrica 203

Eu uso ufw para filtros e nat. A ideia é minha, não tenho muita certeza: como não consigo configurar uma rota via no modem, habilitei o NAT na interface "externa" (eth1) do roteador Pi (interface do lado do modem). Aqui está minha configuração do ufw:

'#

'# regras.antes

'#

'# Regras que devem ser executadas antes da linha de comando do ufw adicionar regras. Personalizado

'# regras devem ser adicionadas a uma destas cadeias:

'# ufw-antes-entrada

'# ufw-antes-da-saída

'#ufw-antes-encaminhar

'#

'# regras da tabela nat

*nat

:POSTROUTING ACEITAR - [0:0]

'# Encaminha o tráfego de eth0 para eth1

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

'#adição pessoal, não tenho certeza sobre isso

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

'# não exclua a linha 'COMMIT' ou essas regras da tabela nat não serão processadas

COMPROMETER-SE

'# Não exclua essas linhas obrigatórias, caso contrário haverá erros

*filtro

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

:ufw-antes-da-saída - [0:0]

:ufw-antes-de-avançar - [0:0]

:ufw-não-local - [0:0]

'#Fim das linhas obrigatórias

'#permitir tudo em loopback

-A ufw-antes-input -i lo -j ACEITAR

-A ufw-antes-saída -o lo -j ACEITAR

'# processa rapidamente pacotes para os quais já temos uma conexão

-A ufw-before-input -m conntrack --ctstate RELACIONADO, ESTABELECIDO -j ACEITAR

-A ufw-before-output -m conntrack --ctstate RELACIONADO, ESTABELECIDO -j ACEITAR

-A ufw-before-forward -m conntrack --ctstate RELACIONADO, ESTABELECIDO -j ACEITAR

'# drop INVALID packets (registra-os em nível de log médio e superior)

-A ufw-before-input -m conntrack --ctstate INVÁLIDO -j ufw-logging-deny

-A ufw-before-input -m conntrack --ctstate INVÁLIDO -j DROP

'# ok códigos icmp para INPUT

-A ufw-before-input -p icmp --icmp-type destino-inacessível -j ACEITAR

-A ufw-before-input -p icmp --icmp-type tempo excedido -j ACEITAR

-A ufw-before-input -p icmp --icmp-type parâmetro-problem -j ACEITAR

-A ufw-before-input -p icmp --icmp-type echo-request -j ACEITAR

'# ok código icmp para FORWARD -A ufw-before-forward -p icmp --icmp-type destination-unreachable -j ACCEPT

-A ufw-before-forward -p icmp --icmp-type time-exceeded -j ACEITAR

-A ufw-before-forward -p icmp --icmp-type parâmetro-problem -j ACEITAR

-A ufw-before-forward -p icmp --icmp-type echo-request -j ACEITAR

'#permitir que o cliente dhcp funcione

-A ufw-before-input -p udp --sport 67 --dport 68 -j ACEITAR

'#

'# ufw-não-local

'#

-A ufw-antes-input -j ufw-não-local

'# se LOCAL, RETORNA

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

'# se MULTICAST, RETURN

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

'# se BROADCAST, RETURN

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

'# todos os outros pacotes não locais são descartados

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

-A ufw-não-local -j DROP

'# permitir MULTICAST mDNS para descoberta de serviço (certifique-se de que a linha MULTICAST acima

'# não foi comentado) -A ufw-before-input -p udp -d 224.0.0.251 --dport 5353 -j ACCEPT

'# permite MULTICAST UPnP para descoberta de serviço (certifique-se de que a linha MULTICAST acima

'# está descomentado)

-A ufw-before-input -p udp -d 239.255.255.250 --dport 1900 -j ACEITAR

COMPROMETER-SE


Agora consigo fazer ping no modem a partir do bob, mas não consigo acessar a Internet corretamente. Embora o DNS da Internet funcione.

Quando tento me conectar a um servidor WAN, recebo: "host de destino inacessível". Acho que tenho um problema na minha configuração em algum lugar ou algo está faltando.

Talvez eu devesse configurar algo no modem, não faço agora. Mas não, quando fiz os testes, liguei o roteador Pi em um switch com os dois ifaces no mesmo switch em um ponto consegui acessar a net, tudo funcionou. Após esses testes, conectei o Pi no seu local definitivo, próximo ao modem. Agora, da máquina bob até chegar à WAN, a rota passa por um switch, duas CPLs, o roteador pi, o modem.

Muito obrigado por seus insights :-)

/cr!?ptal

Responder1

Adicionei uma nova rota no pi-roteador e funcionou!

sudo ip adicionar rota padrão viamodem-roteador-ip/24 dev eth1.

e:

sudo su

ufw desabilitar && ufw habilitar

Além disso, para tornar esta rota personalizada persistente, adicionei-a a /etc/dhcpcd.exit-hook .

Missão bem sucedida :-)

informação relacionada