Ubuntu为什么要更改网络配置


19

众所周知,要配置网络,我们可以进行编辑/etc/network/interfaces和执行/etc/init.d/networking restart

今天,我尝试使用Ubuntu 17.10,并且发现网络配置已更改。现在我们应该编辑/etc/netplan01-netcfg.yaml并执行netplan apply

好的,这可能是一个不好的问题,但是我真的很想知道为什么Ubuntu进行了这样的更改。有充分的理由来解释这种变化吗?


2
Martin Pitt(Canonical)在2016年的公告中写道:“有了netplan,所有 Ubuntu 都拥有中央/etc/netplan/*.yaml网络配置文件-Snappy,Server,Client,MaaS,cloud-init。...” wiki.ubuntu.com/Netplanpeople.canonical.com/~mtrudel/netplan
guiverc

这从16.04或16.10 iirc开始。
Rinzwind

Answers:


16

从“ 迁移到Netplan”的Ubuntu Wiki页面上:

基本原理

已实施Netplan以支持复杂网络配置的简单声明式表示,并解决了ifupdown的一些当前限制。Netplan提供了一种简单优雅的yaml配置格式,并支持多个后端提供程序。

netplan涵盖的ifupdown的一些缺点:

  • ifupdown不能使用纯声明性语法表示所有配置;因此我们无法解析配置
    • 所有netplan配置完全是声明性的。
  • ifupdown只能按名称表示接口,因此不能跨设备移植
    • netplan使用名称,MAC地址,驱动程序等进行匹配。
  • 复杂配置中的竞争条件
    • netplan在接口的定义中具有层次结构的上下文,因此该信息被传递到按正确顺序使用和应用的渲染器。

鉴于对复杂网络场景的需求不断增加(大型云使用通常需要对不同功能进行复杂的分层,例如VLAN上的绑定桥等),对于提高表示网络配置的简便性非常重要。

就像对更好但不兼容的事物进行了许多更改一样,将来的收获也会有些痛苦。

如果仍然需要/etc/network/interfaces,可以使用它。从上Netplan Ubuntu的wiki页面

我确实需要ifupdown,是否还可以使用它?

如果遇到确实需要使用ifupdown的情况 netplan,我们真的很想知道,所以您应该在Launchpad中提交一个错误

虽然我们不建议这样做,但是您可以在安装后删除netplanifupdown安装,然后/etc/network/interfaces手动填写以 按照您想要的方式配置网络。


众所周知,要配置网络,我们可以进行编辑 /etc/network/interfaces和执行/etc/init.d/networking restart

众所周知,这曾经严重破坏了台式机



1
我发现Ubuntu Wiki上的解释有很多无法解释的地方,例如,“ ifupdown的缺点”部分提到了复杂配置中的竞争条件,但没有给出此类配置的示例。网桥要求某些IF优先于其他IF,并且在netplan之前我从未遇到过这个问题,因此我不明白为什么将其列为缺点。TBH,整个页面的读起来就像是某人试图推动他们的宠物项目而没有充分解释它的更好之处-就像它试图解决已经使用ifupdown的ppl所没有的问题。
杰夫·韦林
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.