netplan网络配置
前言
旧版本 ubuntu 使用 /etc/network/interfaces 配置网络,从 ubuntu 18.04 开始,配置网络使用 netplan
网络配置文件
路径
配置文件路径 /etc/plan,*.yaml即配置文件
多个配置文件的情况:Netplan 会按照文件名的字母顺序来解析多个配置文件。例如,如果有两个文件 01-netcfg.yaml 和 02-bridge.yaml,Netplan 会先处理 01-netcfg.yaml,然后处理 02-bridge.yaml
字母顺序的规则:
- 文件名的首字母:文件名的第一个字符决定了处理顺序。例如,
01-netcfg.yaml将在02-static.yaml之前处理,因为0的 ASCII 值小于2。 - 数字优先:数字在字母之前,因此以数字开头的文件会被优先处理。例如,
10-config.yaml会在a-config.yaml之前处理。 - 字母顺序:如果文件名的首部分是字母,按照字母表的顺序进行处理。例如,
a-config.yaml会在b-config.yaml之前处理。 - 文件扩展名:确保所有配置文件都以
.yaml结尾,以便 Netplan 正确识别。
修改
1 | network: |
说明:
- enp6s18:网络接口名称,以实际机器与名称为主
- dhcp4: IPv4 网络类型配置,true 为动态IP,false 为静态IP
- address:IP+子网配置,格式为”本机IP地址/子网掩码”
- routes:网关配置,via 为网关地址
- nameservers -> addresses: DNS 配置
应用
重启后才生效:
1 | sudo netplan generate |
即刻生效:
1 | sudo netplan apply |
问题记录
ubuntu重启后网络配置被重置
表现为每次重启和关机后,所设置的网络配置都会回复到安装系统时所设置的
/etc/netplan下有名为50-cloud-init.yaml 的配置文件
文件上面的注释如下:
1 | # This file is generated from information provided by the datasource. Changes |
所以解决方式如下:
1 | sudo vim /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg |
添加内容:
1 | network: {config: disabled} |
重启 cloud-init 服务:
1 | sudo cloud-init clean |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Meng's blog!