众所周知,要配置网络,我们可以编辑/etc/network/interfaces
和执行/etc/init.d/networking restart
。
今天尝试使用 Ubuntu 17.10,发现网络配置已经改变。现在我们应该编辑/etc/netplan01-netcfg.yaml
并执行netplan apply
。
好吧,这个问题可能不太好问,但我真的想知道为什么 Ubuntu 会做出这样的改变。是否有充分的理由来解释所有这些变化?
答案1
来自 Ubuntu Wiki 页面迁移到 Netplan:
基本原理
Netplan 已实现支持复杂网络配置的简单、声明性表示,并解决 ifupdown 的一些当前限制。Netplan 提供了一种简单而优雅的 yaml 配置格式,支持多个后端提供商。
netplan 涵盖了 ifupdown 的一些缺点:
- ifupdown 无法用纯声明语法表示所有配置;因此我们无法解析配置
- 所有的 netplan 配置都是纯声明性的。
- ifupdown 只能通过名称来表示接口,因此无法跨设备移植
- netplan 使用名称、MAC 地址、驱动程序等进行匹配。
- 复杂配置中的竞争条件
- netplan 在接口的定义中具有层次结构的上下文,这样这些信息就可以按照正确的顺序传送到所使用的渲染器并应用。
鉴于对复杂网络场景的需求不断增加(大型云使用通常需要不同功能的复杂分层,例如 VLAN 上的绑定桥接等),提高表示网络配置的简易性已显得非常重要。
就像对一些更好但不兼容的事物进行许多改变一样,未来的收益必然会伴随着一些痛苦。
如果你仍然需要/etc/network/interfaces
,你可以使用它。从Ubuntu Wiki 上有关 Netplan 的页面:
我确实需要 ifupdown,我还能使用它吗?
如果你遇到需要使用
ifupdown
而不是 的 情况netplan
,我们非常希望了解,所以你应该在 Launchpad 中提交错误。虽然我们不建议这样做,但是您可以
netplan.io
在ifupdown
安装后删除名为 的包,然后手动填写/etc/network/interfaces
以按照您想要的方式配置您的网络。
众所周知,要配置网络,我们可以编辑
/etc/network/interfaces
和执行/etc/init.d/networking restart
。
众所周知,曾经严重损坏桌面。