Netplan 覆盖以前的配置吗?

Netplan 覆盖以前的配置吗?

我有几个 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 generatenetplan 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 {a bridge} scope global enp0s3
       valid_lft forever preferred_lft forever
    inet {a DHCP address} brd {and associate bridge} 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快速轻松地禁用?

相关内容