使用时netplan generate
我不断收到错误消息:
gateway4
已弃用,请改用默认路由。
对于 netplan 中的静态 IP 地址分配,我始终使用以下结构:
network:
version: 2
renderer: networkd
ethernets:
eno1:
dhcp4: false
dhcp6: false
addresses:
- 192.168.10.10/24
gateway4: 192.168.10.1
nameservers:
addresses: [192.168.10.1]
显然gateway4
是引用了gateway4: 192.168.10.1
,但是我们如何解决它呢?
答案1
当前要替换的语法gateway4
是routes
and 。to
via
对于上面基于192.168.10.0/24
网络的网络规划,它将是:
routes:
- to: default
via: 192.168.10.1
所以整个配置将是:
network:
version: 2
renderer: networkd
ethernets:
eno1:
dhcp4: false
dhcp6: false
addresses:
- 192.168.10.10/24
routes:
- to: default
via: 192.168.10.1
nameservers:
addresses: [192.168.10.1]
目前有一个非常好的参考资料,其中充满了实际示例: https://netplan.io/examples/
处理 netplan 文件时的另一个技巧yamllint
可以为您省去很多麻烦。
sudo apt install yamllint
sudo dnf install yamllint
sudo pacman -S yamllint
例如,我引入了一个小的格式错误:
- to: default
via: 192.168.10.1
然后当我运行时yamllint
,我会得到一个行号,它应该有助于追踪错误所在。
yamllint /etc/netplan/01-netplan.yaml
28:9 error syntax error: expected <block end>, but found '?' (syntax)
如果您有任何语法错误(例如间距问题),yamllint 将为您提供问题的行号。
希望这能让您netplan generate
一切netplan apply
顺利!
sudo netplan generate
sudo netplan --debug apply