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

Подключиться к интерфейсу управления openvpn на сокете домена unix

Это должно быть очень просто, думаю, я упускаю что-то очевидное.

В документации OpenVPN указано, что вы можете запустить интерфейс управления на сокете домена Unix. Хорошо, без проблем, я попробовал.

openvpn --dev tun --management /dev/openvpn unix

это кажется работать; устройство создается, и запускается OpenVPN.

Но как подключиться к интерфейсу управления? Это не TCP, поэтому Netcat работать не будет. Я попытался передать команды прямо в сокет и получил ошибку:

$ echo "help"| /dev/openvpn
bash: /dev/openvpn: No such device or address

Я знаю, что мне не хватает чего-то базового, но я не смог найти в Интернете примеров того, как кто-либо действительно подключается к интерфейсу управления через сокет домена Unix.

Я ответил сам, через 1 минуту после публикации.

Краткий ответ: «Используйте socat».

Ссылка: https://unix.stackexchange.com/questions/26715/how-can-i-communicate-with-a-unix-domain-socket-via-the-shell-on-debian-squeeze

Длинный ответ:

$ apt-get install socat
$ socat - UNIX-CONNECT:/dev/openvpn
>INFO:OpenVPN Management Interface Version 1 -- type 'help' for more info

РЕДАКТИРОВАТЬ: Что я в итоге сделал

Мне не понравилась идея установки нового инструмента, когда telnet / netcat через TCP работает хорошо. Итак, в конце концов я настроил OpenVPN с помощью прослушивателя управления TCP и заблокировал (через брандмауэр и hosts.allow) внешний доступ к порту, который он прослушивает. т.е. можно подключиться только к порту управления OpenVPN на локальном хосте.