Configuração da interface do Shorewall de 4 interfaces

1

Estou tentando usar o shorewall no Arch para gerenciar uma configuração com duas redes locais e duas conexões ISP. Eu quero tráfego da rede local 1 (192.168.1.0/24 interface enp5s0) para usar o ISP 1 (76. ... interface enp6s0) e o tráfego do local 2 (192.168.0.0/24 interface enp7s0) para usar o ISP 2 (99 ... interface enp3s0). Atualmente, posso fazer um ou outro trabalho, mas não ambos, dependendo de qual rota padrão vem primeiro:

output of 'ip route ls' with sensitive information redacted:
default via 76.[rd].1 dev enp6s0  src 76.[rd].78  metric 203  mtu 576
default via 99.[rd].1 dev enp3s0  src 99.[rd].190  metric 205
76.[rd].0/24 dev enp6s0  proto kernel  scope link  src 76.[rd].78  metric 203  mtu 576
76.[rd].78 dev enp6s0  scope link  src 76.[rd].78
99.194.48.0/21 dev enp3s0  proto kernel  scope link  src 99.[rd].190  metric 205
99.[rd].190 dev enp3s0  scope link  src 99.[rd].190
192.168.0.0/24 dev enp7s0  proto kernel  scope link  src 192.168.0.1  metric 204
192.168.1.0/24 dev enp5s0  proto kernel  scope link  src 192.168.1.1  metric 202

Com a saída acima, o local 1 seria capaz de alcançar o exterior, mas o local 2 não. Vice-versa, se a primeira linha tivesse desaparecido. Tenho certeza que várias rotas padrão são um não-não, mesmo com vários ISPs, mas é assim que shorewall fez isso.

Como não havia nenhum exemplo para isso em nenhum lugar, baseei-o no exemplo de três interfaces da shorewall. Para evitar que este post seja insanamente longo, aqui estão os links para pastas de cada configuração relevante do shorewall:

As páginas de Shorewall sobre o assunto são inúteis porque o objetivo em seu exemplo é muito diferente do meu objetivo. Qualquer ponteiro na direção correta seria muito apreciado.

    
por Rogue 05.06.2016 / 01:31

1 resposta

1

Certifique-se de não definir o gateway padrão nos arquivos netctl ou em outros arquivos. Se estiver usando DHCP para obter endereços IP, desabilite a obtenção do gateway padrão (dhcpcd -G). A execução de "ip route ls" deve não mostrar nenhum gateway padrão . Somente "ip route show table all" listaria os gateways padrão para cada tabela do ISP. Algo parecido com isto:

default via 10.1.1.1 dev enp3s0  table ITC1  src 10.1.1.10
10.1.1.1 dev enp3s0  table ITC1  scope link  src 10.1.1.10
default via 10.1.2.1 dev enp4s0  table ITC2  src 10.1.2.10
10.1.2.1 dev enp4s0  table ITC2  scope link  src 10.1.2.10
default via X.X.X.X dev enp5s0  table MPLS  src X.X.X.X
X.X.X.X dev enp5s0  table MPLS  scope link  src X.X.X.X
default  table balance
    nexthop via X.X.X.X  dev enp5s0 weight 1
    nexthop via 10.1.1.1  dev enp3s0 weight 2
    nexthop via 10.1.2.1  dev enp4s0 weight 2

Além disso, você pode remover as entradas do arquivo mangle, pois as entradas de rtrules devem ser suficientes para o que você precisa

    
por 08.06.2016 / 00:04