如何动态生成iptables规则?

如何动态生成iptables规则?

大家好。
我有一个以下问题 - 我的本地网络中有很多计算机(大概有 40 台,这个数字可能还会增加),我想从互联网上远程访问所有这些计算机。所有这些机器都通过一个网关/防火墙/任何其他东西连接到内部网络,并安装了 debian 6.0.7。我可以在 debian 网关上使用 iptables 执行类似以下操作:

iptables -t nat -A PREROUTING -p tcp --dst %ip% -- dport 43001 -j DNAT --to-destination 192.168.0.1:%remotedesktopport%
iptables -t nat -A PREROUTING -p tcp --dst %ip% -- dport 43255 -j DNAT --to-destination 192.168.0.255:%remotedesktopport%

那么,192.168.0.1 机器的所有者将希望在家工作,他会很容易地做到这一点,192.168.0.255 等也是如此。
但我如何才能为我所有的本地网络制定相同的规则?也许有一种比手动输入 255 条 iptables 规则更优雅的方法?也许有一些技巧可以动态解决重定向,例如

-A PREROUTING -d %ip% -p tcp --dport 43%three-digits-number-var% -j DNAT --to-destination 192.168.0.%three-digits-number-var%

其中 %three-digits-number-var% 是从 0 到 255 的变量?我希望有人能帮助我或指出我的错误,因为我对网络和 Linux 还很陌生。

更新。我当前配置的主要思想是端口号与本地 IP 匹配。例如,端口 43001 对应 192.168.0.1,端口 43005 对应 192.168.0.5,等等。因此,仅指定端口范围不起作用。或者这是由于某种巫术?...

答案1

使用 iptables 时,你可以使用以下方式指定端口范围

--dport 43000:43255

我认为你真正需要做的是建立一个VPN 服务器以便您的远程工作人员可以使用它来连接到您的办公室网络。

相关内容