想象一下,在同一台主机上我有 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
我知道这很简单。