(已解决)让 CENTOS 通过完全相同的 eth 进行回复,而不管本地 IP 地址如何

(已解决)让 CENTOS 通过完全相同的 eth 进行回复,而不管本地 IP 地址如何

解决了:查看帖子结尾

网络图:https://i.stack.imgur.com/UUJxo.jpg

这称为非对称路由。我不想要它。之所以发生这种情况,是因为尽管请求按预期到达 eth0,但 Centos 识别出客户端源 IP 也属于服务器本地子网之一,并继续使用属于 eth1 的本地子网回复客户端。回复通信是在本地(交换机)进行的,绕过 PFsense,然后在 30 秒后终止连接,因为它从未看到服务器回复。

在 PFsense 中,有一个选项可以绕过属于同一子网的所有流量,而在 Centos 中,有一些选项可以缓解部分问题。net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.all.arp_announce = 1

在 PfSense 和 centos 中激活所有这些选项后,超时时间从 30 秒增加到 ~800 秒,但它们仍然像时钟一样发生。

我已经阅读过我应该能够标记到达@eth0的每个数据包并制定策略以始终始终使用eth0回复标记的数据包。

PS:服务器具有两个子网(192.168.0.x 和 10.10.10.x)的原因是客户端和服务器都在不同的 VLAN 上,并且服务器有两个用途。1- SMB 共享,出于防火墙目的,应始终通过 eth0 @ vlan 1680 进行访问。2- 客户端磁盘克隆/备份的 FTP,资源占用很大的流量,应始终通过 eth1 @ vlan 1010 进行访问,以绕过 pfSense 路由器,以免使其过载(我有许多客户端 PC 同时进行备份)。

我将非常感激您对最佳行动方案的一些意见。

答案1

解决方案:

我使用 ip route 和 ip rule 解决了我的问题。ip route 用于创建新路由,ip rule 用于告诉 linux 何时使用新路由。

1 - 创建一个新的路由表,仅用于解决此路由问题:echo 101 myroute>> /etc/iproute2/rt_tables

2 - 使用指令填充 myroute,以便将所有流量回复到您的 PfSense 盒的 IP 地址:ip route add default via 192.168.0.4 table 101

路由表 myroute 本身暂时不会产生任何影响。需要策略规则才能激活它。一旦激活,它将与标准路由表一起工作,标准路由表将保持不变。

3 - 添加规则:ip rule add from 192.168.0.78 table myroute

4 - 刷新路由表以重新加载设置:ip route flush cache

请注意,执行此操作时,通过本地子网(交换机)发送到服务器 ip 192.168.0.78 的所有流量都将通过 192.168.0.4 网关回复,因此本地连接将失败。

为了理解为什么新表取代了默认路由表,您应该阅读专门针对此问题的链接。

https://kindlund.wordpress.com/2007/11/19/configuring-multiple-default-routes-in-linux/

相关内容