我无法获得关于如何为我们所看到的常见网络设置配置网络规划的良好思维导图。
- 两个网络接口
- 网络接口 A,连接到互联网 10.0.1.40/24,通过 DHCP 分配
- 网络接口 B,通过分配静态 IP (192.168.50.20/24) 的 192.168.50.1/24 连接到 192.168.50.1/24 上的网络
就像是:
network:
version: 2
ethernets:
eno1:
dhcp4: yes
enp6s0f1:
dhcp4: no
addresses:
- 192.168.50.20/24
gateway4: 192.168.50.1
看起来应该可行,但应用此后,似乎要么
- 服务器失去互联网访问权限,并且静态 IP 地址的优先级低于 dhcp 接口?那可能吗?
- 服务器可以访问网络,但无法与网络上的任何设备通信
192.168.50.1/24
(可能使用了错误的以太网卡)。
FWIW,从 netplan 中删除非 dhcp 接口并仅使用sudo ip addr add 192.168.50.20/24 dev eno2
“正常工作”,但是在重新启动后不会持续存在。
最终的路由表如下所示:
$ ip route
default via 192.168.50.1 dev enp6s0f1 proto dhcp src 192.168.50.11 metric 100
default via 10.1.10.1 dev eno1 proto dhcp src 10.1.10.178 metric 100
10.1.10.0/24 dev eno1 proto kernel scope link src 10.1.10.178
10.1.10.1 dev eno1 proto dhcp scope link src 10.1.10.178 metric 100
192.168.50.0/24 dev enp6s0f1 proto kernel scope link src 192.168.50.11
192.168.50.1 dev enp6s0f1 proto dhcp scope link src 192.168.50.11 metric 100
在本例中,是192.168.50.1
没有公共 Internet 访问权限的静态网络,但10.1.10.1
不使用路由。
按照您现在配置 Netplan YAML 文件的方式,您有两个默认路由设置。的输出
ip route
表明。第一个默认路由eno1
是从 DHCP 服务器提供给您的。另一个enp6s0f1
是在您的 YAML 文件中定义的。此外,每条默认路由的度量值为 100,因此一条默认路由不会获得高于另一条默认路由的优先级。您有两个选择...要么为 分配不同的度量,
eno1
以便它优先于enp6s0f1
,要么删除gateway4
的节enp6s0f1
。由于您指示所有互联网流量都应该出去eno1
并且enp6s0f1
严格用于192.168.50.0/24
子网,因此只需删除该gateway4
节,如下所示: