- OpenVPN server на Windows server ,авторизация логин\пароль?
- Настройка OpenVPN. Подключение к бесплатным серверам VPN Gate
- Настройка OpenVPN для Windows
- Настройка OpenVPN для MacOS
- Выполняю установку, настройку, сопровождение серверов. Для уточнения деталей используйте форму обратной связи
- openvpn и авторизация по логину/паролю : 6 комментариев
OpenVPN server на Windows server ,авторизация логин\пароль?
Добрый день! Сразу скажу что речь идет об авторизации на серверной стороне OpenVPN которая установлена на Windows Server 2016.
Что имеем: Windows server 2016 и настроенном на нем OpenVPN сервер с авторизацией по сертификатам. Все работает!
Но понадобилось дополнительно настроить авторизацию по логину и паролю. Пробовал различными методами:
В обоих случаях в логах сервера при авторизации появляется
openvpn_execve: CreateProcess C:\Program Files\OpenVPN\config\auth.py failed: Unknown error (errno=193) WARNING: Failed running command (–auth-user-pass-verify): external program did not execute – returned error code -1 TLS Auth Error: Auth Username/Password verification failed for peer
Как с VBS скриптом так и с Python скриптом.
Python в среде windows успешно запускает скрипты py из cmd с указанием ключа python name_script.py
Прошу помощи и советом ,а если кто то настраивал на Windows server именно OpenVPN сервер с авторизацией через скрипт еще лучше!
Я не знаю, что там за говноскрипты, да ещё и под форточками, но почему бы тебе просто не запустить второй экземпляр сервера на другом порту? для этого, если что, понадобится второй конфиг-файл и указание OpenVPN использовать именно его. Кстати, покажи лог полностью (чувствительную информацию типа адресов можешь вырезать)
Надо обязательно замазать свои 10.8.0.X хосты))
Вдруг у него сервак на внешку смотрит?
Да он смотрит во внешку..
WARNING: Failed running command (–auth-user-pass-verify): external program did not execute – returned error code -1
При подключении юзера происходит ошибка выше , и проверка логина\пароля не происходит
может быть проще поднять виртуалку с linux ?
Проще чем что? Наладить скрипт проверки логина пароля? Серьезно?
Здесь форум о линукс, знаете ли.
Ну это понятно, и ovpn изначально *nix утилита, не спорю, но хелпа ищу везде где можно, почему то это редкость на винде ставить сервер OVPN
Python в среде windows успешно запускает скрипты py из cmd с указанием ключа python name_script.py
В небо. Указать что-то в виде «C:\\PATH-TO-python\\python.exe C:\\PATH-TO-SCRIPT\\scriptname.py» Только тут тоже с пробелами в пути надо по аккуратнее уже не помню как оно на шинде, но вроде так правильно.
ЗЫ Адепты PS говорят, что на нем можно чуть-ли на в космос улететь, может на нем накостыляете? А так я бы вообще на чемнидь конпеляемом свое наваял. Там же просто, надо вернуть или нолик или единичку.
Да,все верно, на cmd (bat) что то сообразить да соображалки не хватает…, есть в статьях на скрипте vbs но опять же ошибка…
Погуглил за вас, вроде python скрипт можно сконпелять в exe. Нагуглите сами ссылок много.
Ты полный лог-то покажи. Да ещё конфиг и ключи, с которыми запускаешь
Тут возможны варианты, если CreateProcess это то о чем я подумал в виде функции, то есть вероятность что все осталось как и 20 лет назад. Тогда только бинарник подпихивать. Читать исходники ovpn под шинду честно лень.
Да никто там не отвечает, удивительно что никто с этой задачей не сталкивался…
Попробовал, уже конечно без 193 ошибки, но теперь тоже самое только
WARNING: Failed running command (–auth-user-pass-verify): external program did not execute – returned error code -1
А мог бы поставить линукс в виртуалке и уже через час во всю пользоваться фичей.
Возможно это UAС или другие fw приблуды от шинды.
удивительно что никто с этой задачей не сталкивался…
Видимо по тому, что никому в голову не приходило такое делать.
Настройка OpenVPN. Подключение к бесплатным серверам VPN Gate
Настройка OpenVPN для Windows
Данная инструкция демонстрирует, как подключиться к серверу ретрансляции VPN Gate, используя клиент OpenVPN в системах Windows XP, 7, 8, 10, Server 2003, 2008, 2012.
1. Установите клиентское приложение OpenVPN для вашей операционной системы. Запустите установочный файл. Откроется мастер установки. Следуйте подсказкам на экране, чтобы выполнить установку приложения.
2. Скачайте и загрузите файл конфигурации подключения OpenVPN (файл. ovpn). Данная процедура требуется только при первичной настройке подключения.
Файл конфигурации формата *.ovpn понадобиться для подключения к серверу ретрансляции VPN Gate через протокол OpenVPN.
Загрузить файл конфигурации (OpenVPN Config file) можно на странице списка открытых бесплатных серверов ретрансляции http://www.vpngate.net/en/. Выберите VPN-сервер, к которому вы хотите подключиться и нажмите на соответствующий файл *.ovpn, чтобы скачать его на рабочий стол или папку загрузки.
После сохранения файла на компьютере, он будет отображаться как иконка OpenVPN. Тем не менее, вы не сможете установить подключение, просто дважды кликнув по файлу.
Нужно переместить файл *.ovpn в папку “config” основной директории установки OpenVPN.
Откройте папку C:\Program Files\OpenVPN\config и скопируйте файл *.ovpn в нее.
3. Подключение к VPN
Кликните правой кнопкой мыши по иконке “OpenVPN GUI” на рабочем столе и выберите опция “Запустить от имени администратора”. В противном случае, установить VPN подключение не удастся.
Иконка OpenVPN GUI появится в области уведомления панели задач (системном трее). В некоторых случаях иконка может быть скрытой, нажмите по значку стрелки, чтобы показать все скрытые иконки.
Щелкните правой кнопкой мыши по иконке OpenVPN GUI и нажмите “Подключить”.
Запуститься VPN подключение. Статус подключения будет отображаться на экране. Если вы увидите диалоговое окно запроса имени пользователя и пароля. Введите “vpn” в оба поля. Данное окно появляется очень редко.
Если VPN подключение успешно установлено, то появится всплывающее сообщение как на скриншоте.
4. Интернет без ограничений
Когда подключение VPN установлено, в системе Windows создается виртуальный сетевой адаптер TAP-Windows Adapter V9. Этот адаптер получит IP-адрес, который начинается с “10.211”. Виртуальный адаптер получит адрес шлюза по умолчанию.
Вы сможете проверить конфигурацию сети, запустив команду ipconfig /all в командной строке Windows.
Когда соединение установлено, весь сетевой трафик будет проходить проходить через VPN-сервер. Убедиться в этом вы сможете с помощью команды tracert 8.8.8.8 в командной строке Windows.
Как показано на скриншоте выше, если пакеты проходят через «10.211.254.254», значит ваше подключение ретранслируется через один из серверов VPN Gate. Вы также можете перейти на основную страницу VPN Gate, чтобы посмотреть глобальный IP-адрес.
Вы сможете увидеть видимое из сети местоположение, которое будет отличаться от вашей фактической локации.
Настройка OpenVPN для MacOS
Данная инструкция демонстрирует, как подключиться к серверу ретрансляции VPN Gate, используя приложение Tunnelblick. Tunnelblick является версий клиента OpenVPN с графической оболочкой. для систем MacOS.
1. Установите приложение Tunnelblick
Скачайте и установите последнюю версию приложения Tunnelblick. Во время установки на экране будут показываться инструкции.
После завершения установки появится следующий экран. Выберите опцию “У меня есть файлы конфигурации”.
На экране будет показана инструкция по добавлению конфигурации в Tunnelblick.
Нажмите ОК, чтобы закрыть окно.
2. Скачайте и загрузите файл конфигурации подключения OpenVPN (файл .ovpn). Данная процедура требуется только при первичной настройке подключения.
Файл конфигурации формата *.ovpn понадобиться для подключения к серверу ретрансляции VPN Gate через протокол OpenVPN.
Скачать файл конфигурации (OpenVPN Config file) можно на странице списка открытых бесплатных серверов ретрансляции http://www.vpngate.net/en/. Выберите VPN-сервер, к которому вы хотите подключиться и нажмите на соответствующий файл *.ovpn, чтобы его загрузить в папку загрузок (Downloads).
Чтобы установить файл конфигурации *.ovpn, перетащите его на значок Tunnelblick в строке меню, либо на список конфигураций во вкладке «Конфигурации» окна «Детали VPN». Если необходимо установить сразу несколько конфигурационных файлов — выделите их все, а затем перетащите.
Во время добавления нужно будет ввести имя пользователя и пароль от учетной записи MacOS.
3. Подключение к VPN
Нажмите по иконке Tunnelblick на верхней панели инструментов MacOS и выберите опцию “Соединить [название конфигурации]”. Будет запущено подключение к VPN.
Появится статус подключения к VPN, как показано на скриншоте. После успешной установки подключения, в основном окне Tunnelblick будет показываться состояние “Соединен”.
4. Интернет без ограничений
Когда соединение установлено, весь сетевой трафик будет проходить проходить через VPN-сервер. Вы также можете перейти на основную страницу VPN Gate, чтобы посмотреть глобальный IP-адрес. Вы сможете увидеть видимое из сети местоположение, которое будет отличаться от вашей фактической локации.
При подключении к VPN вы сможете посещать заблокированные веб-сайты и играть в заблокированные игры.
Выполняю установку, настройку, сопровождение серверов. Для уточнения деталей используйте форму обратной связи
Иногда бывают ситуации, когда нужно использовать openvpn и авторизацию не по ключам, а по логину паролю. Можно так же использовать совместно, для увеличения безопасности оба этих метода.
Тестовый стенд: Debian 6 (kernel 2.6.32-5-686), openvpn 2.1.3.
1) Настройка сервера.
Добавляем в конфигурационный файл вашего сервера такие строки:
auth-user-pass-verify /etc/openvpn/verify.sh via-file
client-cert-not-required
username-as-common-name
tmp-dir /etc/openvpn/tmp
script-security 2
Пояснение.
auth-user-pass-verify — отвечает за авторизацию по логину паролю. При каждом подключении будет запускаться файл /etc/openvpn/verify.sh, который собственно и будет производить проверку. В результате проверки скрипт вернёт 0 (при успехе) и 1 (при ошибке). По этому коду openvpn собственно или предоставит доступ или откажет. То есть авторизацию будет производить не сам openvpn, а внешний скрипт.
client-cert-not-required — это значит, что при проверке логина/пароля не будет запрашиваться проверка сертификата.
username-as-common-name — она позволяет использовать для дальнейшей идентификации клиента не CommonName (имя из предъявленного сертификата клиента), а введенный UserName.
tmp-dir — путь к временной папке, где будет создавать файл с переданным логином/паролем, который потом будет передаваться как аргумент в наш скрипт проверки для сверки с файлом паролей
script-security — для того, что бы можно было выполнять внешние скрипты; иногда без этой опции не работает.
Примечание.
Если нужно дополнительно проверка сертификатов, тогда нужно будет убрать опцию client-cert-not-required
Вот сам скрипт проверки verify.sh
#!/bin/sh
## format: username:password username:password .
## you can even have same usernames with different passwords
# USERS=’user1:pass1 user2:pass2 user3:pass3′
## you could put username:password in
## a separate file and read it like this
USERS=`cat /etc/openvpn/user.pass`
vpn_verify() <
if [ ! $1 ] || [ ! $2 ]; then
#echo «No username or password: $*»
exit 1
fi
## it can also be done with grep or sed
for i in $USERS; do
if [ «$i» = «$1:$2» ]; then
## you can add here logging of users
## if you have enough space for log file
#echo `date` $1:$2 >> your_log_file
exit 0
fi
done
>
if [ ! $1 ] || [ ! -e $1 ]; then
#echo «No file»
exit 1
fi
## $1 is file name which contains
## passed username and password
vpn_verify `cat $1`
#echo «No user with this password found»
exit 1
а файл с паролями /etc/openvpn/user.pass выглядит так:
то есть идёт через пробел пара логин:пароль. Пароль находится в открытом виде!
Не забудьте сделать файл verify.sh исполняемым!
2) Настройка клиента.
В конфигурационный файл добавляем такую строку:
и создаём соответственно файл pass.txt, где будет находится логин и пароль в таком виде:
Примечание.
Если в параметре auth-user-pass убрать путь к файлу, будет запрашиваться логин/пароль.
3) Запуск и проверка.
После запуска в логах сервера увидим такое:
Tue Sep 6 12:25:31 2011 10.1.0.22:1440 Re-using SSL/TLS context
Tue Sep 6 12:25:31 2011 10.1.0.22:1440 LZO compression initialized
Tue Sep 6 12:25:31 2011 10.1.0.22:1440 Control Channel MTU parms [ L:1618 D:138 EF:38 EB:0 ET:0 EL:0 ]
Tue Sep 6 12:25:31 2011 10.1.0.22:1440 Data Channel MTU parms [ L:1618 D:1450 EF:86 EB:135 ET:32 EL:0 AF:3/1 ]
Tue Sep 6 12:25:31 2011 10.1.0.22:1440 Local Options hash (VER=V4): ‘ca81f7f4’
Tue Sep 6 12:25:31 2011 10.1.0.22:1440 Expected Remote Options hash (VER=V4): ‘9da06d93’
Tue Sep 6 12:25:31 2011 10.1.0.22:1440 TLS: Initial packet from [AF_INET]10.1.0.22:1440, sid=e2fe5190 4600df99
Tue Sep 6 12:25:31 2011 10.1.0.22:1440 TLS: Username/Password authentication succeeded for username ‘user’ [CN SET]
Tue Sep 6 12:25:31 2011 10.1.0.22:1440 Data Channel Encrypt: Cipher ‘BF-CBC’ initialized with 128 bit key
Tue Sep 6 12:25:31 2011 10.1.0.22:1440 Data Channel Encrypt: Using 512 bit message hash ‘SHA512’ for HMAC authentication
Tue Sep 6 12:25:31 2011 10.1.0.22:1440 Data Channel Decrypt: Cipher ‘BF-CBC’ initialized with 128 bit key
Tue Sep 6 12:25:31 2011 10.1.0.22:1440 Data Channel Decrypt: Using 512 bit message hash ‘SHA512’ for HMAC authentication
Tue Sep 6 12:25:31 2011 10.1.0.22:1440 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA
Tue Sep 6 12:25:31 2011 10.1.0.22:1440 [user] Peer Connection Initiated with [AF_INET]10.1.0.22:1440
Tue Sep 6 12:25:31 2011 user/10.1.0.22:1440 OPTIONS IMPORT: reading client specific options from: /etc/openvpn/ccd/user
Tue Sep 6 12:25:33 2011 user/10.1.0.22:1440 PUSH: Received control message: ‘PUSH_REQUEST’
Tue Sep 6 12:25:33 2011 user/10.1.0.22:1440 SENT CONTROL [user]: ‘PUSH_REPLY,route 10.10.10.0 255.255.255.0,route 10.1.44.0 255.255.255.0,dhcp-option DNS 10.0.101.100,dhcp-option DNS 10.0.102.225,dhcp-option DNS 127.0.0.1,route-gateway 10.10.10.1,ping 10,ping-restart 120,ifconfig 10.10.10.2 10.10.10.1’ (status=1)
Как видим, идёт проверка только логина/пароля, без проверки сертификата
openvpn и авторизация по логину/паролю : 6 комментариев
Доброго времени суток. Настроил конфиг на сервере, все прошло на ура! Но вот со стороны клиента ошибки выходят. Не мог ли бы вы по подробнее объяснить «что, куда добавлять, и если нужно закомментировать подсказать где ?» Спасибо!
Извиняюсь, ошибка была в скрипте, в ковычках.
Было бы здорово более детально рассказать про настройки подключения со стороны клиента. И еще бы полный пример конфига сервера. Настроил но у клиента отваливается подключение по таймауту, на сервере порт открыт и в логах пусто.
Спасибо!
http://skeletor.org.ua/?p=219
Дополнительно можно поискать по сайту по слову openvpn
Пытаюсь настроить подключение на роутере. И возник такой момент что нужно как-то указать логин и пароль в строке auth-user-pass, это возможно?
Нет. В auth-user-pass-verify должен вернуться код возврата проверки (0 — успех, остальное — fail).