答案1
Netplan 配置语法为 YAML,并且dhcp4
设置采用布尔值。
根据http://yaml.org/type/bool.html可接受的值为y
/ n
、yes
/ no
、true
/false
和on
/ 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
)。