Debian 7.10 및 wicd
Network Manager를 사용하면 이더넷 케이블을 분리했다가 다시 연결하면 장치를 재부팅할 때까지 네트워크가 더 이상 작동하지 않습니다(이더넷 인터페이스 [eth0]을 전환할 수 없음). "네트워크 다시 시작"이 완료되면(eth0이 사라짐) 동일한 일이 발생합니다.
네트워크는 고정 IP를 허용하도록 구성되었으므로 /etc/network/interfaces
파일은 다음과 같이 구성됩니다.
# 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
이 문제를 해결하려면 wicd
네트워크 관리자를 제거하고 로 변경했습니다 connman
. 설치 후 connman
서비스 이름을 확인하고 네트워크를 구성해야 합니다.
$ 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
이 시점에서 ifconfig -a
네트워크 구성 확인이 완료되었으며 모든 것이 정상입니다. 이제 이더넷 케이블을 분리했다가 다시 연결하거나 네트워크 서비스를 다시 시작하면 이더넷 인터페이스(eth0)가 항상 복구됩니다.
그러나 문제는 인터넷 연결이 없으면 네트워크가 게이트웨이에 도달할 수 없다는 것입니다. ping
호스트는 localhost나 자체 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
/etc/hosts
그런 다음 파일을 확인했습니다 .
127.0.0.1 localhost
127.0.1.1 device
그리고 /etc/resolv.conf
파일은 다음과 같습니다.
nameserver 127.0.0.1
nameserver ::1
Google DNS 서버 8.8.8.8을 수동으로 추가하고 네트워크 서비스를 다시 시작했지만 동작은 동일합니다. 게이트웨이나 인터넷에 연결할 수 없습니다(파일은 영구적으로 수정되지 않으며 재부팅 후에도 원래 값을 갖습니다).
다음 질문 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
게이트웨이의 MAC를 읽을 수 없습니다.
또한 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
그리고,
$ sysctl -p
$ cat /proc/sys/net/ipv6/conf/all/disable_ipv6
1
자신의 IP를 핑하는 것보다 더 효과적인 것은 없습니다.
- 이것이 네트워크 인터페이스에서 무슨 일이 일어나고 있는지 이해하는 또 다른 방법입니까?
편집 1: 일부 테스트 후에는 회선이 다운되면 IPv4 구성이 손실되고 회선이 다시 연결되면 복원할 수 없는 것으로 나타났습니다.
이더넷 인터페이스장치를 시작한 후:
$ 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
이더넷 인터페이스전선을 분리한 후:
$ 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
이더넷 인터페이스전선을 다시 연결한 후:
$ 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
IPv4 누락.
- 근본 원인은 무엇일까요? (구성, 드라이버...) 해결 방법은 무엇입니까?