Então, eu estava tendo um problema parecido ao ligar + bridging trabalhando no Ubuntu 14.04. Havia três coisas importantes que eu tinha que fazer:
- Desative os nomes do bios dev e atualize o grub.
- Crie meu próprio arquivo de nome de regras do udev.
- Faça a ponte tomar o IP, não o vínculo.
Ok passo 1. Certifique-se de ter acesso LOCAL a esta caixa. Teclado e monitor. Nós vamos quebrar sua rede. Edite este arquivo: /etc/default/grub
e altere esta linha:
GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 net.ifnames=1 biosdevname=0"
(Nós não usamos IPV6, então desabilitamos isso também)
Em seguida, execute sudo update-grub
e reinicie.
Ok, passo 2. Em seguida, faça o login em sua caixa e execute o seguinte: sudo dmesg | grep eth
Com alguma sorte, você deve encontrar seus dispositivos para que possamos escrever regras do udev. Normalmente, as pessoas renomeam seus dispositivos de rede pelo endereço MAC, mas os títulos tendem a confundir o udev porque o vínculo pode ter um dos endereços MAC da NIC em certas configurações, portanto, não siga esse caminho. Em vez disso, você pode fazer isso por ID do dispositivo. Eu tenho Intel NICs, então esta é a minha saída. Sua milhagem irá variar:
[ 17.888965] igb 0000:07:00.0: added PHC on eth0
[ 17.888969] igb 0000:07:00.0: eth0: (PCIe:2.5Gb/s:Width x1) d0:50:99:xx:xx:xx
[ 17.889097] igb 0000:07:00.0: eth0: PBA No: 001300-000
[ 17.932484] igb 0000:08:00.0: added PHC on eth1
[ 17.932488] igb 0000:08:00.0: eth1: (PCIe:2.5Gb/s:Width x1) d0:50:99:xx:xx:xx
[ 17.932615] igb 0000:08:00.0: eth1: PBA No: 001300-000
Ok, meus códigos de dispositivo são 0000:07:00.0
e 0000:08:00.0
. Estes são exclusivos para cada configuração de hardware.
Edite este arquivo e remova todas as linhas existentes dele: /etc/udev/rules.d/70-persistent-net.rules
Adicione os nomes de dispositivos desejados como este (observe onde colocar os 0000:07:00.0
e 0000:08:00.0
):
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", KERNELS=="0000:07:00.0", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", KERNELS=="0000:08:00.0", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
Woot. Quase pronto.
Etapa 3. Por alguma razão, não consegui colocar a rede em funcionamento se o vínculo assumiu o endereço IP, mas parece que está funcionando, apenas descubra se a ponte o faz. Eu uso este /etc/network/interfaces
(eu também uso DHCP em vez de BTW estático, apenas mantenha essas estrofes):
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
bond-master bond0
auto eth1
iface eth1 inet manual
bond-master bond0
auto bond0
iface bond0 inet manual
bond-slaves none
bond-mode 802.3ad
bond-miimon 100
bond-downdelay 200
bond-updelay 200
auto lan0
iface lan0 inet dhcp
bridge_ports bond0
bridge_fd 0
bridge_maxwait 0
Reinicie e cruze os dedos dos pés. Boa sorte!
EDITAR
O Ubuntu tem alguns bugs com pedidos nesta configuração. Eu inseri alguns atrasos de post-up porque eu não estava conseguindo puxar e endereço IP consistentemente sobre DHCP:
/etc/network/interfaces
:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
bond-master bond0
auto eth1
iface eth1 inet manual
bond-master bond0
auto bond0
iface bond0 inet manual
bond-slaves eth0 eth1
bond-mode 802.3ad
bond-miimon 100
bond-downdelay 200
bond-updelay 200
bond-xmit-hash-policy layer3+4
up sleep 2
auto lan0
iface lan0 inet dhcp
bridge_ports bond0
bridge_waitport 10
bridge_fd 0
bridge_maxwait 0
bridge_stp off
pre-up sleep 2