我最近将我的 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
有人能告诉我我真正需要哪些文件,哪些只是应该删除的垃圾吗?该系统只应该有一个桥接网络设备,并运行 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
答案1
如果您要升级到 18.04 并想要使用 netplan 而不是 ifupdown,那么您应该执行以下操作:
- 确保在网络出现故障时可以访问服务器
- 确保包
netplan.io
已安装(应该在 18.04 上)。 - 根据您的配置创建一个 netplan yaml。有很多例子从中选择。
sudo netplan apply
sudo apt purge ifupdown
- 重启
- 您现在应该已“迁移”,并且
networkctl
、ip addr
等应该会显示您的接口。
请注意,中仍会存在一些垃圾/etc/network/
。您可以删除/存档:
/etc/network/interfaces
/etc/network/interfaces.d/
其余的是“钩子”目录,其他软件包将文件放入其中,以尝试对系统的网络状态做出反应。这些文件应该保持不变。
如果你有任何文件放在其中,那么最好通过集成到 systemd 单元文件中或使用以下方法来完成这些相同的功能:网络调度程序. 更多信息请见netplan 常见问题解答。