当我提出一个接口时,我只是解决了一个问题,但我无法解释它为什么起作用。 所以我正在找一个熟悉linuxnetworking栈的人来向我解释一下。
这台机器有两个Broadcom千兆网卡,使用tg3驱动程序。 OS是CentOS 5.7。 这些nics是在船上。
一个已经被configuration和工作。 我把一根电缆连接到第二个电缆上,另一端连接到一个千兆交换机上。
ethtool eth0(工作的那个)显示了一个链接,全双工,自动协商,千兆速度。 所以没有改变。
ethtool eth1,但是,没有链接。 链路指示灯亮起,但交换机上的链路指示灯显示它没有正确协商。 所以,我认为这是某种自动协商问题,并使用ethtool -s eth1 autoneg off speed 100 duplex full来尝试获得链接。 这失败了 – ethtool报告“无法设置新的设置无效的参数”。
经过多番思考和艰苦的思考,我不知所措,最后终于检查了ifcfg-eth1文件。 这有DHCP设置为开,虽然它被设置为ONBOOT = no。 这个networking上没有DHCP服务器。
另外,我还会补充一点,在这个过程中,我尝试了多次上下卡,当我做出以下更改时,卡已经closures。
我删除了BOOTPROTO = dhcp行,并将ONBOOT设置为yes,并为其提供有效的IP和其他常用设置。 ifup eth1和令人惊讶的是,链接已经实现。
我感到困惑的是,我会认为ethtool能够pipe理一个卡,并检测一个链接,而不需要参考该设备的osnetworking设置。 在过去的经验中,即使没有configuration以太网卡,或者“up”,ethtool也会在与卡有物理连接时显示链接。
但是,显然,至less在这种情况下,我的假设是不正确的。
有没有人有解释,为什么这种行为performance出来?
不是100%确定的,但我相信这个界面不需要configuration,但是它必须要up 。 你尝试了一个简单的ifconfig eth1 up或ip link set eth1 up吗?