使用 iptables 转发除某些特定端口之外的所有端口

使用 iptables 转发除某些特定端口之外的所有端口

我正在使用从伊朗到法国的 VPN (v2ray) 端口转发。我想使用伊朗服务器cpanel

现在我想将所有端口转发到法国服务器,但没有一些端口,例如 22 80 443 2082 2083 2086 2087 20 21。

原来的配置命令是

iptables -t nat -A PREROUTING -p tcp --dport 22 -j DNAT --to-destination 37.32.15.82
iptables -t nat -A PREROUTING -j DNAT --to-destination 151.80.242.230
iptables -t nat -A POSTROUTING -j MASQUERADE

现在我应该把不想转发的端口放在哪里,例如:22 80 443 2082 2083 2086 2087 20 21?

答案1

添加规则这些规则看起来像:

iptables -t nat -A PREROUTING -p tcp \
  -m multiport --dports 22,80,443,2082,2083,2086,2087,20,21 \
  -j RETURN

遗嘱RETURN将停止处理附加规则(并且数据包将根据链的默认策略进行处理)。

(当然,您可以为各个端口添加多个规则,而不是使用扩展multiport。)

相关内容