Linux
特定 src 埠的多網關路由
我有兩個網關可以訪問網際網路,不知何故我想對其進行負載平衡,到目前為止它的工作,但某些連接或服務需要使用持久網關 IP,因此客戶端一旦連接到 dest,就不應更改其網關。,我目前的實現似乎是循環或其他。
這是我的iproute
... ... default nexthop via 192.168.1.1 dev eth0 weight 1 nexthop via 192.168.1.2 dev eth0 weight 1
現在我想以某種方式修復它,客戶端將使用的網關是預先確定的,例如通過使用源埠,如果源埠是偶數我們使用 gw.1,奇數通過 gw.1,我們可以使用 ip路線?
*請注意,我這裡只有一個出站介面:eth0。
使用帶有標記數據包的策略路由。我不確定它是什麼配置格式,但你應該在你的發行版中檢查它。
在命令行中它應該看起來像(未經測試但應該可以工作)
iptables -A PREROUTING -t mangle -p tcp --dport 22 --set-mark 0x1 -j CONNMARK echo "200 ssh" >> /etc/iproute2/rt_tables ip rule add fwmark 1 table ssh ip route add default dev eth0 via 192.168.1.2 table ssh
**編輯:**行
echo "200 ssh" >> /etc/iproute2/rt_tables
用名稱“ssh”命名路由表 200。它被保存在靴子之間。