我需要通过PHP连接到behind of a VPN
web服务。 我的服务器是Debian Linux(挤压)。
虽然我的问题似乎是一个概念上的问题,但也欢迎任何具体的帮助。
服务器操作系统 :Debian Linux Squeeze(x64)
Web服务器 :Apache HTTP
PHP版本 :5.3
框架 :Symfony 1.4
VPN位于PHP之下的网络层,PHP不会知道或关心连接是通过VPN还是正常的连接。 它由网络堆栈处理。
如果您使用永久性的(例如IPSEC),则PHP不需要创建连接,只要在PHP连接到VPN中的IP地址时使用即可。 它被选择由网络层使用,而不是通过PHP进行路由。 即使按需创建VPN也是如此,因为jderda建议使用exec()或类似的方法。 但永久连接更好(IPSEC)。
所以要回答你的问题:
从PHP的角度来看,VPN只是一个普通的网络连接。 它不需要额外的处理。
如果你想动态建立一个VPN连接,你可能需要使用exec()和一些命令行工具来建立一个连接。 但是,因为这样的连接不会干扰正常的网络通信(只要配置正确,并且具有其他子网ip范围),您应该建立一次并保持活动状态,以便PHP和其他应用程序使用。