我有几个 netplan 配置文件,其中一个用于静态配置机器
# /etc/netplan/02-static-config.yaml
network:
ethernets:
enp0s3:
addresses:
- {my static IP}
gateway4: {my gateway}
nameservers:
addresses:
- { some }
- { DNS servers }
dhcp4: false
version: 2
以及一个非常简单的配置,以使用 DHCP
# /etc/netplan/03-dhcp-config.yaml
network:
ethernets:
enp0s3:
dhcp4: true
addresses: []
version: 2
然后,我编写了几个 shell 脚本,将 DHCP 脚本重命名为01
(如果我想要静态) 或03
(如果我想要 DHCP),然后调用netplan generate
和netplan apply
。
不幸的是,尽管文档似乎暗示addresses
映射03-dhcp-config.yaml
应该覆盖02-static-config.yaml
:
按字典顺序排列的后续文件(无论它们在哪个目录中)进行了修改(新的映射键)或覆盖(相同的映射键)以前的。 ed:重点是我的。
我实际看到的是两个地址绑定到同一个接口。
username@machine:~$ ip address show enp0s3
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:6d:2c:d6 brd ff:ff:ff:ff:ff:ff
inet {my static IP} brd {broadcast addr} scope global enp0s3
valid_lft forever preferred_lft forever
inet {a DHCP address} brd {broadcast addr} scope global secondary dynamic enp0s3
valid_lft 691170sec preferred_lft 691170sec
inet6 fe80::a00:27ff:fe6d:2cd6/64 scope link
valid_lft forever preferred_lft forever
我该如何进行03-dhcp-config.yaml
覆盖02-static-config.yaml
?或者:我该如何02-static-config.yaml
快速轻松地禁用?