日志和命令输出

日志和命令输出

我无法获得这台笔记本电脑,克拉普托普,无法使用接口连接到 Internet eth0,但它可以使用接口进行连接wlan0。管理的 NetworkManagereth0在尝试查找 DHCP 服务器(作为我的家庭路由器存在)时超时192.168.0.1

另一台笔记本电脑,德尔蒂克,可以使用相同的以太网电缆正常连接和协商 DHCP。

在用Wireshark监控eth0两台机器后,我发现德尔蒂克192.168.0.1在发送广播后与 协商了一个 IP 地址255.255.255.255,但是克拉普托普发送了四次 DHCP 广播,但没有收到任何回复。

似乎克拉普托普是可以的,因为它可以检测到我插入电线的时间,但为什么不能克拉普托普收到任何数据包吗?

克拉普托普缺少驱动程序?我该如何进一步排除故障?

我在下面提供了我的设置的详细信息:


日志和命令输出

网络管理器(来自/var/log/syslog

lshw

Wireshark:DHCP 数据包

[Wireshark 截图]

注意这个超级用户问题无关,因为它谈论的是无法连接到wlan0

答案1

可能的原因是路由器上的以太网端口有缺陷。 直到 2015 年 4 月 30 日我才找到支持这一观点的证据,而直到 2015 年 8 月 10 日我才意识到这一点。

我应该做什么

一些额外的故障排除步骤:

  • 我应该运行一下sudo ethtool -S eth0看看网络接口控制器(NIC)统计信息中是否存在任何错误。

    由于我能够通过以太网发送但不能接收,所以我可能看到rx_crc_errors每次接收尝试时统计增量之类的内容。

  • 我应该尝试将以太网电缆的路由器端插入不同的路由器端口。

    当然,我将以太网电缆的计算机端插入了两台不同的计算机,但这让我相信一台计算机(克拉普托普) 是有缺陷的,因为另一个 (德尔蒂克) 能够连接到路由器。

  • 在工作电脑上,德尔蒂克,我应该跑去sudo ethtool eth0看看是否建立了良好的联系。

    德尔蒂克具有 1Gbps 的容量,路由器也是如此,因此ethtool应该显示Speed: 1000Mb/sDuplex: Full。后来,在 2015 年 4 月 30 日,我发现有缺陷的端口会导致ethtool返回不同的、更令人担忧的值。

  • 我应该运行速度基准测试来测试以太网链路,以确保我获得了预期的全部性能德尔蒂克和路由器。

    如果我做过网速测试,我可能会看到 1MiB/s 的传输速度,这表明存在链接问题,即使在德尔蒂克

  • 为了排除电缆问题,我应该尝试使用不同的千兆以太网电缆。

    事实证明电缆没有问题,但无论如何,这是一个很好的故障排除步骤。

证据与解释

2015 年 4 月 30 日,我注意到我的值得信赖的rsync -avzHXShPs命令最大速度约为 1MiB/s。我通过监控iftop和尝试在另一台计算机上进行互联网下载来排除其他流量,这台计算机的数据传输速度快了十倍。

我使用以下命令检查了网络链接ethtool

root@node51 [~]# ethtool eth0
Settings for eth0:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Supported pause frame use: No
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Link partner advertised link modes:  10baseT/Half
        Link partner advertised pause frame use: No
        Link partner advertised auto-negotiation: No
        Speed: 10Mb/s
        Duplex: Half
        Port: MII
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00000033 (51)
                               drv probe ifdown ifup
        Link detected: yes

啊哈!半双工 10Mbps。这不正常,而且非常慢。作为参考,这是预期的(良好)输出,通过路由器上的交换以太网端口捕获:

root@node51 [~]# ethtool eth0
Settings for eth0:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Supported pause frame use: No
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                             100baseT/Half 100baseT/Full
                                             1000baseT/Full
        Link partner advertised pause frame use: Symmetric
        Link partner advertised auto-negotiation: Yes
        Speed: 1000Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00000033 (51)
                               drv probe ifdown ifup
        Link detected: yes

计算机和路由器尝试谈判 速度越来越慢直到建立可靠的协议。最慢的协议 10BASE-T 半双工被选中。

强制使用完整的 1000BASE-T 全双工 ( ethtool -s eth0 speed 1000 duplex full) 预期性能导致受影响的计算机脱离网络,这强烈表明路由器不想在更快的链路上通信。

克拉普托普首先限制为 100Mbps 全双工,可能没有机会协商 10Mbps 半双工。

现在我已经确定了坏的以太网端口,我需要做的就是不使用该端口或购买一个新的路由器。

2015年7月27日,我安装了新的路由器后退回了有缺陷的路由器。

今天,克拉普托普在具有 100Mbps 全双工以太网连接的容错网络绑定上运行:

root@node52 [~]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: eth0 (primary_reselect always)
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: wlan0
MII Status: up
Speed: Unknown
Duplex: Unknown
Link Failure Count: 3
Permanent HW addr: 00:1f:3a:55:dc:0d
Slave queue ID: 0

Slave Interface: eth0
MII Status: up
Speed: 100 Mbps
Duplex: full
Link Failure Count: 3
Permanent HW addr: 00:1e:68:32:4a:b5
Slave queue ID: 0

相关内容