我有一个根服务器,希望实现某些 URL 受 VPN 控制,而另一些则不受控制。例如:www.mydomain.com或者subdomain1.mydomain.com不应受到 VPN 控制,[我的服务器的 ip]/pgadmin应该由 VPN 控制,这样只有 VPN 网络内的人才可以调用此地址。我也有点困惑最终结果应该是什么样子,因为如果公共 IP 是300.300.300.300/pgadmin,应该会被阻止,但在 VPN 中很可能10.0.0.1/pgadmin或者其他的东西。
我不太熟悉 VPN 配置,但这可能吗?如果可以,这是基于添加路由和 IPTables 吗?如果不是,我该如何解决所描述的问题?
答案1
有可能的。
VPN 软件有很多种,使用 OpenVPN 可能是最简单的一种。您可以使用 OpenVPN 为 VPN 客户端分配 IP 地址,然后使用标准 IPTABLES 防火墙规则(和/或服务器配置中的规则)来控制哪些 IP 可以访问哪些资源。
一旦有人通过 OpenVPN VPN 连接,他们就会显示为来自您分配的地址,而不是他们的外部 IP 地址。
答案2
这与 VPN 和 IP 安全完全无关 - 它只与基本的 Web 服务器安全有关。
基本上:
/pgadmin 应该只能从特定的 IP 地址(您在内部网络和/或通过 VPN 分发的 IP 地址)访问。
任何其他地址都会被拒绝访问。
简单、基本的“通过 IP 进行安全保护”就是您在阅读 Web 服务器(可能是 apache)的文档时学到的内容。
http://www.cyberciti.biz/faq/apache-restrict-access-based-on-ip-address-to-selected-directories/
有一些文档。它与 httpg.conf 文件一起使用...
条目如下所示:
<Directory /var/www/sub/payroll/>
Order allow,deny
Allow from 192.168.1.0/24
Allow from 127
</Directory>