如何在从 16.04 升级到 18.04 的 ubuntu 服务器上启用 netplan

Kar*_*arl 14 netplan

我最近将我的16.04服务器系统升级到18.04,然后尝试使用netplan设置网络。不幸的是,现在我的网络设置坏了,我不知道哪些文件属于哪个网络配置系统。

/etc/network/interfaces 文件仍然包含数据,而 /etc/network 中还有一堆其他文件,我不知道它们的用途。

我想要做的是使用以下配置重新开始:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp4s0:
      dhcp4: yes
      dhcp6: yes
  bridges:
    br0:
      interfaces: [enp4s0]
      dhcp4: true
      parameters:
        stp: false
        forward-delay: 0
Run Code Online (Sandbox Code Playgroud)

谁能告诉我我实际需要哪些文件以及应该删除哪些文件?这个系统应该只有一个桥接网络设备,并且运行 openssh-server、lxc 和 docker。这是目前的情况:

# tree network
network
??? fan
??? if-down.d
?   ??? resolvconf
?   ??? ubuntu-fan
??? if-post-down.d
?   ??? bridge -> /lib/bridge-utils/ifupdown.sh
?   ??? ifenslave
?   ??? ubuntu-fan
?   ??? vlan
?   ??? wireless-tools
??? if-pre-up.d
?   ??? bridge -> /lib/bridge-utils/ifupdown.sh
?   ??? ethtool
?   ??? ifenslave
?   ??? vlan
?   ??? wireless-tools
??? if-up.d
?   ??? 000resolvconf
?   ??? avahi-daemon
?   ??? ethtool
?   ??? ifenslave
?   ??? ip
?   ??? openssh-server
?   ??? ubuntu-fan
??? interfaces
??? interfaces.d

5 directories, 21 files
# tree netplan
netplan
??? 01-netcfg.yaml

0 directories, 1 file
# tree NetworkManager/
NetworkManager/
??? conf.d
    ??? 10-ubuntu-fan.conf
Run Code Online (Sandbox Code Playgroud)

dpb*_*dpb 22

如果您要升级到 18.04 并希望使用 netplan 而不是 ifupdown,那么您应该执行以下操作:

  1. 如果网络出现故障,请确保您有办法访问您的服务器
  2. 确保netplan.io安装了软件包(它应该在 18.04 上)。
  3. 根据您的配置创建一个 netplan yaml。有很多例子可供选择。
  4. sudo netplan apply
  5. sudo apt purge ifupdown
  6. 重启
  7. 您现在应该“迁移”,并且networkctlip addr等等,应该表现出你的接口。

请注意,/etc/network/. 您可以删除/存档:

  • /etc/network/interfaces
  • /etc/network/interfaces.d/

其余的是“钩子”目录,其他包将文件放入其中尝试对系统的网络状态做出反应。这些文件应该单独放置。

如果您已将任何文件放入其中,通过集成到 systemd 单元文件或使用networkd-dispatcher可以更好地完成这些相同的功能。在netplan 常见问题解答中查看更多信息。

  • 确保你是“apt install netplan.io”。注意.io!我犯了和你一样的错误,所以我不得不“apt purge netplan” (2认同)