Por que existe apenas um gateway padrão?

3

Eu sou novato em redes tentando descobrir como funcionam várias interfaces de rede. Minha dúvida é quando existem duas ou mais placas de rede em uma máquina, qual é o significado do gateway padrão presente no arquivo /etc/sysconfig/network . O kernel deve balancear a carga entre diferentes interfaces que possuem gateways definidos em seus respectivos arquivos /etc/sysconfig/network-scripts/ifcfg-eth* ?

    
por Poorna 10.04.2013 / 06:19

3 respostas

9

O gateway padrão é onde os pacotes são enviados quando não há rota mais específica - na verdade, o gateway padrão tem uma rota correspondente a todos os pacotes - uma rota de máscara de rede / 0.

Experimente "netstat -rn" para ver as rotas no seu sistema.

O gateway padrão não é uma interface em seu sistema - geralmente é o seu roteador local. Pode ser alcançável através de mais de uma interface, embora normalmente exista apenas uma interface ativa.

Não tenho certeza sobre balanceamento de carga, mas parece razoável que, se o gateway padrão puder ser acessado por mais de uma interface, os pacotes possam ser enviados de todas as interfaces para ele.

Um exemplo simples de configurar sua rede a partir do zero:

ifconfig eth0 192.168.0.55 netmask 255.255.255.0
route add default gateway 192.168.0.1 eth0

O primeiro comando configura sua interface e adiciona uma rota à rede local (192.168.0 / 24). O segundo comando adiciona uma rota padrão via 192.168.0.1, que agora pode ser acessada graças à primeira rota.

Se você tiver uma segunda interface, também poderá configurá-la:

ifconfig eth1 192.168.0.56 netmask 255.255.255.0

Agora, qualquer interface pode alcançar o gateway padrão. Você pode verificar se o balanceamento de carga está acontecendo usando "ifconfig" e procurando os pacotes RX / TX. Se o incremento dos contadores indicar que a interface está sendo usada.

Atualização:

Para duas interfaces em redes diferentes, você pode adicionar mais de um gateway padrão. Eu não sei se essa situação é suportada pelo etc / sysconfig. Se não, você pode adicionar uma instrução "route add default gateway" ao seu script de inicialização.

Algumas curiosidades sobre o assunto: costumava ser possível enviar um pacote através de um gateway com um IP de origem da outra interface (roteamento assimétrico). Desta forma, você poderia enviar todos os seus pacotes de um gateway e recebê-los através do outro. Isso é útil no caso de você ter conexões com largura de banda assimétrica para cima / baixo ou latência (pense no downlink de satlite e no uplink de celular).

Eu digo "costumava" porque a maioria dos ISPs agora filtram pacotes com um IP de origem que não é atribuído downstream.

Mais diversão dual-nic aleatória:

Eu tenho duas nics no meu laptop: com fio e sem fio. Eu atribuo a ambos o mesmo IP na configuração do meu servidor DHCP com base em seu endereço de ethernet. Quando o fio está conectado, fico em alta velocidade. Mas quando eu desconecto, tudo continua funcionando. Eu nem perco conexões com hosts remotos. O kernel não se importa com a interface de um pacote, desde que esteja vinculado ao endereço IP correto.

    
por 10.04.2013 / 07:17
5

O gateway padrão deve ser acessível por apenas uma das suas interfaces de rede. Ter mais de uma NIC na mesma sub-rede e, portanto, um caminho de saída potencialmente não determinístico pode levar a um comportamento inesperado e decepcionante.

Veja, por exemplo, link

Se você realmente quiser implementar isso, uma maneira confiável seria configurar alguma forma de agregação de rede agregação , que se traduz para ligação / formação de equipes no que diz respeito ao Linux.

    
por 11.04.2013 / 10:18
3

Com duas rotas de métricas iguais, um esquema de balanceamento de carga round-robin é usado. Isso pode ser em uma base por rede, ou pode ser em uma base por pacote. Os roteadores da Cisco (não linksys) podem ser configurados para fazer isso, mas o pacote por pacote fornece links equivalentes de melhor distribuição. Em termos de host, acredito que, a menos que você esteja executando um daemon de roteamento, como roteado ou fechado, o kernel do sistema selecionará uma interface como sua rota preferida e somente mudará para a outra interface se a primeira ficar inativa ou se o gateway se tornar inacessível por essa interface.

    
por 11.04.2013 / 06:57