我的 yaml 文件是:
network:
version: 2
renderer: NetworkManager
ethernets:
enp2s0:
dhcp4: no
dhcp6: no
enp3s0:
dhcp4: no
dhcp6: no
addresses: [192.168.245.50/24]
bridges:
br0:
interfaces: [enp2s0]
dhcp4: no
dhcp6: no
addresses: [192.168.204.35/24]
nameservers:
addresses: [192.168.1.4,192.168.1.5]
search: [mydomain.xyz]
routes:
- to: 0.0.0.0/0
via: 192.168.204.1
metric: 200
type: unicast
在执行“netplan apply”命令后,我得到了错误的路由掩码(0.0.0.0/24):
$ sudo ip route
0.0.0.0/24 via 192.168.204.1 dev br0 proto static metric 200 linkdown
169.254.0.0/16 dev enp3s0 scope link metric 1000
192.168.204.0/24 dev br0 proto kernel scope link src 192.168.204.35 metric 425 linkdown
192.168.245.0/24 dev enp3s0 proto kernel scope link src 192.168.245.50 metric 100
$ sudo ip route del 0.0.0.0/24
$ sudo ip route add 0.0.0.0/0 via 192.168.204.1 dev br0 proto static metric 200
$ sudo ip route
default via 192.168.204.1 dev br0 proto static metric 200
....
当我指定正确的路由(见上文)时,接口启动,网络可用。重启后,错误路由再次出现。
该怎么办?
答案1
笔记:
检查我使用的网关 4 地址和 DNS 名称服务器/搜索值。我不确定将它们与主 IP 地址放在不同的子网上是否会导致 DNS 解析错误。
如果你不需要这座桥,你可以移动地址: 和路线: 节直接进入enp2s0(在 dhcp6 下)并删除桥梁: 部分。请注意缩进。
如果你复制/粘贴脚本,你可能需要删除每行开头的 4 个空格。这是因为当我使用{} code sample
使脚本可读时,它会在每行开头添加 4 个空格。保持缩进不变。
如果你没有任何无线接口,你可能需要更改网络管理器到网络化。
使用https://netplan.io/examples查看更多示例。
安装脚本后(作为唯一的 .yaml 文件)变成/etc/netplan
:
sudo netplan --debug generate
sudo netplan apply
reboot
network:
version: 2
renderer: networkd
ethernets:
enp2s0:
dhcp4: no
dhcp6: no
nameservers:
addresses: [192.168.1.4,192.168.1.5]
search: [mydomain.xyz]
optional: true
enp3s0:
dhcp4: no
dhcp6: no
addresses: [192.168.245.50/24]
gateway4: 192.168.245.1
nameservers:
addresses: [192.168.1.4,192.168.1.5]
search: [mydomain.xyz]
optional: true
bridges:
br0:
interfaces: [enp2s0]
addresses: [192.168.204.35/24]
routes:
- to: 0.0.0.0/0
via: 192.168.204.1
metric: 200
type: unicast