linux上两个常见的网卡报错

本篇解决两个常见的网卡报错:

1.Bringing up interface eth0:  Device eth0 does not seem to be present,delaying initialization. 

2.CentOS5: Device eth0 has different MAC address than expected

首先:第一个

1.Bringing up interface eth0:  Device eth0 does not seem to be present,delaying initialization. 大致意思是网卡eth0并没有准备好,无法完成初始工作。造成这种的原因一般是因为网卡驱动文件没能正确加载,需要仔细检查一下这个文件:vi /etc/udev/rules.d/70-persistent-net.rules

正确的配置应如下:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:bc:9a:86", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

其中ATTR{type}=="1"表示启用这个网卡,让其==0则会出现上述的错误。其中ATTR{address}=="00:0c:29:bc:9a:86"则是表示网卡的MAC信息,这个需要跟网卡配置文件(/etc/sysconfig/network-scripts/ifcfg-eth0)中的HWADDR一行(以eth0为例)保持一致,如果不一致,则会造成问题二,即MAC地址不一致。


当然,第二个问题也可以通过dmesg命令查看,如下:

[root@centos ~]# dmesg |grep eth0
e1000 0000:02:01.0: eth0: (PCI:66MHz:32-bit) 00:0c:29:bc:9a:86
e1000 0000:02:01.0: eth0: Intel(R) PRO/1000 Network Connection
e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
eth0: no IPv6 routers present
e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
ADDRCONF(NETDEV_UP): eth0: link is not ready
ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
eth0: no IPv6 routers present
这样也能查看出内核读到的网卡的MAC地址是多少,将这个地址保持跟 /etc/sysconfig/network-scripts/ifcfg-eth0中的HWADDR一行一致即可。


<think>嗯,用户想用四个网卡配置一个Linux bond。我之前学过的bond配置都是两个网卡的,四个的话步骤应该类似吧?不过我得仔细想想步骤对不对。首先,用户提到的四个网卡,需要确认他们的网卡名称,比如ens224、ens256这样的。用户可能已经知道怎么查看网卡状态,但还是要提醒用nmcli device status或者ip link来找。 接下来,创建bond接口的配置文件。根据引用里的例子,ifcfg-bond0,可能需要设置DEVICE=bond0,类型Bond,还有mode参数。用户需要选择bond模式,比如mode=4(802.3ad)可能需要交换机支持LACP。这时候需要提醒用户确认交换机配置,否则bond可能不工作。 然后,四个物理网卡的配置文件都要修改,把MASTER指向bond0,SLAVE=yes。每个网卡的配置文件都要改,比如ifcfg-ens224、ifcfg-ens256等四个。这一步容易出错,特别是网卡多的时候,用户可能漏掉某个或者拼写错误。需要强调逐一检查每个文件。 之后,用nmcli命令加载配置,重启网络服务或者重启NetworkManager。可能还要检查bond状态,用cat /proc/net/bonding/bond0看看四个接口是否都正确加入。这里要确认所有slave都显示出来,没有报错。 另外,用户可能不知道bond的不同模式之间的区别,比如mode=0是轮询,mode=1是主备,mode=4需要LACP。需要建议用户根据需求选择合适的模式,并确保网络设备支持。比如四个网卡做聚合的话,通常会用mode4来增加带宽和冗余。 还要注意配置文件中的ONBOOT=yes,不然重启后可能不生效。另外,IP地址和子网掩码要设置在bond接口上,而不是物理网卡,这点容易弄错。如果有UUID的话可能需要删除,避免冲突,不过nmcli可能自动处理。 最后,测试bond是否正常工作,比如断开一个网卡看流量是否切换到其他接口,或者用iperf测试带宽是否叠加。用户可能没有测试步骤,需要提醒他们验证配置是否成功。 可能的问题还有,如果某个物理网卡配置错误,bond无法启动。这时候需要查看日志,比如journalctl -xe来排查错误。或者使用nmcli connection up bond0来手动启动bond接口。 总之,步骤大致是确认网卡名称,创建bond配置文件,修改四个物理网卡配置,重启服务,验证状态。过程中需要特别注意模式选择和交换机配置的兼容性,以及配置文件的正确性。</think>### 如何用4个网卡创建Linux bond配置 #### 步骤说明 1. **确认网卡状态** 使用 `nmcli device status` 查看可用网卡名称(如 `ens224`, `ens256`, `ens192`, `ens160`)[^1][^2]。 2. **创建bond配置文件** 新建 `/etc/sysconfig/network-scripts/ifcfg-bond0`,内容示例: ```bash DEVICE=bond0 TYPE=Bond NAME=bond0 BONDING_MASTER=yes IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 ONBOOT=yes BOOTPROTO=none BONDING_OPTS="mode=4 miimon=100" ``` - `mode=4` 表示使用 IEEE 802.3ad 动态链路聚合(需交换机支持LACP协议)[^2] - `miimon=100` 表示每100ms检测一次链路状态 3. **配置物理网卡** 修改4个网卡配置文件(以ens224为例): ```bash DEVICE=ens224 NAME=ens224 TYPE=Ethernet MASTER=bond0 SLAVE=yes ONBOOT=yes BOOTPROTO=none ``` 其他三个网卡(ens256/ens192/ens160)需重复此步骤[^3]。 4. **加载配置并重启服务** ```bash nmcli connection reload systemctl restart NetworkManager ``` 5. **验证bond状态** ```bash cat /proc/net/bonding/bond0 ``` 输出应包含4个Slave接口信息及"LACP active"状态。 #### 关键参数说明 | 参数 | 功能说明 | 推荐值 | |---------------|----------------------------------|-------------| | mode | 绑定模式(0-6) | 4(LACP聚合) | | miimon | 链路监测间隔(ms) | 100 | | xmit_hash_policy | 流量分配策略(可选) | layer3+4 |
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值