我有以下设置:
一台带有两个网卡的计算机连接到两个不同的路由器。 第一台路由器将所有来自5122端口的外部stream量redirect到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.创build路由表/规则
使用规则创build路由表,将其用于标记的数据包。
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
这应该工作。