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

И снова здравствуйте.
Эта последняя статья посвященная OpenVPN в целом и настройке клиента в частности. В этот раз мы настроим с вами клиента под Windows 10 но на предыдущих версиях этой операционной системы все это тоже будет работать. Задача следующая, обеспечить подключение клента к нашему OpenVPN серверу, который мы настраивали в с статье: Настраиваем OpenVPN сервер Linux на примере Ubuntu мы уже можем настраивать клиента Ubuntu, осталось дело за малым, чем мы сейчас и займемся.
Чтобы приступить к настройке, нам необходимо скачать, этого самого, клиента для Windows, я качал под 64 разрядную ОС.
Тут все просто, качаем клиента с сайта openvpn.net/index.php/download/community-downloads.html
Запускаем установку и следуем указаниям инсталятора, по принципу Next -> Next -> OK

Переходим в директорию с установленным OpenVPN
C:\Program Files\OpenVPN\config


Нам необходимо создать там файл, назовем его client.ovpn с содержимым:


# Тип подключения -клиент
client

# Через какое устройство подключаемся
dev tun

По какому протоколу будем работать
proto tcp
#proto udp

# Адрес OpenVPN сервера и его порт (можно указать IP или URL)
remote openvpn.example.org 1194

# Тип шифрования, как на OpenVPN сервере
cipher AES-256-CBC

# Сертификат удостоверяющего центра
ca ca.crt

# Сертификат и ключ клиента
cert user.crt
key user.key

# Клиент поддерживает шифрование
tls-client

# Указываем путь к ключу TLS
tls-auth ta.key 1

# Включаем компрессию данных
comp-lzo

# Не использовать специфический порт для работы
nobind

persist-key
persist-tun

# Уровень логирования если нужно подробнее, то выставляем 9 для дебагинга
verb 3
# Количество записей после которых будет производиться запись в лог
#mute 20


Нам необходимо получить с OpenVPN сервера 4 файла:
ca.crt
ta.key
user.crt
user.key


Где:
ca.crt и ta.key первый является сертификатом удостоверяющего центра, второй это ключ шифрования OpenVPN сервера, они должны быть у каждого пользователя!
user.crt и user.key ключ и сертификат пользователя, у каждого пользователя они свои т.е. создаются персонально

Дальше на остается запустить OpenVPN клиента:


Нажимаем подключиться:


Появится лог подключения, который при установке соединения исчезнет:


Иконка подключения станет зеленой, значит соединение установлено и работает нормально, также появится плашка в которой будет написан присвоенный IP адрес


Для клиентов Windows есть особенность, необходимо указывать IP адреса из диапазона в 4 адреса т.е. если вы хотите присвоить клиенту адрес 172.16.10.4 то соединение на другом конце должны быть из диапазона:
172.16.10.1 172.16.10.2 172.16.10.3 172.16.10.4
172.16.10.5 172.16.10.6 172.16.10.7 172.16.10.8
172.16.10.9 172.16.10.10 172.16.10.11 172.16.10.12

Иначе соединение обрывается, во так все просто.

На этой оптимистической ноте я закончу свое повествование, если возникли вопросы, задавайте их в комментариях.

18 комментариев

avatar
Можно еще в конфигурацию добавить опцию remote-cert-tls server для предотвращения mitm атаки. Сгенерировнный ключ для сервера позволяет производить такую проверку. Считаю лишним не будет.
Уж защищаться, так защищаться :))
avatar
Здравствуйте, не подскажете обновился до windows 10, openvpn последний, сыпяться ошибки в логе openvpn: PID_ERR replay-window backtrack occurred [15] [SSL-6], иногда даже на несколько минут пропадает интернет. Из-за чего это может быть? На windows 7 не было проблем! Админы пробывали переключать меня на tcp(помогло, ошибок не было), но скорость ужасная на нем, на udp хорошая!
avatar
Нечто похожее было и у нас, по этому и перешли на tcp, но ужасной скорости работы я так и не увидел — 2 Мбит от тарифа провайдера.
По поводу проблем с UDP в OpenVPN я читал на каком-то форуме, но лично я, эту тему, глубоко не копал, просто перешли на tcp и проблема закрылась.
avatar
Не поленился, зарегистрировался, чтобы оставить комментарий…

Это просто жесть, АВТОР все так хорошо начал описывать, а в конце просто облом!
«Для клиентов Windows есть особенность, необходимо указывать IP адреса из диапазона в 4 адреса т.е. если вы хотите присвоить клиенту адрес 172.16.10.4 то соединение на другом конце должны быть из диапазона:
172.16.10.1 172.16.10.2 172.16.10.3 172.16.10.4
172.16.10.5 172.16.10.6 172.16.10.7 172.16.10.8
172.16.10.9 172.16.10.10 172.16.10.11 172.16.10.12

Иначе соединение обрывается, во так все просто.»

