Duas rotas para a mesma rede através de diferentes interfaces

0

Para uma ponte definida como

auto br0
iface br0 inet dhcp
        bridge-ifaces enp0s8
        bridge-ports enp0s8
        up ifconfig enp0s8 up

iface enp0s8 inet manual

o os configura as duas rotas na interface up :

192.168.1.0/24 dev enp0s8  proto kernel  scope link  src 192.168.1.134
192.168.1.0/24 dev br0  proto kernel  scope link  src 192.168.1.134

Mas se alguém tentar fazer o mesmo manualmente com:

ip route add 192.168.1.0/24 dev br0 proto kernel src 192.168.1.134
ip route add 192.168.1.0/24 dev enp0s8 proto kernel src 192.168.1.134

o segundo comando falha com RTNETLINK answers: File exists .

A pergunta:

O kernel trapaceia ou há alguma chave que eu perdi nos meus comandos ip route add ?

Não é sobre se esta configuração faz sentido ou não, é sobre "como o kernel poderia fazer isso".

    
por zerkms 27.06.2017 / 02:24

1 resposta

2

Você deve verificar a documentação oficial que diz (após o primeiro exemplo):

You will note that auto eth0 and iface eth0 inet manual are not in the file. This is because br0 will bring up the components assigned to it.

Não faz sentido configurar os adaptadores Ethernet conectados a uma ponte, pois eles simplesmente compartilham o endereço IP da ponte.

O motivo pelo qual você não conseguiu adicionar a rota manualmente é porque você não reproduziu as etapas nos scripts de inicialização. Se você definir um IP em enp0s8 , o sistema permitirá que você adicione a rota. Mais uma vez, observe que isso está errado e tornará o roteamento mais complicado (especialmente se você fizer rotas avançadas, encaminhamento ou NAT).

Para reproduzir os scripts de inicialização do sistema, após excluir todas as rotas relevantes e remover a ponte, se já existir:

brctl addbr br0
ifconfig enp0s8 192.168.1.0/24
ifconfig br0 192.168.1.0/24

Isso obterá ip route para gerar as duas rotas. Se você adicionar enp0s8 à bridge, isso não funcionará mais. Você está simplesmente obtendo um resultado ligeiramente anormal de uma configuração obviamente ruim.

    
por 27.06.2017 / 06:47