Openvpn windows с паролями

Настройка OpenVPN клиента

В данной инструкции подробно описан процесс настройки клиента OpenVPN на примере операционных систем Windows и Linux. Также, с ее помощью можно настроить скиента на Android.

Установка

Windows

Заходим на официальную страницу загрузки openvpn и скачиваем клиента для нужной Windows:

Запускаем скачанный файл и устанавливаем программу, нажимая «Далее».

Linux CentOS

Устанавливаем репозиторий EPEL:

yum install epel-release

yum install openvpn

Linux Ubuntu

apt-get install openvpn

Android

Установка выполняется из Google Play. Набираем в поиске OpenVPN Connect — нажимаем установить и принимаем условия.

Настройка

После установки программы конфигурационный файл не создается автоматически и его нужно создать вручную.

В системах Windows создаем файл config.ovpn в папке %programfiles%\OpenVPN\config.

* имя файла может быть любым, расширение должно быть .ovpn.

Для создания конфигурационного файла в Linux выполняем команду:

* чтобы служба openvpn автоматически выполняла соединение, необходимо, чтобы конфигурационный файл назывался client.conf.

Пример конфигурационного файла

client
dev tun
proto udp
remote 192.168.0.15 443
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
dh dh2048.pem
tls-client
tls-auth ta.key 1
float
keepalive 10 120
comp-lzo
verb 0

Параметры конфигурационного файла

Параметр Значения Описание
client Строка говорит о том, что конфигурационный файл описывает клиентское подключение (программа сама устанавливает соединение, а не ждет, как сервер).
dev tap или tun Выбор виртуального сетевого драйвера. TUN — сетевой уровень модели OSI, оперирует IP-пакетами. TAP — эмулирует Ethernet устройство и работает на канальном уровне модели OSI, оперируя кадрами Ethernet. Настраивая OpenVPN клиента, в большинстве случаев, необходимо выбирать tun. TAP необходимо использовать для работы определенных сервисов, например DHCP.
dev-node любая строка Параметр используется в системах Windows в случаях, если имеется несколько сетевых интерфейсов. Значение этого параметра должно содержать название сетевого подключения, через который должен работать OpenVPN.
proto udp или tcp Указывает, какой протокол использовать для передачи данных. В большинстве случаев, лучше использовать UDP, так как данный протокол создает меньше нагрузки на сеть.
remote VPN-сервер и порт Задает сервер, к которому должен подключаться клиент, а также сетевой порт (по умолчанию 1194), на котором OpenVPN принимает запросы. Можно указать несколько строк.
remote-random Если указано несколько строк remote, данный параметр говорит, что необходимо подключаться к удаленным серверам в случайном порядке.
resolv-retry количество секунд или infinite Используется в тех случаях, когда в качестве сервера указано доменное имя. Параметр задает время в секундах для повторного переподключения, если не удалось узнать имя сервера. infinite — держать связь с сервером постоянно.
nobind Клиент использует динамический порт для подключения.
user учетная запись Задает определенного пользователя для работы клиента (только для UNIX-систем).
group группа Задает определенную группу для работы клиента (только для UNIX-систем).
persist-key Не перечитывает ключи при перезагрузке сервиса OpenVPN.
persist-tun Не перечитывает параметры туннеля при перезагрузке сервиса OpenVPN.
http-proxy сервер прокси и порт Использовать прокси-сервер для подключения.
http-proxy-retry Переподключаться к прокси-серверу, если связь была разорвана.
http-proxy-timeout количество секунд Время, через которое выполнять попытки переподключения к прокси-серверу.
mute-replay-warnings Параметр стоит задавать при использовании беспроводного соединения. Он отключит дублирование предупреждений пакетов.
ca пут к сертификату Корневой сертификат удостоверяющего центра. Генерируем на сервере.
cert пут к сертификату Открытый ключ клиента. Генерируем на сервере.
key пут к сертификату Закрытый ключ клиента. Генерируем на сервере.
dh пут к сертификату Ключ с алгоритмом Diffie-Hellman (Диффи-Хеллмана).
remote-cert-tls сервер Исключает возможность mitm атаки, включая верификацию сертификата сервера.
tls-client Указание на то, что это клиент TLS.
tls-auth ta.key 1 Дополнительный уровень аутентификации посредством ключа TLS.
float Удаленный хост может менять IP-адрес в процессе соединения, при этом последнее не будет разорвано.
keepalive секунд1 секунд2 Пинговать каждые секунд1 сервер и если в течение секунд2 не будут получены ответные пакеты, перезапустить подключение.
cipher алгоритм Указывает алгоритм шифрования. Примеры: AES-256-CBC, AES-128-CBC, BF-CBC, DES-EDE3-CBC.
comp-lzo Использовать сжатие.
verb число от 0 до 9 Уровень детализации лога. 0 отключает отладочную информацию.
mute число Указывает сколько лог-сообщений может отображаться для каждой категории события.
auth-user-pass ничего или путь к файлу Говорит клиенту, что необходима аутентификация. Если не указан путь к файлу, клиент выкинет окно для авторизации, иначе прочитает данные из файла.
ipchange команда или путь к скрипту Выполняет команду при смене IP.
connect-retry секунд Переподключиться к серверу через указанное количество секунд, если соединение было разорвано.
connect-retry-max число Сколько раз повторять соединение, если оно было разорвано.
shaper байт Задает максимальную скорость передачи данных для исходящего трафика.
tun-mtu число Задает MTU.
status путь к файлу Путь к фалу хранения статуса.
log путь к файлу Путь к лог-файлу.
askpass путь к файлу Путь к файлу с паролем для приватного ключа (private key password).

Наиболее полный и актуальный список параметров для OpenVPN можно получить командой openvpn —help (в Linux и Windows).

Сертификаты

Клиентские сертификаты генерируются на стороне сервера. Процедура следующая.

Выполняю установку, настройку, сопровождение серверов. Для уточнения деталей используйте форму обратной связи

Иногда бывают ситуации, когда нужно использовать 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).

Настройка 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 вы сможете посещать заблокированные веб-сайты и играть в заблокированные игры.

Читайте также:  Посмотреть открытые порты linux ubuntu
Оцените статью