Как узнать, установлен ли туннель OpenVPN?

Вопрос или проблема

Как узнать, установлен ли туннель VPN на сайте OpenVPN? Кроме того, чтобы проверить пинг другой стороны, есть ли команда или что-то, что показывает статус туннеля?

В дополнение к тому, что предложил @quanta:

  1. Используйте интерфейс управления OpenVPN и его команду “status”.

“man openvpn” расскажет вам, как настроить и использовать этот интерфейс (ищите “–management”)

OpenVPN в режиме одноранговой связи (1.x), сервера (2.x) и клиента (2.x) выдает разные выходные данные, но позволит вам увидеть, подключен ли он. В режиме сервера будут перечислены все подключенные клиенты.

  1. OpenVPN может сбрасывать свой статус в текстовый файл каждые n секунд. Снова, “man openvpn” (ищите “–status”). Содержимое файла будет точно таким же, как результат команды управления статусом.

  2. OpenVPN может выполнять произвольный скрипт, когда соединение установлено, закрыто, демон запущен или перед завершением работы и т. д., на практике вы можете написать скрипт для почти любого действия. Ничто не запрещает вам использовать, скажем, уведомления рабочего стола из скрипта-подвески.

Ищите “SCRIPTING” в “man openvpn”.

Конечно, каждый из этих вариантов может быть добавлен в конфигурационный файл openvpn, если вы опустите ведущее “–“.

В общем, я настоятельно советую вам полностью прочитать страницу man, просто чтобы быть в курсе того, что она может делать и каковы последствия.

Конфигурация openvpn:

# Вывести короткий файл статуса, показывающий
# текущие соединения, усеченный
# и переписываемый каждую минуту.
status /var/log/openvpn.status

/var/log/openvpn.status:

СПИСОК КЛИЕНТОВ OPENVPN                                                      
Обновлено,Пт Авг 10 09:35:37 2018                                         
Общее имя,Настоящий адрес,Полученные байты,Отправленные байты,Подключено с       
client3,111.222.33.44:57006,24439169,25564869,Вт Июн 26 21:07:37 2018  
raspberry,44.33.222.111:43656,17175937,18342688,Пн Июл  9 12:58:34 2018
ТАБЛИЦА МАРШРУТИЗАЦИИ                                                            
Виртуальный адрес,Общее имя,Настоящий адрес,Последняя ссылка                        
172.20.0.18,client3,111.222.33.44:57006,Вт Июн 26 21:07:39 2018        
172.20.0.14,raspberry,44.33.222.111:43656,Пн Июл  9 12:58:35 2018      
ГЛОБАЛЬНАЯ СТАТИСТИКА                                                             
Максимальная длина очереди bcast/mcast,0                                           
КОНЕЦ         

Вы можете легко разобрать его

Хотя --status предоставляет информацию о состоянии VPN, по моему опыту это не то, что можно надежно разобрать для статуса подключения.

Хотя вы можете просто использовать что-то вроде --up "/usr/bin/touch /tmp/openvpn-connected" (действительно используйте уникальный путь или случайное значение с чем-то вроде --up "/usr/bin/env bash -c 'echo $random_id > /tmp/openvpn-connected'", которое вы в конечном итоге будете ожидать).

Затем просто ждите, пока файл не появится (можете использовать ionotifywait или более простой timeout 10 bash -c 'while [ ! -e /tmp/openvpn-connected ]; do sleep 0.5; done'), как было отвечено в других вопросах:

Также можно использовать --down '/usr/bin/rm /tmp/openvpn-connected', чтобы удалить его, как только соединение потеряно

  1. Проверьте журналы на обеих сторонах.
  2. sudo /sbin/ifconfig, чтобы убедиться, что интерфейс tun/tap работает.
  3. route -n, чтобы исследовать таблицу маршрутизации.

Просто используйте следующую команду в терминале.

tail -f -n 15 /var/log/openvpn/status.log

СПИСОК КЛИЕНТОВ OPENVPN
Обновлено,XXXXXXXXXXXX
Общее имя,Настоящий адрес,Полученные байты,Отправленные байты,Подключено с
XXXXXXXXXXXX
XXXXXXXXXXXX
ТАБЛИЦА МАРШРУТИЗАЦИИ
Виртуальный адрес,Общее имя,Настоящий адрес,Последняя ссылка
XXXXXXXXXXXX
ГЛОБАЛЬНАЯ СТАТИСТИКА
Максимальная длина очереди bcast/mcast,1
КОНЕЦ

Ответ или решение

Чтобы узнать, установлен ли туннель OpenVPN для сетевого соединения «сайт-сайт», существует несколько способов помимо простого пинга на другой конец соединения. Ниже представлены методы, которые помогут вам проверить статус туннеля OpenVPN:

  1. Проверка интерфейса TUN/TAP:
    Используйте команду:

    sudo /sbin/ifconfig

    Убедитесь, что интерфейс TUN/TAP поднят и работает. Вы должны увидеть что-то вроде tun0 с IP-адресом, который соответствует настроенному для вашего туннеля.

  2. Изучение таблицы маршрутизации:
    Запустите команду:

    route -n

    Это поможет вам проверить наличие маршрутов, связанных с вашим виртуальным VPN-соединением. Вы должны увидеть маршруты, которые указывают на ваш туннельный интерфейс.

  3. Просмотр логов:
    Проверьте файлы логов OpenVPN на обеих сторонах. В логах в /var/log/openvpn/openvpn.log или указанном вами файле логов должно быть указано, что туннель был установлен успешно.

  4. Использование интерфейса управления OpenVPN:
    OpenVPN поддерживает интерфейс управления, который позволяет вам получать информацию о состоянии подключений. Чтобы использовать этот интерфейс, добавьте строки в конфигурацию вашего OpenVPN:

    management localhost 7505

    После этого вы можете подключиться к интерфейсу управления с помощью telnet и использовать команду status, чтобы получить текущую информацию о клиентских подключениях.

  5. Используйте --status:
    Чтобы OpenVPN выводил статус в текстовый файл каждые несколько секунд, можно настроить параметр --status в конфигурации OpenVPN:

    status /var/log/openvpn/status.log

    Этот файл можно будет просматривать и парсить для получения информации о текущих подключениях.

  6. Автоматизация проверки с помощью скриптов:
    Вы можете настроить произвольный скрипт, который будет выполняться при установке или разрыве соединения. Например, с помощью параметра --up можно создать файл при установлении соединения:

    --up "/usr/bin/touch /tmp/openvpn-connected"

    А с помощью --down удалить его:

    --down "/usr/bin/rm /tmp/openvpn-connected"

    Затем можно использовать команду wait, чтобы дождаться появления файла /tmp/openvpn-connected.

  7. Использование команды в реальном времени:
    Вы также можете использовать команду для отслеживания статуса в реальном времени:

    tail -f -n 15 /var/log/openvpn/status.log

    Это позволит вам видеть изменения в статусе подключений живьем.

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

Оцените материал
Добавить комментарий

Капча загружается...