Trabalhando com o Debian 7.10, e wicd
network manager, quando o cabo ethernet é desconectado e reconectado novamente, a rede não funciona mais até que o dispositivo seja reinicializado (a interface ethernet [eth0] não pode ser ligada). O mesmo acontece se uma "reinicialização de rede" for feita (a eth0 desaparece).
A rede está configurada para aceitar IPs estáticos, portanto, o arquivo /etc/network/interfaces
está configurado dessa maneira:
# Loopback
auto lo
iface lo inet loopback
# Primary network interface
auto eth0
iface eth0 inet static
address 10.1.1.100
netmask 255.255.255.0
network 10.1.1.0
broadcast 10.1.1.255
gateway 10.1.1.1
dns-nameserver 8.8.8.8
Tentando resolver o problema, wicd
network manager foi removido e alterado para connman
.
Quando connman
for instalado, o nome do serviço deverá ser verificado e a rede configurada:
$ connmanctl services
*AR Wired ethernet_544a16cac68f_cable
$ connmanctl config ethernet_544a16cac68f_cable --ipv4 manual 10.1.1.100 255.255.255.0 10.1.1.1 --nameservers 8.8.8.8
Neste ponto, com ifconfig -a
configuração de rede está marcada, e está tudo bem. Agora, se o cabo ethernet estiver desconectado & Quando o serviço de rede ou reconectado é reiniciado, a interface ethernet (eth0) é sempre recuperada.
Mas, o problema é que não há conexão com a internet, a rede não pode acessar o gateway.
Nem ping
para hospedar, nem porque o host pode ser feito, exceto para localhost ou seu próprio ip, 10.1.1.100.
# From host to gateway
$ ping 10.1.1.1
From 10.1.1.100 icmp_seq=1 Destination Host Unreachable
Em seguida, verifiquei o arquivo /etc/hosts
:
127.0.0.1 localhost
127.0.1.1 device
E, /etc/resolv.conf
file:
nameserver 127.0.0.1
nameserver ::1
Manualmente, eu adicionei o servidor DNS do Google, 8.8.8.8, e reiniciei o serviço de rede, mas o comportamento é o mesmo. Não pode alcançar o gateway nem a internet (este arquivo não é modificado permanentemente, após a reinicialização ele possui valores originais).
Após o problema, routing table
é
$ route
Destination Gateway Genmask Flags Metric Ref Use Iface
default 10.1.1.1 0.0.0.0 UG 0 0 0 eth0
8.8.8.8 10.1.1.1 255.255.255.255 UGH 0 0 0 eth0
10.1.1.0 * 255.255.255.0 U 0 0 0 eth0
10.1.1.1 * 255.255.255.255 UH 0 0 0 eth0
$ arp -n
Address HWtype HWaddress Flags Mask Iface
10.1.1.1 (incomplete) eth0
O MAC do gateway não pode ser lido.
Além disso, foi desativado o IPv6, /etc/sysctl.conf
:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
E
$ sysctl -p
$ cat /proc/sys/net/ipv6/conf/all/disable_ipv6
1
Nada mais funciona ainda do que o ping para o próprio IP.
EDIT1: Fazendo alguns testes, parece que a configuração do IPv4 é perdida quando o fio é desconectado e não pode ser restaurado no tempo de reconexão do cabo.
Interface Ethernet após o dispositivo de inicialização :
$ ifconfig eth0
eth0 Link encap:Ethernet HWaddr 54:4A:16:CA:CB:FF
inet addr:10.1.1.100 Bcast:10.1.1.255 Mask 255.255.255.0
inet6 addr: FE80::564A:16FF:FECA:CBFF/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Rx packets:4524 errors:0 dropped:303 overruns:0 frame:0
Tx packets:161 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen: 1000
Rx bytes:808019 (789.0 kiB) Tx bytes:18200 ( KiB)
Interrupts:56
Interface Ethernet após desconectar o fio :
$ ifconfig eth0
eth0 Link encap:Ethernet HWaddr 54:4A:16:CA:CB:FF
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Rx packets:6332 errors:0 dropped:417 overruns:0 frame:0
Tx packets:167 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen: 1000
Rx bytes:1154018 (1.1 MiB) Tx bytes:18680 (18.2 KiB)
Interrupts:56
Interface Ethernet após reconectar o fio :
$ ifconfig eth0
eth0 Link encap:Ethernet HWaddr 54:4A:16:CA:CB:FF
inet6 addr: FE80::564A:16FF:FECA:CBFF/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Rx packets:6332 errors:0 dropped:417 overruns:0 frame:0
Tx packets:167 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen: 1000
Rx bytes:1154018 (1.1 MiB) Tx bytes:18680 (18.2 KiB)
Interrupts:56
O IPv4 está faltando .