交换机端口灯颜色
一般情况下,网卡速率是操作系统与交换机协商进行的。
有时候我们将PC机或其它服务器连接到交换机上,发现交换机对应端口的灯是橙黄色而不是熟悉的亮绿色,但并不影响PC的网络连接。
本着严谨的科学态度,我们需要了解为什么交换机的灯是橙黄色。
其实原因很简单,交换机端口支持的速率和PC机网卡支持的速率不适配,譬如交换机是千兆口,而网卡却是百兆自适应。
手动调整网卡速率
另外一些情况下,为了避免网络出口拥塞,我需要手动设置网卡速率,主动使交换机的端口灯变成橙黄色,例如:交换机的外网出口是千兆口,内网连接的网卡也都是自适配的千兆口,这是如果所有内网的机器网卡全部满负荷工作,那么外网出口就会出现拥塞了,为了避免这种情况,可以将内网机器网卡的速率调整为百兆速率。
windows平台
打开设备管理器,右键点击网卡适配器下的使用的网卡,打开属性面板,选择高级选项卡,在属性窗口中选择对应的选项,可能是Media Type,或是external PHY,或是速度和双工,或是网络速度和双工,这需要看具体的系统而定了,下图是win7中对应的选项:
修改为合适的值,点击确定即可。
linux系统
以ubuntu为例,用mii-tool设置网卡的速度参数,可以通过-F参数强行指定网卡的速度和双工,选项包括:100baseTx-FD,100baseTx-HD,10baseT-FD,或者10baseT-HD。注意,如果你网卡的强制速度/双工模式与路由器不匹配的话,可能会丢失网络连接:
[root@bigboy tmp]# mii-tool -F 100baseTx-FD eth0
另外,除了把这个命令放到/etc/rc.local文件中让它在每次启动结束前执行,或者创建你自己的启动脚本如果你需要它更早被执行,我们没有办法让它在重启后永久生效。
ethtool命令被指定在不久的将来替代mii-tool,目的是支持新的网卡。
用设备名称作为参数,命令可以提供其状态。这里我们可以看到设备eth0没有设置自动协商并设定为100 Mbps速度,全双工。在输出的顶端列出了其所支持的模式。
# ethtool eth0
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: No
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 1
Transceiver: internal
Auto-negotiation: off
Supports Wake-on: g
Wake-on: g
Current message level: 0x00000007 (7)
Link detected: yes
#
用ethtool设置网卡的速度参数
不同于mii-tool,ethtool可以通过设定设备配置脚本里的ETHTOOL_OPTS变量而永久生效。在下面例子里,设定了在下次重启时设置100 Mbps,全双工和不自动协商:
#
# File: /etc/sysconfig/network-scripts/ifcfg-eth0
#
DEVICE=eth0
IPADDR=192.168.1.100
NETMASK=255.255.255.0
BOOTPROTO=static
ONBOOT=yes
ETHTOOL_OPTS="speed 100 duplex full autoneg off"
你可以通过ifup和ifdown命令关闭和再激活设备,来测试这些参数。这些设定也可以通过在命令行中使用-s参数改变,后面跟上设备名称和相关配置参数。
# ethtool -s eth1 speed 100 duplex full autoneg off
#
Linux的man命令提供了ethtool选项的更详细说明,但你可以通过只输入ethtool命令获得一个快速的摘要。
# ethtool
...
...
ethtool -s DEVNAME \
[ speed 10|100|1000 ] \
[ duplex half|full ] \
[ port tp|aui|bnc|mii|fibre ] \
...
...