— Куда это вписывать??????
avatar
Во блин!
А ведь действительно не указл, предполагалось что ситать этут статью будет тот кто настраивал сервер!
Об этом можно прочитать в статье по настройке openvpn сервера howitmake.ru/blog/ubuntu/192.html в части 4
avatar
А такой не скромный вопрос, в W10 ведь есть vpn-клиент, почему бы его не использовать?
avatar
он не поддерживает работу с OpenVPN
avatar
Настраивал сервер по инструкции с Вашего сайта. В какой именно директории искать файлы user.crt и user.key?
avatar
Разобрался.
Но клиент не подключается ни в какую (сервер на Amazon)
Sun May 21 16:47:57 2017 OpenVPN 2.4.1 x86_64-w64-mingw32 [SSL (OpenSSL)] [LZO] [LZ4] [PKCS11] [AEAD] built on Mar 22 2017
Sun May 21 16:47:57 2017 Windows version 6.2 (Windows 8 or greater) 64bit
Sun May 21 16:47:57 2017 library versions: OpenSSL 1.0.2k  26 Jan 2017, LZO 2.09
Enter Management Password:
Sun May 21 16:47:57 2017 MANAGEMENT: TCP Socket listening on [AF_INET]127.0.0.1:25340
Sun May 21 16:47:57 2017 Need hold release from management interface, waiting...
Sun May 21 16:47:57 2017 MANAGEMENT: Client connected from [AF_INET]127.0.0.1:25340
Sun May 21 16:47:57 2017 MANAGEMENT: CMD 'state on'
Sun May 21 16:47:57 2017 MANAGEMENT: CMD 'log all on'
Sun May 21 16:47:57 2017 MANAGEMENT: CMD 'echo all on'
Sun May 21 16:47:57 2017 MANAGEMENT: CMD 'hold off'
Sun May 21 16:47:57 2017 MANAGEMENT: CMD 'hold release'
Sun May 21 16:47:57 2017 WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info.
Sun May 21 16:47:58 2017 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Sun May 21 16:47:58 2017 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Sun May 21 16:47:58 2017 MANAGEMENT: >STATE:1495374478,RESOLVE,,,,,,
Sun May 21 16:47:58 2017 TCP/UDP: Preserving recently used remote address: [AF_INET]184.73.82.110:1194
Sun May 21 16:47:58 2017 Socket Buffers: R=[65536->65536] S=[65536->65536]
Sun May 21 16:47:58 2017 Attempting to establish TCP connection with [AF_INET]184.73.82.110:1194 [nonblock]
Sun May 21 16:47:58 2017 MANAGEMENT: >STATE:1495374478,TCP_CONNECT,,,,,,
avatar
А теперь постоянное переподключение…
Sun May 21 16:54:40 2017 MANAGEMENT: >STATE:1495374880,RESOLVE,,,,,,
Sun May 21 16:54:40 2017 TCP/UDP: Preserving recently used remote address: [AF_INET]184.73.82.110:1194
Sun May 21 16:54:40 2017 Socket Buffers: R=[65536->65536] S=[65536->65536]
Sun May 21 16:54:40 2017 Attempting to establish TCP connection with [AF_INET]184.73.82.110:1194 [nonblock]
Sun May 21 16:54:40 2017 MANAGEMENT: >STATE:1495374880,TCP_CONNECT,,,,,,
Sun May 21 16:54:41 2017 TCP connection established with [AF_INET]184.73.82.110:1194
Sun May 21 16:54:41 2017 TCP_CLIENT link local: (not bound)
Sun May 21 16:54:41 2017 TCP_CLIENT link remote: [AF_INET]184.73.82.110:1194
Sun May 21 16:54:41 2017 MANAGEMENT: >STATE:1495374881,WAIT,,,,,,
Sun May 21 16:54:42 2017 Connection reset, restarting [0]
Sun May 21 16:54:42 2017 SIGUSR1[soft,connection-reset] received, process restarting
Sun May 21 16:54:42 2017 MANAGEMENT: >STATE:1495374882,RECONNECTING,connection-reset,,,,,
Sun May 21 16:54:42 2017 Restart pause, 40 second(s)

Помогите, пожалуйста
avatar
на фаерволле открыт порт 1194?
avatar
Делал всё исключительно в рамках рекомендаций из Вашей статьи. Для фаервола прописано только это:
iptables -A FORWARD -o tun0 -j ACCEPT
iptables -A OUTPUT -o tun0 -j ACCEPT
iptables -t nat -A POSTROUTING -s 172.16.10.0/24 -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 172.16.10.0/24 -o eth1 -j MASQUERADE

Какой командой нужно открывать порт?
iptables -A INPUT -i eth0 -p udp --dport 1194 -j ACCEPT
iptables -A INPUT -i eth1 -p udp --dport 1194 -j ACCEPT

не решает вопрос.
avatar
Смотрите логи на сервере
avatar
На 11 компах всё работает нормально, а вот на одном....



Что это может быть?

А то я гугли гуглил, да не нагуглил… =((
avatar
При чём, не запускается и по сценарию — запуск от имени администратора. =((
avatar
Нужно смотреть что в логах клиента!
avatar
Запустите службу с таким названием. Настройте ее автоматический запуск
Есть что добавить? Регистрируйся и оставляй комментарии!