Назад | Перейти на главную страницу

Как мне настроить постоянное фоновое VPN-соединение для сервера Ubuntu / Apache2?

Мы создаем серверное приложение PHP на сервере Ubuntu 18.04 под управлением Apache 2.4.

Приложению необходимо подключиться к безопасному внешнему серверу, который может быть подключен только через VPN. Сервер работает из командной строки только через SSH.

Я могу настроить VPN через командную строку следующим образом:

Установите OpenConnect:

sudo apt install openconnect

Я не уверен на 100%, нужна ли эта команда:

sudo /sbin/modprobe tun

А затем подключитесь к VPN с помощью OpenConnect:

sudo -b openconnect vpn.example.com

Для подключения мне необходимо ввести следующую информацию:

  1. Название группы (например, "По умолчанию")
  2. Имя пользователя
  3. пароль
  4. Выберите вариант текстового меню для двухфакторной аутентификации (например, «1»)

Двухфакторная аутентификация проходит через приложение на моем телефоне.

Нам нужно иметь возможность делать все это, но иметь соединение, работающее постоянно в фоновом режиме, чтобы приложение PHP могло подключаться к защищенному серверу через VPN.

На данный момент, хотя я использую -b вариант: окно терминала не возвращается в командную строку и не дает мне никаких указаний на то, что VPN-соединение останется, если я закрою окно терминала / отключусь от сервера.

Если это поможет, мы используем следующий PHP для подключения:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://secure-server.example.com/api/');
curl_setopt($ch, etc. etc. etc.)
$response = curl_exec($ch);
curl_close($ch); 

Этот подход работает в локальной среде разработки (в Ubuntu 18.04).