Ssh

如何將所有流量從特定埠路由到特定網路介面?

  • December 13, 2016

我有以下設置:

具有連接到兩個不同路由器的兩個網卡的電腦。第一個路由器將來自埠 5122 的所有外部流量重定向到埠 22。這樣我就可以使用 ssh 連接到機器。

我希望僅將第一個路由器用於 ssh 連接。沒有其他的。所以我希望通過第二個路由器引導所有其他流量。

我怎樣才能做到這一點?

像這樣:

1.標記數據包

在每個前往埠 5122 的數據包上設置一個標記。

iptables -A PREROUTING -t mangle -p tcp --dport 5122 \
 -j MARK --set-mark 1

如果您想將其限制為目標 ip 為 10.10.10.10 的數據包,或者像這樣:

iptables -A PREROUTING -t mangle -p tcp -d 10.10.10.10/32 --dport 5122 \
 -j MARK --set-mark 1

2.創建路由表/規則

使用規則創建路由表,以將其用於標記的數據包。

echo 201 ssh5122.out >> /etc/iproute2/rt_tables
ip rule add fwmark 1 table ssh5122.out

3.添加路線

添加路由表對應的路由。

ip route add default via $ssh_router_ip dev $ssh_router_interface \
 dev table ssh5122.out

那應該行得通。

引用自:https://serverfault.com/questions/820477