Добрый день всем
Мне нужен сценарий --client-connected и сценарий --client-disconnect.
Моя проблема: в том, что я нигде не могу найти пример , Я искал последние 4 часа.
Я нашел только это из архива OpenVPN еще в 2006 году и пару запросов примеров, но недавних примеров найти не удалось.
Просматривая страницы документации и просматривая параметры и переменные среды, я чувствую себя потерянным.
Если кто-то желает поделиться / поделиться своими знаниями с помощью интуитивного примера, я бы очень приветствовал это.
Подключение / отключение скриптов в OpenVPN, управляемых операторами «вверх / вниз» в файле конфигурации (плюс «безопасность сценария 2», поэтому демон OpenVPN позволяет выполнять скрипты сторонних разработчиков). Вот пример (соединение p2p):
remote 1.2.3.4
dev tun123
ifconfig 1.1.1.2 1.1.1.1
secret /etc/openvpn/test.key
proto udp
port 1234
comp-lzo
nobind
keepalive 10 60
script-security 2
up "/script/location/up.sh"
down "/script/location/down.sh"
Кроме того, вы можете использовать параметры --up и --down, если используете исполняемый файл openvpn из cli.
Это был вопрос о примерах скриптов --client-connect? Если да, то все, что следует за bash
#!/bin/bash
message="$(echo -e "${common_name} connected to: ${HOSTNAME} \\nRemote:
${untrusted_ip} \\nVirtual: ${ifconfig_pool_remote_ip}")"
/usr/bin/create_notification -s news "${message}"
/usr/bin/notifier
exit 0
На самом деле на стороне сервера внутри файла конфигурации, который вы можете использовать:
# server vpn interface is up
up "/script/server_up.sh"
# server vpn interface is going down
down "/script/server_down.sh"
# client connected to VPN server
client-connect "/script/client_connect.sh"
# client disconnected from VPN server
client-disconnect "/script/client_disconnect.sh"
На стороне клиента вы будете использовать:
# Client connected to VPN server
up "/script/connected.sh"
# Client disconnected from VPN server
down "/script/disconnected.sh"
OpenVPN передаст множество переменных среды в ваш сценарий оболочки, который вы можете использовать для всего, что вы хотите.