仅实施一条 IP 规则

仅实施一条 IP 规则

我的服务器中有 10g 卡。我需要配置该服务器,以便特定 IP 地址 (172.16.2.180) 的流量通过两个 10g 端口传输,第二个端口用于故障转移。

服务器仅实施我为主机创建的最后一条网络规则。我需要至少两条规则/端口来将流量隔离到 10g 并进行故障转移。

我添加了以下规则,在每条规则之后我测试了 ping 和“IP 路由获取”

以下是一个例子

[19:53:13] shock:~ # ip rule add from all to 172.16.2.180 lookup eth3
[19:53:22] shock:~ # ip rule add from all to 172.16.2.180 lookup eth4
[19:53:50] shock:~ # ip rule add from all to 172.16.2.180 lookup eth5
[19:54:18] shock:~ # ip rule add from all to 172.16.2.180 lookup eth6

[20:12:56] shock:~ # **ip route get 172.16.2.180 (Only Eth6 Active)**
172.16.2.180 dev eth6  src 172.16.2.178

[20:04:15] shock:/home/debug # **ip rule show**
0:  from all lookup local
57: from all to 172.16.2.180 lookup eth6 (Only Rule Being Implemented)
58: from all to 172.16.2.180 lookup eth5
59: from all to 172.16.2.180 lookup eth4
60: from all to 172.16.2.180 lookup eth3

Ping 结果

[19:55:30] shock:~ # *ping -I eth6 172.16.2.180* **(Only Ethernet Card Working)**
PING 172.16.2.180 (172.16.2.180) from 172.16.2.178 eth6: 56(84) bytes of data.
64 bytes from 172.16.2.180: icmp_seq=1 ttl=64 time=3.29 ms

[19:55:22] shock:~ # *ping -I eth5 172.16.2.180*
PING 172.16.2.180 (172.16.2.180) from 172.16.2.179 eth5: 56(84) bytes of data.
--- 172.16.2.180 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2499ms

[20:10:15] shock:~ # *ping -I eth4 172.16.2.180*
PING 172.16.2.180 (172.16.2.180) from 172.16.2.177 eth4: 56(84) bytes of data.
--- 172.16.2.180 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2387ms

[20:10:26] shock:~ # *ping -I eth3 172.16.2.180*
PING 172.16.2.180 (172.16.2.180) from 172.16.2.175 eth3: 56(84) bytes of data.
--- 172.16.2.180 ping statistics ---
6 packets transmitted, 0 received, 100% packet loss, time 5091ms

我仅使用三个端口启用规则和两个端口启用规则重现了此情况,结果相同。无论如何,我可以实施多个 IP 规则吗?

答案1

使用 vanilla 配置时,不支持此功能,因为这样做会违反路由器上的 ARP 规则。但是,大多数操作系统都有将两个物理端口组合/绑定在一起以充当一个逻辑端口的机制。由于您标记了 linux,下面是 RHEL 上设置 NIC 绑定的链接。它基本上会创建一个在物理接口之间共享的虚拟接口,并最终通过将 IP 地址分配给虚拟接口来允许 IP 地址进行故障转移。

通道绑定接口

为了完全清楚,Windows Server 2012 引入了团队合作,并且在 Server 2012 之前就有用于此目的的 NIC 制造商驱动程序。

相关内容