所以我有这个带有 10 个外部 IP 的盒子,还有 10 个用户。每当用户连接到我的 VPN 时,我都希望他通过我从 10 个外部列表中拉取的专用 IP 访问互联网。这对我来说非常重要。我设法让一切都正常运行,但我似乎无法找到解决这个问题的方法。
client1 will have ip 98.xxx.123.12
client2 will have ip 98.xxx.123.13
client3 will have ip 98.xxx.123.14
etc...
任何想法/解决方案都将受到高度赞赏。谢谢。
答案1
现在您已启动并运行 OpenVPN。您为客户端分配了哪些地址?您使用的是私有地址还是其他?
您可以将 OpenVPN 桥接到外部接口,然后将公共地址分配给客户端。如果您当前正在分配地址,并且想要/需要保持这种状态,那么您可以设置 NAT。
这在很大程度上取决于您的配置,您需要告诉我们更多有关如何设置 OpenVPN 的信息,因为它非常灵活。
答案2
如果您有 10 个用户和只有 10 个可用 IP 地址,则以客户端可以看到其公共地址的方式进行配置是不可能的(但我可能错了)。
我确信会起作用的是:为客户端分配静态私有 IP,在 VPN 服务器上按 IP 执行 SNAT。
像往常一样使用 OpenVPN 设置客户端,但添加每个客户端的配置。您需要查看的是client-config-dir
和ifconfig-pool-persist
。
例如,使用如下的池文件:
cn-for-cert-1,10.75.23.4 cn-for-cert-2,10.75.23.6
你将拥有cn-for-cert-1
以下文件:
ifconfig-推 10.75.23.3 10.75.23.4
与cn-for-cert-2
:
ifconfig-推 10.75.23.5 10.75.23.6
最后,您将设置静态 SNAT:
-s 10.75.23.4 -j SNAT --到源 98.xx.123.12