Назад |
Перейти на главную страницу
Как протолкнуть скрипт с сервера, чтобы он запускался на клиенте?
У меня есть устройство, к которому я больше не могу подключиться (ssh, salt, ...), у меня нет простого физического доступа, но которое по-прежнему открывает сеанс OpenVPN для моего сервера. Чтобы попытаться восстановить его, я бы хотел:
- на сервере принудительное переподключение для этого клиента
- когда клиент повторно подключается - нажмите сценарий, который клиент будет выполнять (сначала я бы посмотрел, что происходит, с помощью дампа журналов и конфигураций, а затем, возможно, восстановил правильные настройки)
Есть решение для сценарии, запускаемые на клиенте после его подключения но все предполагают, что это выбор клиента (= конфигурация находится на стороне клиента). Я ищу наоборот.
Я вижу, что проблема безопасности связана с таким подходом (провайдер VPN может взять на себя клиентскую машину), но, может быть, есть способ, который не очевиден из документации?
Чтобы заставить клиента повторно подключиться, вы можете:
- удалить конкретный исходный IP-адрес и комбинацию исходного порта, используя iptables в ВЫВОД цепочка или адрес назначения и порт назначения в ВВОД на более длительный период времени, чем интервал ping-restart,
- убить указанного клиента в интерфейсе управления OpenVPN: посмотреть здесь
- перезапустите OpenVPN service @ server, все вышеперечисленное вызовет новый обмен симметричным ключом, новые сокеты и новый номер порта dst.
Почему нельзя выполнить скрипт:
- тебе здесь не повезло. Сценарии настроены и должны быть расположены на стороне клиента, AFAIK, даже ccd OpenVPN не позволяет этого, правильная директива конфигурации «pull» требуется и на стороне клиента - чтобы сервер мог использовать самые основные параметры туннеля, такие как: cipher размеры буфера, сжатие, маршруты и т. д., но не директивы конфигурации сценариев.
в конфигурации по умолчанию OpenVPN работает без каких-либо привилегий, - это было бы дырой в безопасности.