无法通过以太网接口访问互联网

无法通过以太网接口访问互联网

使用 Debian 7.10 和wicd网络管理器,当以太网电缆断开并再次重新连接时,网络将不再工作,直到设备重新启动(以太网接口 [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是主机,因为主机不能完成,除了本地主机或其自己的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

没有什么比 ping 到自己的 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 缺失

  • 根本原因可能是什么?如何解决(配置、驱动...)?

相关内容