OpenVPN Сравнение версий

Различия

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

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:openvpn [2017/03/16 06:42]
[Создание ключей и сертификатов]
wiki:openvpn [2021/09/03 11:00] (текущий)
[Создание ключей и сертификатов]
Строка 41: Строка 41:
 ==== Создание ключей и сертификатов ==== ==== Создание ключей и сертификатов ====
 Защита соединения в OpenVPN в данном случае строится на использовании сертификатов и ключей для сервера и для клиентов. Защита соединения в OpenVPN в данном случае строится на использовании сертификатов и ключей для сервера и для клиентов.
-Для их генерации в пакете OpenVPN имеются специальные скрипты,​ расположенные в **/​usr/​share/​doc/​openvpn/​examples/​easy-rsa/​2.0** Перед началом работы скопируем их, чтобы не изменять оригиналы. 
- 
-(для 12.04 LTS) 
 <​code>​ <​code>​
-mkdir /​etc/​openvpn/​easy-rsa +apt-get install ​easy-rsa
-cp -r /​usr/​share/​doc/​openvpn/​examples/​easy-rsa/​2.0 /​etc/​openvpn/​easy-rsa+
 </​code>​ </​code>​
- 
-(для 14.04 LTS) 
-С лета 2013 года easy-rsa не входит в OpenVPN и команда указанная выше не сработает(не найдет easy-rsa), 
-тогда делаем следующее:​ 
-<​code>​apt-get install easy-rsa</​code>​ 
  
 <​code>​ <​code>​
Строка 111: Строка 102:
 Создаем ключ сервера Создаем ключ сервера
  
-<​note>​FIXME **A challenge password []:** Заполняется произвольным значением, насколько я понял это нужно только для ​создания ключа и больше нам не потребуется. Кто знает точно ​поправьте статью.</​note>​+<​note>​FIXME **A challenge password []:** Если вы решили ввести challenge passwordто необходимо убедиться, что сохранили этот ​пароль ​в безопасном месте. Если вам понадобится когдаибудь переустановить этот сертификат,​ то потребуется ​ввести этот пароль снова.</​note>​
  
 <​code>​ <​code>​
Строка 159: Строка 150:
  
 # Указыем,​ где хранятся файлы с настройками IP-адресов клиентов (создадим ниже) # Указыем,​ где хранятся файлы с настройками IP-адресов клиентов (создадим ниже)
-client-config-dir ccd+client-config-dir ​/​etc/​openvpn/​ccd
  
 # Запоминать динамически выданные адреса для VPN-клиентов и при последующих подключениях назначать те же значения. # Запоминать динамически выданные адреса для VPN-клиентов и при последующих подключениях назначать те же значения.
-ifconfig-pool-persist ipp.txt+ifconfig-pool-persist ​/​etc/​openvpn/​ipp.txt
  
 # Указываем сети, в которые нужно идти через туннель (сеть-клиента). # Указываем сети, в которые нужно идти через туннель (сеть-клиента).
Строка 172: Строка 163:
 tls-timeout 120 tls-timeout 120
 auth SHA1 auth SHA1
-cipher ​BF-CBC+cipher ​AES-256-CBC
  
 # Если нужно, чтобы клиенты видели друг друга раскомментируйте # Если нужно, чтобы клиенты видели друг друга раскомментируйте
Строка 179: Строка 170:
 keepalive 10 120 keepalive 10 120
  
-# Сжатие трафика+# Сжатие трафика. Для отключения используйте на сервере и клиенте comp-lzo no
 comp-lzo comp-lzo
  
Строка 236: Строка 227:
  
 # Задаем маршрут для клиента,​ чтобы он видел сеть за OpenVPN-сервером. # Задаем маршрут для клиента,​ чтобы он видел сеть за OpenVPN-сервером.
 +# Если маршрут требуется для всех подключаемых клиентов,​ достаточно эту
 +# строку прописать в конфигурационный файл сервера server.conf ​
 push "route 192.168.1.0 255.255.255.0"​ push "route 192.168.1.0 255.255.255.0"​
 </​code>​ </​code>​
