(已解決)無論本地 ips 如何,通過完全相同的 eth 使 CENTOS 回复
**已解決:**檢查文章的結尾
網路圖:https ://i.imgur.com/5mc2woO.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- 出於防火牆目的,應始終通過 eth0 @ vlan 1680 訪問 SMB 共享。2- 用於客戶端磁碟複製/備份的 FTP,資源繁重的流量,應始終通過 eth1 @ vlan 1010 訪問,以繞過 pfsense 路由器以免使其過載(我有許多客戶端 PC 同時進行備份) .
對於最佳行動方案,我將不勝感激。
解決方案:
我使用 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/