Problema do Servidor Linux Multihomed Simples

4

Eu tenho um servidor Linux executando o CentOS 6.4 que é usado como um destino iSCSI. O servidor é multi-homed com duas placas de rede, ambos na mesma sub-rede. O iSCSI multipathing cuida do balanceamento de carga / failover, portanto, tudo que preciso é que cada NIC opere de forma independente. Como eu configuro este sistema para evitar todos os problemas estranhos de roteamento e ARP que sempre acompanham uma configuração multi-homed, como o tráfego sendo retornado em uma interface diferente da fonte ou uma interface aceitando tráfego enviado para o IP do servidor? de outros. A solução de ligação não é uma opção, pois tem problemas com a conexão iSCSI.

As coisas importantes:

  • eth0: IP 10.1.1.242 / SN 255.255.252.0 / GW 10.1.1.254
  • eth1: IP 10.1.1.243 / SN 255.255.252.0 / GW 10.1.1.254
por tfrederick74656 17.07.2013 / 16:57

3 respostas

4

Eu percebi que nunca segui essa questão. Usando alguns recursos excelentes da Internet aqui e aqui , criei a seguinte configuração. Espero que isso ajude alguém.

Suponha que você tenha duas interfaces, eth0 e eth1 , com endereços IP de 10.1.1.242 e 10.1.1.243. Isto é tudo em uma rede / 22 com um gateway padrão de 10.1.1.254.

  • Primeiro, crie duas tabelas de roteamento, uma para cada NIC:

    echo "1 lan1" >> /etc/iproute2/rt_tables'
    echo "2 lan2" >> /etc/iproute2/rt_tables'
    
  • Em seguida, adicione rotas para cada interface às tabelas apropriadas:

    ip route add 10.1.0.0/22 dev eth0 src 10.1.1.242 table lan1
    ip route add default via 10.1.1.254 dev eth0 table lan1
    ip route add 10.1.0.0/22 dev eth1 src 10.1.1.243 table lan2
    ip route add default via 10.1.1.254 dev eth1 table lan2
    
  • Por fim, adicione regras para determinar qual tabela é usada:

    ip rule add from 10.1.1.242/32 table lan1
    ip rule add to 10.1.1.242/32 table lan1
    ip rule add from 10.1.1.243/32 table lan2
    ip rule add to 10.1.1.243/32 table lan2
    

Isso deve impedir que o tráfego cruze os NICs internamente, permitindo que você preserve a redundância ou use cada NIC para diferentes funcionalidades.

    
por 13.11.2015 / 07:09
0

Você está procurando ip route e fazendo roteamento de políticas, cada interface terá sua própria tabela de roteamento e tomará decisões de roteamento (incluindo em qual interface enviar tráfego e de qual endereço) com base nessas tabelas.

Este é um excelente site que explica os conceitos desde o início, mas você pode ir direto para encaminhamento de políticas se desejar ...

    
por 17.07.2013 / 17:17
0

Você precisará examinar as variáveis arp_announce e arp_ignore para garantir que os adaptadores respondam como esperado.

Sugiro que revise a documentação aqui . Os valores nesse documento para os VIPs provavelmente seriam apropriados.

No /etc/sysctl.conf:

net.ipv4.conf.eth0.arp_ignore = 1
net.ipv4.conf.eth0.arp_announce = 2
    
por 17.07.2013 / 18:52