![服务器无法识别 VPN IP 地址,直接访问客户端地址](https://linux22.com/image/667274/%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%97%A0%E6%B3%95%E8%AF%86%E5%88%AB%20VPN%20IP%20%E5%9C%B0%E5%9D%80%EF%BC%8C%E7%9B%B4%E6%8E%A5%E8%AE%BF%E9%97%AE%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%9C%B0%E5%9D%80.png)
我在 Digital Ocean 上有一个 Ubuntu 服务器,运行 Apache 作为 Web 服务器。该服务器既可用作我的 Web 服务器,也可用作个人 VPN。
我正在尝试设置它,以便某些目录仅供连接到我的 VPN 的设备和其他某些请求者访问。但是,我的服务器似乎无法正确处理这个问题。
如果我访问任何 IP 检查器(ipchicken.com、icanhazip.com、dnsleaktest.com 等),它会显示我的 IP 地址为托管我的 VPN 的 Digital Ocean 服务器的 IP,104.2**.**.*
如果我断开与 VPN 的连接,它会显示我的 ISP 提供的 IP 地址 108.1**.*.***
我在服务器上放了一个 PHP 脚本,它只是打印出$_SERVER
变量。出于某种原因,无论我是否连接到 VPN,这个脚本总是显示[REMOTE_ADDR] => 108.1**.*.***
。
这可能是什么原因造成的?是不是因为 VPN 与 Apache 位于同一台服务器上,所以 Apache 在通过 VPN 运行之前就接收到了连接?我该如何解决这个问题?
答案1
“为什么我不使用 VPN 来访问同一个 VPN 的另一端?”
您无法连接到VPN通过同一个 VPN。这将涉及无限递归。VPN 端点的 IP 地址必须可直接访问,否则 VPN 本身将无法工作。