Строка 273: Строка 266:
  
 <note important>​Теперь нужно не забыть скопировать ключи (**ca.crt, client.crt, client.key, ta.key**) на клиента OpenVPN в **/​etc/​openvpn/​keys/​**</​note>​ <note important>​Теперь нужно не забыть скопировать ключи (**ca.crt, client.crt, client.key, ta.key**) на клиента OpenVPN в **/​etc/​openvpn/​keys/​**</​note>​
 +
 +<note important>​Если планируется на клиенте импортировать файл настроек **.ovpn** вместе с сертификатами и ключами,​ например,​ для Android, важно в конфигурации клиента исключить строку **tls-auth**,​ вместо нее добавить **key-direction 1**. В противном случае будет ошибка вида //tls error: incoming packet authentication failed from [af_inet]//​. ​
 +</​note>​
 ==== Создание файла конфигурации клиента ==== ==== Создание файла конфигурации клиента ====
 **/​etc/​openvpn/​client.conf** **/​etc/​openvpn/​client.conf**
Строка 292: Строка 288:
 tls-auth /​etc/​openvpn/​keys/​ta.key 1 tls-auth /​etc/​openvpn/​keys/​ta.key 1
 auth SHA1 auth SHA1
-cipher ​BF-CBC+cipher ​AES-256-CBC
 remote-cert-tls server remote-cert-tls server
 comp-lzo comp-lzo
Строка 303: Строка 299:
 mute 20 mute 20
 </​code>​ </​code>​
 +
 +==== ИЛИ единый файл конфигурации клиента client.ovpn с сертификатами и ключами для импорта ====
 +
 +<​code>​
 +client
 +dev tun
 +proto udp
 +
 +# Внеший IP, на или за которым находится ваш сервер OpenVPN и порт (на сервере или роутере,​ за которым стоит сервер)
 +remote 111.222.333.444 1194
 +
 +# необходимо для DynDNS
 +resolv-retry infinite
 +
 +tls-client
 +
 +# Строка tls-auth /​etc/​openvpn/​keys/​ta.key 1, как выше говорилось,​ заменяется на 
 +key-direction 1
 +
 +auth SHA1
 +cipher AES-256-CBC
 +remote-cert-tls server
 +comp-lzo
 +persist-key
 +persist-tun
 +
 +verb 3
 +mute 20
 +
 +# Далее идут сертификаты и ключи которые берутся из соответствующих файлов сгенерированных выше
 +
 +# Из ca.crt
 +<ca>
 +-----BEGIN CERTIFICATE-----
 +...
 +-----END CERTIFICATE-----
 +</ca>
 +
 +# Из client.crt
 +<​cert>​
 +-----BEGIN CERTIFICATE-----
 +...
 +-----END CERTIFICATE-----
 +</​cert>​
 +
 +# Из client.key
 +<key>
 +-----BEGIN PRIVATE KEY-----
 +...
 +-----END PRIVATE KEY-----
 +</​key>​
 +
 +# Из ta.key
 +<​tls-auth>​
 +-----BEGIN OpenVPN Static key V1-----
 +...
 +-----END OpenVPN Static key V1-----
 +</​tls-auth>​
 +</​code>​
 +
  
 Можно запускать наш клиент OpenVPN Можно запускать наш клиент OpenVPN
Строка 349: Строка 405:
 . ./vars . ./vars
 ./​revoke-full client2 ./​revoke-full client2
 +</​code>​
 +
 +Если все прошло штатно вы должны увидеть следующий вывод, сообщающий о том, что сертификат отозван:​
 +<​code>​
 +error 23 at 0 depth lookup:​certificate revoked
 </​code>​ </​code>​
  
Строка 388: Строка 449:
  
 [[http://​firstwiki.ru/​index.php/​%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_OpenVPN]] [[http://​firstwiki.ru/​index.php/​%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_OpenVPN]]
 +
 +[[https://​serverfault.com/​questions/​266232/​what-is-a-challenge-password]]
 {{tag>​openvpn vpn}} {{tag>​openvpn vpn}}
 +
 +