Ubuntu Server 18.04无法设定IP地址

华为泰山2280服务器断电重启后无法通过网络访问,报错network is unreachable。出错原因排查过程。

Ubuntu Server 18.04无法设定IP地址

公司机房前段时间因检修停电。来电后,一台华为泰山服务器无法通过ssh连接,ping无响应。

人肉去机房连接键盘与显示器,Ubuntu已经正常启动。ping任何地址均报错 network is unreachable 。使用 ifconfig 查询发现本机网卡 eth0eth5 全部 没有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

iBMC中显示管理网口为 eth2

但是无论如何修改 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 连接,一切正常。