Ubuntu Server 18.04无法设定IP地址
华为泰山2280服务器断电重启后无法通过网络访问,报错network is unreachable。出错原因排查过程。
公司机房前段时间因检修停电。来电后,一台华为泰山服务器无法通过ssh连接,ping无响应。
人肉去机房连接键盘与显示器,Ubuntu已经正常启动。ping任何地址均报错 network is unreachable
。使用 ifconfig
查询发现本机网卡 eth0
到 eth5
全部 没有IP地址。
Ubuntu 18.04 使用netplan实现网络配置。其配置文件在 /etc/netplan
文件夹下。使用 cat /etc/netplan/00-netcfg.yaml
命令查看配置,发现网卡名称为 enp3***
。将网卡名称修改为 eth0
,然后使用 netplan apply
指令使配置生效。继续使用 ifconfig
指令查询,依旧没有IP地址。
这个问题就比较奇怪了。考虑机房噪声且笔记本上网不便,将机器的管理端口连入网络,然后回工位使用办公电脑通过华为的iBMC远程管理。
翻了一下华为的说明书,这款机器上有两块网卡,6个接口——四个电口两个光口。在iBMC上发现 eth2
已经被配置为管理端口。盲猜有效的接口名称应该是 eth0
或者 eth1
。
但是无论如何修改 netplan 的配置文件, eth*
始终无法获得有效IP地址。后来干脆将BIOS,CPLD与IMBC全都升级了一遍,还是不行。
上网Google了一番,从各种回复来看这种情况要么是配置有问题,要么是网络硬件连接有问题。使用 lshw -c netowrk
命令查看全部网卡信息,发现全部存在 link=no
字段。 于是跑去机房将管理网口与业务网口的网线交换了一下,结果管理网口依旧正常,所以不太可能是网络硬件连接问题。
再次打开iBMC的系统信息页面,发现其中一款网卡存在一个有效连接。
在该连接的详情中可以看到对应网口的MAC地址 AA:BB:CC:DD:EE:FF
。
在ubuntu中使用 ifconfig -a
命令输出全部网卡信息,挨个仔细比对,终于发现问题所在——该连接MAC地址对应的网卡名称既不是 eth0
,也不是 eth1
,而是 eth2
——与iBMC的管理端口重名。
于是,修改 /etc/netplan/00-netcfg.yaml
配置文件,将网卡名称修改为 eth2
,执行 netplan apply
使之生效。然后使用 ifconfig
查看连接信息, eth2
终于有IP地址了。
eth2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.31.100.201 netmask 255.255.255.0 broadcast 172.31.100.255
inet6 fe80::f679:60ff:fe12:63a3 prefixlen 64 scopeid 0x20<link>
ether f4:79:60:12:63:a3 txqueuelen 1000 (Ethernet)
RX packets 4709 bytes 379245 (379.2 KB)
RX errors 0 dropped 2 overruns 0 frame 0
TX packets 355 bytes 50578 (50.5 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
远程通过 ssh 连接,一切正常。
Comments ()