Мне нужно подключиться к веб-сервису, который находится behind of a VPN
через PHP. Мой сервер – Debian Linux (Squeeze).
Хотя мой вопрос, кажется, концептуальный вопрос, любая конкретная помощь также приветствуется.
Серверная ОС : Debian Linux Squeeze (x64)
Веб-сервер : Apache HTTP
Версия PHP : 5.3
Рамки : Symfony 1.4
VPN находятся на сетевом уровне ниже PHP, PHP не знает и не заботится о том, что соединение связано с VPN или обычным подключением. Он обрабатывается сетевым стеком.
Если вы используете постоянный (например, IPSEC), то PHP не нужно создавать соединение, оно просто должно использоваться, когда PHP подключается к IP-адресу, который находится в VPN. Он выбирается для использования сетевым уровнем, когда он выполняет маршрутизацию, а не PHP. Это верно, даже если вы создаете VPN по требованию, поскольку jderda предлагает использовать exec () или аналогичный. Но постоянная связь лучше (IPSEC).
Поэтому, чтобы ответить на ваши вопросы:
С точки зрения PHP, VPN – это просто сетевое соединение. Это не требует дополнительной обработки.
Если вы хотите динамически установить VPN-соединение, вам, вероятно, понадобится использовать exec () и некоторый инструмент командной строки для установления соединения. Но поскольку такое соединение не мешает нормальной сетевой коммуникации (при условии, что она настроена правильно, с другим диапазоном IP-подсетей), вы должны установить ее один раз и сохранить ее для использования PHP и других приложений.