在同一端口上复用多个服务(按源端口区分)

在同一端口上复用多个服务(按源端口区分)

想象一下,在同一台主机上我有 2 个服务:一个 ssh 守护进程监听端口 22 一个ocks5代理监听端口 1080

我想仅使用端口 22 但取决于源端口来复用这两个服务。

例如:如果源端口是 (1,2,3,4,5,6) 之一,则转到 1080,否则转到端口 22

该规则以一种方式起作用

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 22 -m multiport --sports 1,2,3,4,5,6 -j REDIRECT --to-ports 1080

但我不知道回去的路上该制定什么规则。

我想大概是这样的:

iptables -t nat -A POSTROUTING -p tcp -m tcp .....

但我似乎没有找到合适的人选。

更新:这似乎适用于单个端口:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 22 --sport 2 -j DNAT --to :1080

答案1

现在我们开始:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 22 -m multiport --sports 1:6 -j DNAT --to :1080

我知道这很简单。

相关内容