我有两个 NIC,都连接到私有网络,一个连接到死胡同网络,另一个可以通过 NAT 连接到互联网。
当我启动这两条路由时,默认路由会切换到无处可去的网络,并且所有网络都不再起作用。
我试过了
routes:
- to: 0.0.0.0/0
via: <gateway address>
metric: 1
从该死的手册页和 netplan 生成返回未知的关键路线
当文档明显错误时,就会喜欢它。
有人知道我该如何告诉 netplan 使用哪个网卡上网吗?设置默认路由?
非常令人沮丧。
谢谢。
编辑:好的……看来我已经搞明白了。路由与接口相关联,而不是全局的。就像……
ethernets:
enp0:
name: enp0s3
addresses: [192.168.0.128/24]
gateway4: 192.168.0.1
nameservers:
addresses: [8.8.8.8,8.8.4.4]
routes:
- to: <network>
via: <gateway address>
metric: 1
enp1:
<etc...>
routes:
- to: <network>
via: <gateway address>
metric: 5
至少生成不会引发错误并且路线会出现改变。
答案1
正如您在问题中所述,netplan 手册页是错误的。在手册页的示例中,routes
错误地将以下内容放在与以下内容相同的级别ethernets
:
network:
version: 2
renderer: NetworkManager
ethernets:
id0:
match:
macaddress: 00:11:22:33:44:55
wakeonlan: true
dhcp4: true
addresses:
- 192.168.14.2/24
...
routes:
- to: 0.0.0.0/0
via: 11.0.0.1
metric: 3
正确的方法是将路由放在路由经过的接口下,例如:
network:
...
ethernets:
id0:
addresses:
- 10.0.0.2/24
...
routes:
- to: 192.168.0.0/16
via: 10.0.0.1
答案2
[解决方案] 有点...
我在问题中输入的 netplan 路由是正确的,并且有效。我的问题原来是 Virtualbox 的网络不稳定。它在某一时刻运行良好,然后在下次重新启动时毫无原因地失败。
是时候尝试一下 VMPlayer 了。