Encaminhamento para a LAN secundária com o Shorewall

2

Estou configurando o Shorewall (4.4.26.1) e tenho tentado descobrir o roteamento entre dois segmentos da LAN durante boa parte da tarde. É hora de pedir ajuda.

 ((INTERNET))
      |
      |
 [shorewall]
   |     |
   |     |
(LAN1) (LAN2)

Eu tenho três NICs: WAN (Internet), LAN1 e LAN2. WAN-to-LAN está trabalhando de entrada através de NAT e de saída através de DNAT (definido no masq). A LAN2 não deve (e atualmente não tem) acesso à Internet, mas deve ser acessível a partir da LAN1. Atualmente sou capaz de acessar a LAN2 a partir do firewall, mas não dos servidores da LAN1 (que é o problema). As regras necessárias estão em vigor, mas aparentemente o roteamento não está funcionando (quando desabilito as regras de firewall, recebo imediatamente "conexão recusada" na conexão SSH de um servidor na LAN1; quando as regras são habilitadas, o SSH simplesmente trava e traceroute ir além do firewall). LAN1 está no espaço de endereço 172.0.0.0 e LAN2 está no espaço de endereço 10.0.0.0.

Atualmente tenho:

$LAN2_IF                 10.0.0.0/24

.. no masq, mas isso não está funcionando ($ LAN2_IF resolve a eth2 que é a interface LAN2).

Minha pergunta é: Qual é a configuração Shorewall mais simples para encaminhar o tráfego entre dois segmentos da LAN endereçados diferentemente que estão conectados a NICs separadas? Um ponteiro para a documentação ou outra referência ajudaria, um esqueleto exemplo de configuração seria ainda melhor. Estive analisando a documentação do Shorewall sobre o roteamento, mas ainda não encontrei uma descrição correspondente (por exemplo, prefiro não ter que interligar as interfaces de LAN, pois elas precisam permanecer separadas: LAN2 deve não têm acesso à Internet ou LAN1).

Obrigado por qualquer conselho!

    
por Ville 29.01.2013 / 06:26

2 respostas

4

Parece que você tem um problema de roteamento, que não tem nada a ver com o Shorewall. Desativar Shorewall e obter o roteamento certo primeiro.

O gateway deve ter um endereço IP em cada um dos segmentos da LAN e uma rota para a faixa da LAN nessa interface. Por exemplo:

$ ip -one addr
2: eth0    inet 172.16.0.1/24
3: eth1    inet 10.0.0.1/24
$ ip route
172.16.0.0/24 dev eth0
10.0.0.0/24 dev eth1

Clientes em LAN1 e LAN2 devem ter o respectivo IP no gateway definido como seu gateway padrão (172.16.0.1 para clientes em LAN1 e 10.0.0.1 para clientes em LAN2). Verifique se os clientes em ambas as LANs podem fazer ping em IPs no gateway. Em seguida, tente fazer ping entre clientes em diferentes LANs.

Quando o roteamento estiver funcionando, você poderá configurar o Shorewall. Você deseja colocar as duas LANs em zonas diferentes (por exemplo, lan1 contendo eth0 e lan2 contendo eth1). Em seguida, configure as políticas apropriadas:

fw      all     ACCEPT
lan1    all     ACCEPT
lan2    fw      ACCEPT
lan2    lan1    ACCEPT
all     all     REJECT

Não deve haver nenhum disfarce entre LAN1 e LAN2.

    
por 01.02.2013 / 20:25
1

Eu percebo que esse não era o problema de Ville, mas a configuração de amostra de três interfaces (incluída na distribuição Shorewall) é provavelmente a resposta canônica para sua pergunta. Configura lan & dmz como os nomes das zonas, mas você pode configurá-los para qualquer coisa que queira que eles sejam (lan & lan2 neste caso).

    
por 17.06.2013 / 03:58