Ubuntu 17.10+netplan管理网络配置netplan generate vs netplan apply

Ubuntu 17.10 以后使用 netplan 管理网络配置时很常见,它们的作用不太一样。

1. netplan generate生成对应配置文件

  • 作用:根据 /etc/netplan/*.yaml 配置文件,生成对应后端(NetworkManager 或 systemd-networkd)的配置文件。

  • 输出位置

    • 如果系统用的是 systemd-networkd,生成的配置会放到 /run/systemd/network/
    • 如果系统用的是 NetworkManager,则转换成 NM 能识别的配置
  • 特点:只做配置转换,不会真正应用到网卡。

👉 类比:只是“编译”配置文件,但不生效。


2. netplan apply生成且应用

  • 作用:在执行 generate 的基础上,将新生成的配置应用到网络接口。
  • 过程:会调用 networkdNetworkManager 来重新加载配置,使 IP、路由、DNS 等立即生效。
  • 风险点:如果新配置有问题,网络可能会断掉。

👉 类比:相当于“编译 + 立即运行配置”。


3.提示

  • 一般修改 /etc/netplan/01-netcfg.yaml(或其他 yaml)后,直接运行:

    1
    sudo netplan apply

    就可以了,generate 会在 apply 时自动执行。

  • 如果你只是想检查生成的配置是否正确,而不想立即生效,可以先用:

    1
    sudo netplan generate

    然后去 /run/systemd/network/ 看生成的文件。