前言

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 有线网络配置的基本操作

操作步骤

1. 创建网络配置文件

默认配置文件目录 /etc/netplan,从默认配置文件 copy 生成 netplan 新配置

sudo cp /etc/netplan/00-installer-config.yaml /etc/netplan/10-static-config.yaml

默认配置文件可能名称不同,可做保留处理,新配置文件增大"文件编号",配置后覆盖原有配置

netplan 获取配置文件会按字母顺序排列(Alphabetically)进行查找,

配置文件中不同的 key 会依次添加执行,重复的 key 后面配置会覆盖前面配置

2. 修改网络配置文件

通过 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 的子项

3. 应用网络配置

根据 yaml 配置文件生成后台配置文件,此时未生效,但重启后会生效(非必须)

sudo netplan generate

也可以用此命令临时测试 yaml 语法是否正确

配置网络生效

sudo netplan apply

执行此命令,网络配置即时生效

总结

如上为 netplan 有线网络的简单配置,其他无线网络,桥接网络等网络相关操作,netplan 也都可以配置,可通过参考网址中的官网查看更多 netplan 操作。

问题记录

1. apply 配置网络时,有如下警告信息

WARNING:root:Cannot call Open vSwitch: ovsdb-server.service is not running

解决办法:实际看网络配置成功且生效,暂未处理

2. ubuntu server 22.04 实体服务器启动网络超时

A start job is running for wait for network to be configured.

实体服务器运行 ubuntu 时,发现启动时间较长,

通过查看启动信息发现,会有如上信息阻塞,即网络配置卡住约 2min 时间。

解决办法:网络搜索后发现,此处为网络配置超时导致

实体服务器有多网卡,在开机启动配置网络时,只配置了单网卡网络,最终在 netplan 配置网络节点中增加 optional: true 项,改为非阻塞方式配置网络。

参考网址


https://netplan.io/

https://ubuntu.com/server/docs/network-configuration

Logo

一起探索未来云端世界的核心,云原生技术专区带您领略创新、高效和可扩展的云计算解决方案,引领您在数字化时代的成功之路。

更多推荐