Eu tenho um sistema com duas placas de rede nele. Esta máquina e alguns dispositivos acompanhantes serão movidos e conectados a diferentes LANs ou, às vezes, usarão acesso discado.
eth0:
- 10.x.x.x address space
- no internet gateway
- only a few devices
eth1 (when used):
- 172.16.x.x or 192.168.x.x or other address spaces
- access to the gateway from LAN to internet
ppp0 (when used):
- internet access through dialup using KPPP
Estou usando o ifconfig para ativar ou desativar as interfaces (exceto com o ppp0, que é tratado pelo KPPP).
Se eu abrir o eth1 primeiro, ele obtém um endereço do DHCP e obtém o gateway e isso é adicionado ao roteamento para que não haja problemas para acessar a LAN e a Internet.
Se eu abrir eth0 primeiro ou segundo, ele obtém seu endereço e define o gateway padrão para dentro de seu espaço de endereço (no intervalo 10.xxx). Se eu abrir eth0 primeiro e eth1 segundo, o gateway padrão ainda será mantido dentro do intervalo 10.xxx.
Portanto, não importa o que eu faça, o eth0 substituirá o eth1 e "reivindicará" o gateway no roteamento.
Existe alguma maneira de impedir que eth0 reivindique o gateway ou garantir que o eth1 (se mencionado em 2º) use seu gateway? Ou posso, de alguma forma, priorizar uma classificação do gateway de qual interface deve ser usado sobre os outros?
Basicamente, quero garantir que o gateway do espaço de endereço padrão do eth1 seja usado se estiver ativo e, caso contrário, o gateway padrão do ppp0 será usado. Eu gostaria de impedir que o eth0 tenha o gateway padrão.
ifconfig
cause qualquer tipo de interação DHCP. Normalmenteifup
fará isso, iniciandodhclient
. Suas interfaces eth * possivelmente estão sendo apresentadas pelo processo de inicialização do sistema, digamos/etc/init.d/network
, ou pelo NetworkManager?