Este é o meu /etc/network/interfaces
arquivo:
auto bond0
iface bond0 inet manual
address 10.66.7.11/24
gateway 10.66.7.1
bond-mode 802.3ad
bond-slaves eth2 eth3
bond-miimon 100
bond-downdelay 200
bond-updelay 400
bond-lacp-rate 1
up ifconfig bond0 10.66.7.11/24 up
quando eu ligo a interface bond0, ela funciona, mas o gateway padrão não está definido
# route -n
Destination Gateway Genmask Flags Metric Ref Use Iface
10.66.7.0 0.0.0.0 255.255.255.0 U 0 0 0 bond0
Tenho que definir o gateway padrão manualmente e tudo funciona bem:
route add default gw 10.66.7.1 bond0
#route -n
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.66.7.1 0.0.0.0 UG 0 0 0 bond0
10.66.7.0 0.0.0.0 255.255.255.0 U 0 0 0 bond0
por que meu gateway padrão não é definido automaticamente, quando o tenho definido no /etc/network/interfaces
arquivo?
Entre as múltiplas implementações do ifupdown , considerarei
ifupdown
(implementação "v1") e ainterfaces(5)
configuração vista no Debian.A estrofe bond0 não deve usar a palavra-chave
manual
:que irá configurar as propriedades bond de bond0
ifenslave
(no Debian provavelmente através do pacote que adiciona scripts de plugins em/etc/network/if-*.d
), mas não as propriedades IP.Portanto, nada é feito: ambas
address
asgateway
opções e são ignoradas, mas comandos manuais trazidos através deup
scripts são executados, como:que executa manualmente um comando que adiciona um endereço em bond0 : é por isso que bond0 tem um endereço, a rota LAN adicionada automaticamente pelo kernel a partir deste endereço e nenhum gateway.
A palavra-chave
static
(que ainda fará o que omanual
método faria, mas também configurará o IPv4 cominet static
) deveria ter sido usada:para que o ifupdown configure os endereços IP e o gateway padrão nele.
Portanto, basta substituir
manual
estatic
remover a entrada desnecessáriaup
. A configuração deverá então ser: