CentOS 5.x
我将 CenTOS 服务器配置为使用全双工。我通过编辑网络脚本来实现这一点:
more /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.200
NETMASK=255.255.255.0
HWADDR=00:14:5E:0C:8B:E3
ETHTOOL_OPTS="speed 100 duplex full autoneg off"
(IP 和 MAC 已重命名以保护无辜者 =))
做出这个改变后,我跑了服务网络重启
如果我跑mii 工具, 我懂了:
eth0: no autonegotiation, 100baseTx-HD, link ok
但是如果我跑ethtool eth0, 我懂了:
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: Not reported
Advertised auto-negotiation: No
Speed: 100Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: off
Supports Wake-on: g
Wake-on: g
Current message level: 0x000000ff (255)
Link detected: yes
为什么双工有差异?Mii-tool 认为是半双工,而 ethtool 认为是全双工。
ethtool 实际上不是在查询当前双工状态吗?
答案1
可能是 mii-tool 在骗你——但没错,他们中有人搞错了。我会信任 ethtool,因为我相信现在大多数驱动程序都对它提供了更好的支持,但最终这些工具都只能信任驱动程序告诉它们的信息。问问你的交换机它认为发生了什么,就像一个“独立观察者”。