4x1G
我正在为在同一网卡上具有端口的硬件获取共置服务。两个端口已插入,它们对应于我的操作系统(Ubuntu Server 20.04)上的 eno5 和 eno6 接口。提供商已为我分配了一个/24
ipv4 子网,他们说我可以使用其上的两个端口。让我们考虑xx.xx.xx.0/24
是我的 IP 范围,xx.xx.xx.1
是我的网关。我想要运行的场景是分配xx.xx.xx.2
给eno5
和。我期望的行为是从发出的流量也通过xx.xx.xx.3
发出。eno6
xx.xx.xx.3
eno6
eno6
netplan
到目前为止,我已经提出了以下配置,可以在两个单独的配置文件中进行调整:
相关的配置eno5
是/etc/netplan/conf5.yaml
:
network:
version: 2
renderer: networkd
ethernets:
eno5:
dhcp4: false
dhcp6: false
addresses:
- xx.xx.xx.2/24
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
routes:
- to: 0.0.0.0/0
via: xx.xx.xx.1
table: 500
metric: 500
routing-policy:
- from: xx.xx.xx.2/24
table: 500
相关的配置eno6
是/etc/netplan/conf6.yaml
:
network:
version: 2
renderer: networkd
ethernets:
eno6:
dhcp4: false
dhcp6: false
addresses:
- xx.xx.xx.3/24
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
routes:
- to: 0.0.0.0/0
via: xx.xx.xx.1
table: 600
metric: 600
routing-policy:
- from: xx.xx.xx.3/24
table: 600
现在,我有两个 IP 可用。我的意思是,如果我从远程机器 ping,xx.xx.xx.2 和 xx.xx.xx.3 都会成功响应。我也可以在我的机器内运行成功的 ping:
ping -I eno5 google.com
ping -I eno6 google.com
一切都很好,直到我想xx.xx.xx.3
从远程机器 ssh 下载一个大文件。当我在下载完成后尝试这样做时,我没有看到eno6
tx 计数移动太多。相反,tx 计数移动eno5
很大。我使用以下方法检查计数:
> ip -s link show eno5
link/ether d4:f5:ef:4b:54:6c brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
237309112 35714 0 901 0 913
TX: bytes packets errors dropped carrier collsns
991989133 54400 0 0 0 0
> ip -s link show eno6
link/ether d4:f5:ef:4b:54:6d brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
153728525 19980 0 933 0 945
TX: bytes packets errors dropped carrier collsns
2582 29 0 0 0 0
xx.xx.xx.3
我得出结论,我发送给( )的 ssh 请求eno6
是通过 响应的eno5
。我是对的吗?
我的策略路由或整个配置的哪一部分是错误的,导致出现这种情况?
请帮忙。
答案1
经过几个晚上的头痛,我发现这种情况不需要任何策略路由。我只需要为每个接口默认路由确定不同的指标。这是最终的工作配置:
相关的配置eno5
是/etc/netplan/conf5.yaml
:
network:
version: 2
renderer: networkd
ethernets:
eno5:
dhcp4: false
dhcp6: false
addresses:
- xx.xx.xx.2/24
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
routes:
- to: 0.0.0.0/0
via: xx.xx.xx.1
metric: 500
相关的配置eno6
是/etc/netplan/conf6.yaml
:
network:
version: 2
renderer: networkd
ethernets:
eno6:
dhcp4: false
dhcp6: false
addresses:
- xx.xx.xx.3/24
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
routes:
- to: 0.0.0.0/0
via: xx.xx.xx.1
metric: 600