【问题标题】:Apache allow/deny IP rules not working for OpenVPN on same server [closed]Apache 允许/拒绝 IP 规则不适用于同一服务器上的 OpenVPN [关闭]
【发布时间】:2015-05-31 18:05:08
【问题描述】:

我有一个 .htaccess 文件,它限制对文件夹的访问。唯一允许的 IP 是服务器 IP,我还使用密码保护文件夹:

order deny,allow
allow from X.X.X.X
deny from all

AuthUserFile /path/to/.htpasswd
AuthType Basic
AuthName "test"
Require user username

当我使用带有动态端口转发的 SSH 隧道访问文件夹 (ssh -fND 1080 user@host.com) 时,这非常有用。

现在我想通过安装在我的服务器上的 OpenVPN 而不是 SSH 来访问这个文件夹。我在我的 Debian GNU/Linux 虚拟专用服务器上安装了预配置的 OpenVPN 访问服务器,我可以使用sudo openvpn --config client.ovpn 和我的 VPN 用户名/密码进行连接。

当访问像http://whatismyipaddress.com/ 这样的网站时,我可以看到我的服务器 IP 地址出现了。 但是当我访问安装了 OpenVPN 服务器的 Apache HTTP 服务器时,我可以看到我的真实 IP 地址出现在 /var/log/apache2/access.log 中。 我没有与此服务器关联的域,并且希望通过服务器 IP 地址或托管服务提供商 (vpsXXXXX.ovh.net) 的默认域访问受保护的文件夹。 我的问题可能与Restricting Apache2 virtual host access only to a VPN的帖子有关 但我不使用域名访问服务器。

如果服务器使用相同的 IP 地址(但端口不同),HTTP 服务器如何获取 OpenVPN 服务器 IP 地址而不是我的真实 IP 地址?

【问题讨论】:

标签: apache .htaccess openvpn


【解决方案1】:

这与链接文章中的问题基本相同:如果您的 OpenVPN 服务器在 1.2.3.4 上并且 Apache 服务器正在侦听相同的 1.2.3.4 ip,当您连接到 Apache 服务器时,连接不会被路由通过 VPN,但通常通过 Internet。而且由于您没有通过 VPN 连接到 Apache 服务器,它会看到您的公共 IP。

一种解决方案是以某种方式将 vpsXXXXX.ovh.net 域(仅适用于您)解析为专用 IP,这将通过 VPN 路由您的连接 - 可能使用本地 DNS 服务器或手动编辑您的主机文件您的本地计算机。 如果您采用这种方法,您还必须让 Apache 使用 Listen x.y.z.t 监听私有 IP

不过可能有更好的解决方案。

相关:https://forums.opensuse.org/showthread.php/481949-Running-apache-when-using-an-openvpn-connection

【讨论】:

  • 感谢您的帮助。安装 OpenVPN Access Server 后,有 2 个接口 as0t0 和 as0t1。我检查了 tcpdump -i as0t1,VPN 流量正在通过 as0t1(私有 IP:172.27.232.1/21)。我没有本地 DNS 服务器,所以我在服务器上编辑了 /etc/hosts 并添加了“172.27.232.1 vpsXXXXX.ovh.net”而不是我服务器的真实 IP。它使用的是 Debian,并且在 /etc/apache2/ports.conf 中已经有“Listen 80”,所以我想我不需要添加“Listen 172.27.232.1:80”(它说地址已经在使用中)。然后我只需添加 和 ServerName? (现在不工作)
  • 这应该没问题,除了一件事:你必须编辑的是来自本地计算机的主机文件(不是服务器的主机文件)。
  • 好的,我的客户端计算机上的主机文件应该使用 OpenVPN 服务器的私有 IP 172.27.232.1?我也尝试在 tun0 上使用 OpenVPN 客户端的私有 IP,但在这两种情况下,修改 /etc/hosts 文件后 vpsXXXXX.ovh.net 域变得不可用。
  • 我不知道我的 VPS 服务器升级到 Debian 8 是否改变了一些东西,但我知道我的本地计算机的 /etc/hosts 上是否有“172.27.232.1 vpsXXXXX.ovh.net”,它正在工作!在我发布的最后一条评论中,我记得做了同样的事情,但是 vpsXXXXX.ovh.net 域没有响应。我不需要 ,因为我已经有了 。然后我将Allow from 172.27 添加到目录的 .htaccess 文件中,以仅允许连接 VPN 的用户访问。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-18
  • 2013-09-02
  • 2015-02-04
  • 2018-11-04
相关资源
最近更新 更多