前言
netplan 为 linux 提供了一套统一的网络配置方式,旧版本 ubuntu 使用 /etc/network/interfaces 配置网络,从 ubuntu 18.04 开始,修改使用 netplan 方式,新版本也不例外。
如流程图所示
systemd-networkd 为 systemd 中网络配置相关的部分,
network manager 为图形接口的后台配置程序,
*.yaml 为 netplan 对应配置文件,通过 netplan 工具,生成对应的 systemd & network manager 对应的配置文件,以此实现统一网络配置接口。
如下记录 virtual-box ubuntu server 22.04 有线网络配置的基本操作
操作步骤
- 创建网络配置文件
默认配置文件目录 /etc/netplan,从默认配置文件 copy 生成 netplan 新配置
sudo cp /etc/netplan/00-installer-config.yaml /etc/netplan/10-static-config.yaml
默认配置文件可能名称不同,可做保留处理,新配置文件增大”文件编号”,配置后覆盖原有配置
netplan 获取配置文件会按字母顺序排列(Alphabetically)进行查找,
配置文件中不同的 key 会依次添加执行,重复的 key 后面配置会覆盖前面配置
- 修改网络配置文件
通过 vim 修改配置文件,文件内容如下
This is the network config written by ‘user’
network:
ethernets:
enp0s3:
dhcp4: false
addresses:
– 10.0.2.15/24
routes:
– to: default
via: 10.0.2.2
nameservers:
addresses:
– 114.114.114.114
– 8.8.8.8
version: 2
配置文件说明
enp0s3:网络节点名称,以实际机器与名称为主
dhcp4: IPv4 网络类型配置,true 为动态IP,false 为静态IP
address:IP+子网配置,格式为”本机IP地址/子网掩码”
routes:网关配置,via 为网关地址
nameservers -> addresses: DNS 配置
配置文件注意事项
yaml 格式,修改时较容易出错,apply 如有错误信息,按提示对应修改
如下几项需要特别注意:
缩进正确,每一个子项配置都需要有对应的缩进,平级项配置需要对其
yaml 所有缩进都是空格,vim 中配置 “:set list”,可打开不可见字符显示,空格为空白显示
网关配置层级为 routes -> to -> via,注意缩进,yaml 中 “-” 代表列表,via 为 列表 to 的子项
- 应用网络配置
根据 yaml 配置文件生成后台配置文件,此时未生效,但重启后会生效(非必须)
sudo netplan generate
也可以用此命令临时测试 yaml 语法是否正确
配置网络生效
sudo netplan apply
执行此命令,网络配置即时生效
总结
如上为 netplan 有线网络的简单配置,其他无线网络,桥接网络等网络相关操作,netplan 也都可以配置,可通过参考网址中的官网查看更多 netplan 操作。
问题记录
- apply 配置网络时,有如下警告信息
WARNING:root:Cannot call Open vSwitch: ovsdb-server.service is not running
解决办法:实际看网络配置成功且生效,暂未处理
- ubuntu server 22.04 实体服务器启动网络超时
A start job is running for wait for network to be configured.
实体服务器运行 ubuntu 时,发现启动时间较长,
通过查看启动信息发现,会有如上信息阻塞,即网络配置卡住约 2min 时间。
解决办法:网络搜索后发现,此处为网络配置超时导致
实体服务器有多网卡,在开机启动配置网络时,只配置了单网卡网络,最终在 netplan 配置网络节点中增加 optional: true 项,改为非阻塞方式配置网络。
参考网址
https://ubuntu.com/server/docs/network-configuration————————————————