Устанавливающий Automatically проксирует и принтер по умолчанию на подключение OpenVPN

Согласно документации, mailbox_command имеет приоритет home_mailbox. Или отключите первого или настройте Ваш .procmailrc поставлять в Maildir (путем добавления суффикса почтовых ящиков наклонную черту, если не изменяет память).

1
задан 29 January 2010 в 16:42
1 ответ

Да, можно выполнить произвольные команды на стороне клиента или стороне сервера соединения OpenVPN, в Windows или любой другой ОС, в различных точках в соединении. Существует несколько опций (применимый на командной строке или в файле конфигурации), которые определяют что сценарий (сценарии) выполниться, и с какой параметры, для различных этапов процесса соединения.

Например, если Вы будете включать строку '"C:\my-up-script.bat"' в Вашем клиентском файле конфигурации OpenVPN, то Ваш клиент выполнится, любой сценарий пакетной обработки расположен в "C:\my-up-script.bat" после того, как это успешно открыло соединение VPN для сервера. Строка 'вниз "C:\my-down-script.bat"' означала бы выполнять сценарий "C:\my-down-script.bat" после завершения соединения.

Руководство OpenVPN (доступный полностью по http://openvpn.net/index.php/open-source/documentation/manuals/69-openvpn-21.html) перечисляет все различные сценарии и когда каждый выполняется:

SCRIPTING AND ENVIRONMENTAL VARIABLES
OpenVPN exports a series of environmental variables for use by user-defined scripts.

Script Order of Execution

--up
    Executed after TCP/UDP socket bind and TUN/TAP open.
--tls-verify
    Executed when we have a still untrusted remote peer.
--ipchange
    Executed after connection authentication, or remote IP address change.
--client-connect
    Executed in --mode server mode immediately after client authentication.
--route-up
    Executed after connection authentication, either immediately after, or some number of seconds after as defined by the --route-delay option.
--client-disconnect
    Executed in --mode server mode on client instance shutdown.
--down
    Executed after TCP/UDP and TUN/TAP close.
--learn-address
    Executed in --mode server mode whenever an IPv4 address/route or MAC address is added to OpenVPN's internal routing table.
--auth-user-pass-verify
    Executed in --mode server mode on new client connections, when the client is still untrusted.

При использовании OpenVPN GUI для Windows Вы могли бы также хотеть читать что руководство по инсталляции программы (http://openvpn.se/install.txt), конкретно раздел, наделенный правом "Запущенные Скрипты Подключения/Разъединения/Предварительного подключения". OpenVPN GUI выполняет демона OpenVPN как сервис Win32 с динамично определенными параметрами командной строки, таким образом, просто необходимо записать собственные сценарии и сохранить их в местоположениях, где сервисная обертка будет искать их.

Если Вы "самокрутка" с помощью установщика NullSoft NSIS, создающего инструкции (http://openvpn.se/files/howto/openvpn-howto_roll_your_own_installation_package.html), можно просто бросить сценарии в пакет, поскольку Вы создаете его. (Я не хочу вдаваться в большее количество подробностей об этой теме, потому что это довольно включено, и официальная документация объясняет все это намного лучше, чем я могу, здесь.)

Если бы Вы не знакомы с командами сценариев Windows, должны были добавить принтеры и установить конфигурации прокси, я предложил бы писать несколько коротких сценариев Visual Basic. Вы можете найти больше примеров на Google, но здесь являетесь начинающим для Вас, вдохновленный чем-то, что я нашел на форумах Petri (http://www.petri.co.il/forums/showthread.php?t=6486), настраивать новый принтер и делать его значением по умолчанию:

Set WshNetwork = CreateObject("WScript.Network")
WshNetwork.RemovePrinterConnection "\\MyGroupName\MyPrinterName"
WshNetwork.AddWindowsPrinterConnection "\\MyGroupName\MyPrinterName"
WshNetwork.SetDefaultPrinter "\\MyGroupName\MyPrinterName"

Сохраните это как .vbs файл, и необходимо смочь выполнить его и видеть изменения от любой машины, которая видит принтер. Кроме того, очевидно, необходимо будет заменить рабочую группу и названия принтера с собственным в каждой из последних трех строк.

При использовании предопределенных путей сценария пакетной обработки GUI OpenVPN можно запустить .vbs скрипт путем создания пакетного файла с именем собственным (как объяснено в документе, который я связал с, выше), содержа просто строку:

START C:\add_printer.vbs

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

up "C:\add_printer.vbs"

(Так или иначе необходимо будет заменить тот путь местоположением фактического .vbs сценария.)

'Вниз' сценарий мог работать тот же путь - вероятно, Вам просто будет нужен он для содержания одной строки, 'WshNetwork. RemovePrinterConnection "\MyGroupName\MyPrinterName"'.

1
ответ дан 4 December 2019 в 02:14
  • 1
    Есть ли способ сделать этот that' s инициированный " normal" механизмы DHCP, а не конкретно сценариями OpenVPN? –  pilcrow 16 February 2010 в 17:38
  • 2
    Нет, I' m вполне уверенный Вы can' t добавляют принтеры или устанавливают принтер по умолчанию, на основе опций DHCP. DHCP isn' t действительно разработанный для поддержки чего-либо, что сложный. Вы смогли устанавливать прокси, но меня don' t на самом деле знают. На доменах Windows любой вид усовершенствованной клиентской автоматической конфигурации обычно обрабатывается с GPOS, которые выполняют сценарии при запуске/завершении работы/входе в систему/выходе из системы. НО: при нахождении опции DHCP, Вы хотите передать клиенту OpenVPN, инструкции здесь: openvpn.net/index.php/open-source/documentation/howto.html#dhcp –  Ryan B. Lynch 18 February 2010 в 23:39
  • 3
    Спасибо, Ryan. Я didn' t средний выставляют опцию DHCP, я имел в виду, могу я настраивать клиент стек для распознавания этого it' s включил назад к знакомой сети, и примените произвольные настройки, специфичные для этого сети. В любом случае, однако, you' ve получил щедрость! –  pilcrow 22 February 2010 в 04:47

Теги

Похожие вопросы