前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于ubuntu系统下使用netplan做网关配置无法生效的排查

关于ubuntu系统下使用netplan做网关配置无法生效的排查

原创
作者头像
yiwei
修改2024-10-15 13:46:29
4210
修改2024-10-15 13:46:29
举报
文章被收录于专栏:yiwei的专栏

在一次服务器例行重启维护后,发现网络无法联通,带外登录发现IP未能配置在网卡上。以下是一些排查步骤:

操作系统版本:Ubuntu 20.04.1 LTS

查看/etc/netplan路径下yaml文件配置,此前我配置了双网卡做bonding,配置文件01-netcfg.yaml中的内容如下:

代码语言:txt
复制
network:
        ethernets:
                eno1: {}
                eno2: {}
        version: 2
        renderer: networkd
        bonds:
                bond0:
                        addresses: [ 10.2.30.43/24 ]
                        gateway4: 10.2.30.3
                        interfaces:
                                - eno3
                                - eno4
                        parameters:
                                mode: active-backup
                                mii-monitor-interval: 100
                        nameservers:
                                addresses:
                                        - 10.2.66.66
                                        - 10.35.88.77

netplan默认使用networkd作为网路管理工具(yaml配置文件中也有renderer: networkd

字样),通过systemctl status systemd-networkd查看networkd的运行状态,无明显异常。

手工执行netplan --debug apply,有如下输出

代码语言:txt
复制
DEBUG:command generate: running ['/lib/netplan/generate']
** (generate:1460): DEBUG: 14:26:04.184: Processing input file /etc/netplan/01-netcfg.yaml..
** (generate:1460): DEBUG: 14:26:04.184: starting new processing pass
** (generate:1460): DEBUG: 14:26:04.184: We have some netdefs, pass them through a final round of validation
** (generate:1460): DEBUG: 14:26:04.184: eno3: setting default backend to 1
** (generate:1460): DEBUG: 14:26:04.184: eno4: setting default backend to 1
** (generate:1460): DEBUG: 14:26:04.184: networkd: definition eno1 is not for us (backend 1)
** (generate:1460): DEBUG: 14:26:04.184: networkd: definition eno2 is not for us (backend 1)

发现日志输出就此止步,没有bond0网卡相关配置输出。

查看系统日志,发现如下信息:

代码语言:txt
复制
systemd-udevd[1017]: /run/systemd/network/01-netcfg.yaml.link: No valid setting found in the [Match] section, ignoring file.

netplan在系统启动阶段会使用systemd-generator来生产对应的网络配置,同时查看/run/systemd/network路径下,未发现bond0网卡相关的配置。初步推断是netplan工具本身有问题。

经过一番查找,有其他案例也碰到过这样的情况,线索指向netplan的版本兼容性问题(相关链接:https://bugs.launchpad.net/ubuntu/+source/netplan.io/+bug/1922898),通过dpkg -l | grep netplan查看版本号为0.99,文中建议升级至102版本以规避该bug。

在软件仓库中http://security.ubuntu.com/ubuntu/pool/main/n/netplan.io/找到对应操作系统版本的netplan.io版本,推荐是netplan.io_0.102-0ubuntu1~20.04.1_amd64.deb,然后通过dpkg -i netplan.io_0.102-0ubuntu1~20.04.1_amd64.deb安装。安装成功后,再次通过dpkg -l | grep netplan查看版本是否已更新。

最后通过netplan apply重启,发现配置成功生效。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档