我需要在一系列端口上进行端口转发和转换。
如果我做:
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 2000:3000 -j DNAT --to 192.168.1.41:4000-5000
它无法正常工作。如果我连接到 WANIP:2001,它会尝试连接到 192.168.1.41:4000,而不是 192.168.1.41:4001。
有没有办法在不创建 1000 条 iptables 规则的情况下做到这一点?
答案1
没有办法像你尝试的那样进行范围映射。你可以编写一个 3 行脚本来为你生成规则,但那将是一个糟糕的黑客行为。我真的认为你在这里走错了路。@Zoredache 已经尝试建议这可能根本不是正确的解决方案。请更明确地说明你的情况,以便我们提出一些建议。
您可能确实需要某种类型的 NAT,但有几种类型,包括可以将流量通过所有端口双向路由到一台机器的全直通,而其他机器可以单向跟随。请告诉我们您的架构,我们可以提出合适的解决方案。设置 1000 条 iptables 规则不是问题。