Eu tenho dispositivos Linux com uma única interface ethernet e dois endereços IP.
O primeiro ( eth0
) é configurado estaticamente para 10.1.1.146/24
.
O segundo ( eth0:1
) é configurado via DHCP e pode acontecer que ele receba um IP semelhante como 10.1.1.233/16
, o que significa que as sub-redes se sobrepõem .
A tabela de roteamento é assim:
# ip route show
default via 10.1.1.11 dev eth0
10.1.0.0/16 dev eth0 proto kernel scope link src 10.1.1.233
10.1.1.0/24 dev eth0 proto kernel scope link src 10.1.1.146
Quando dois desses dispositivos estão na mesma rede, é óbvio que o endereço 10.1.1.146
causa uma colisão e não deve ser usado. O endereço DHCP deve ser usado. O 10.1.1.146 é destinado a conexões de 1 para 1.
Infelizmente, ao fazer coisas simples como ping 10.1.1.1
ou ao tentar acessar a Internet, o Kernel escolhe usar o ... 146 endereço IP como origem em tal situação. AFAIK é porque prefere a rede / 24 desde que seja menor .
Pergunta: Posso de alguma forma fornecer a precedência da sub-rede DHCP (talvez através de algum uso do comando ip
) , mesmo se houver outra sub-rede qualificada?