在netplan中设置dhcp的正确方法

在netplan中设置dhcp的正确方法

在一些教程中(这里这里)关于netplan dhcp4的出现方式如下:

network:
 version: 2
 renderer: networkd
 ethernets:
   enp2s0:
    dhcp4: no

或者

    dhcp4: yes

但在网络规划示例博客 ubuntu有时会以如下方式出现:

    dhcp4: true

或者

    dhcp4: false

在其他示例中,它显示为“不是/是”

在 Ubuntu 18.04 中设置 dhcp 的正确方法是什么(是/否或者真假)?谢谢

答案1

Netplan 配置语法为 YAML,并且dhcp4设置采用布尔值。

根据http://yaml.org/type/bool.html可接受的值为y/ nyes/ notrue/falseon/ off,全部采用小写、首字母大写或全部大写。

所以你列出的所有方法都是正确的。

规范的(如果必须区分的话,“最正确的”)形式将是小写的y/ n

然而,定义说:

布尔值代表真/假值。为了便于阅读,布尔值被格式化为英文单词(“true”/“false”、“yes”/“no”或“on”/“off”),并且可以缩写为单个字符“y”/“n”或“是”/“N”。

因此,您可以使用任何一种您认为最容易阅读的形式。

答案2

在较新版本的 netplan 中,no配置参数的值似乎不再起作用。

更糟糕的是,这似乎暗示着true

所以我建议将其替换为false,这至少解决了我的问题。

答案3

当我有两台服务器都运行 Ubuntu 22.04.2 并且其中一台没有获得 DHCP IPv6 地址时,我也遇到了同样的问题。

在比较这两个配置时,正在工作的服务器有

dhcp6: yes

并且不工作的服务器有

dhcp6: true

更改为 yes 后,然后运行netplan apply​​Voilà!我有一个 IPv6 地址。当它出现时,true我必须手动运行dhclient -6 <iface>以获取 v6 地址,所以我知道netplan根本没有执行 dhclient 调用。

根据 telcoM 的回答,如果 y/n 是最正确的表示,他们似乎已将其切换为仅接受 y/n|是/否。在阅读 sascha.arthur 的答案后,建议更改为 false,因为 no 对他们不起作用,这使得这更加令人困惑。

我建议尝试这两种情况。我目前的netplan 0.105(检查apt list --installed | grep netplan)。

相关内容