如何在PHP中找到VPN客户端的IP地址

时间:2014-08-01 13:27:21

标签: php web-services ip-address vpn pptp

我在这个问题上一直在寻找一段时间,在与我的移动ISP搏斗之后,终于有了一个VPN客户端来测试......

......但是......

使用this code (great article)中的$_SERVER的所有其他解决方案似乎只返回VPN服务器地址的IP地址(192.168.1.sss)。

我的解决方案要求我向远程计算机(在VPN的末尾)发送消息,而不是主VPN服务器。

例如:

  1. 外部客户端浏览器填写一个发布到PHP页面(VPN:192.168.1.ccc
  2. 的表单
  3. 服务器www.example.com (192.168.1.sss)上的PHP页面然后编译一套指令,作为服务器发送到同一逻辑网络(通过VPN)上的远程计算机192.168.1.rrr
  4. ...麻烦的是,$ _SERVER []似乎返回192.168.1.sss而不是192.168.1.ccc

    即使我发送消息(使用CURL)到192.168.1.ccc,它也显示为未找到。

    关于如何以一种意味着我可以发送消息的方式获取网络已知的VPN客户端地址的任何想法?

    提前致谢。

1 个答案:

答案 0 :(得分:1)

我不认为在这种情况下可以检索原始客户端ip。客户端没有单独的本地地址,它通过vpn网关进行隧道传输。您可以通过网关将流量转发回客户端,具体取决于您的设置。这个question有一个iptables示例。