我正在尝试配置一台具有 2 个以太网端口的服务器,以便在不同的子网上工作。我有端口 1,连接到网络 0,目前这也是我的互联网接入源。然后我有端口 2,连接到网络 1 的路由器,该路由器没有互联网接入。
我遇到的问题是,如果我从端口 1 接上电缆,并将其移至路由器,以便为网络 1 的路由器提供互联网访问,则似乎会添加一条新的默认路由规则。(最终,我将同时连接两个端口,并且流量将同时流向/流出每个端口/网络)
alan@afs:~$ ip route show
default via 192.168.3.1 dev eno1 proto static metric 11
default via 192.168.0.1 dev enp0s25 proto dhcp src 192.168.0.233 metric 100
如果我删除顶部规则,则第一个 port/0 网络可以正常工作。但是,在更换电缆后,出于某种原因,该规则会重新应用。
如果我将路由器上的电缆移回端口 1,规则保持不变,我无法访问互联网,因为它仍尝试使用其他接口。但我仍然可以使用此端口通过 ssh 进入系统。
我假设我在 netplan 中存在某些问题或者我的路由策略配置不正确,但我不确定是什么,因为它可以正常工作,因为在接口之间交换电缆之前每个端口都可以正常工作。
任何帮助都将不胜感激,我仍在学习很多东西。
我的 netplan 配置:
network:
version: 2
renderer: networkd
ethernets:
enp0S25:
dhcp4: false
addresses: [192.168.0.233/24]
routes:
- to: 0.0.0.0/0
via: 192.168.0.1
metric: 1
- to: 0.0.0.0/0
via: 192.168.0.1
table: 1
nameservers:
search: [WORKGROUP]
addresses: [8.8.8.8,8.8.4.4]
routing-policy:
- from: 192.168.0.233/24
table: 1
eno1:
dhcp4: false
addresses:
- 192.168.3.10/24
nameservers:
addresses: [8.8.8.8,1.1.1.1]
search: [WORKGROUP]
routes:
- to: 0.0.0.0/0
via: 192.168.3.1
metric: 11
- to: 0.0.0.0/0
via: 192.168.3.1
table: 11
routing-policy:
- from: 192.168.3.1/24
table: 11
编辑:我的另一个问题是,这是最好的方法吗?我经常更换以太网端口进行测试,并且经常需要同时访问两个网络。但是,如果只有一个接口可以访问互联网,我该如何通过当时拥有该接口的正确接口将流量引导到外部?
答案1
尝试更换区块
routes:
- to: 0.0.0.0/0
via: 192.168.0.1
metric: 1
- to: 0.0.0.0/0
via: 192.168.0.1
table: 1
到
routes:
- to: default
via: 192.168.0.1
我也不明白这个块是干什么的
nameservers:
addresses: [8.8.8.8,1.1.1.1]
search: [WORKGROUP]
routes:
- to: 0.0.0.0/0
via: 192.168.3.1
metric: 11
- to: 0.0.0.0/0
via: 192.168.3.1
table: 11
routing-policy:
- from: 192.168.3.1/24
table: 11
如果您只需要访问子网“192.168.3.0/24”并且永远不会使用它来访问互联网或其他网络,只需删除上面的阻止即可。
基本上将你的文件更改为如下所示
network:
version: 2
renderer: networkd
ethernets:
enp0S25:
dhcp4: false
addresses: [192.168.0.233/24]
routes:
- to: default
via: 192.168.0.1
nameservers:
search: [WORKGROUP]
addresses: [8.8.8.8,8.8.4.4]
eno1:
dhcp4: false
addresses:
- 192.168.3.10/24
编辑-当前配置:
network:
version: 2
renderer: networkd
ethernets:
enp0S25:
dhcp4: true
routes:
- to: default
via: 191.168.0.1
eno1:
dhcp4: false
addresses:
- 192.168.3.10/24
routes:
- to: 0.0.0.0/24
via: 192.168.3.1
答案2
您已在每个接口上声明了两个默认路由。在 上eno1
,您声明了一个路由策略,但两个路由中只有一个设置为使用该路由策略。您想要的是:
routes:
- to: 0.0.0.0/0
via: 192.168.3.1
table: 11
routing-policy:
- from: 192.168.3.1/24
table: 11
没有必要设定度量。