LINUX.ORG.RU
ФорумAdmin

Создание ключей и сертификатов в Easy-rsa 3.0.3 для OpenVPN

 ,


1

1

Приветствую.

Решил поставить сервер OpenVPN, нашел хороший мануал:

https://1cloud.ru/help/linux/kak-ustanovit-i-nastroit-openvpn-na-centos7.
На «Шаг #3: Создание ключей и сертификатов» все хорошо описано, но там описание для Easy-rsa 2.x версии, а у меня поставилась Easy-rsa 3.0.3 - там все иначе. Подскажите пожалуйста, как сделать все то, что описано в мануале «Шаг #3: Создание ключей и сертификатов», но только для 3.0.3. Нашел мануал https://community.openvpn.net/openvpn/wiki/EasyRSA3-OpenVPN-Howto но нифига не могу понять, какие шаги и как нужно сделать.

Выполнит только первые две команды:

./easyrsa init-pki
./easyrsa build-ca

Ответ на: комментарий от anc

Если на клиенте стоит параметр tls-auth, то сразу лог клиента:

Options error: Unrecognized option or missing or extra parameter(s) in client.ovpn:10: tls-auth (2.4.3)
Use --help for more information.

Если с клиента параметр tls-auth убрать, то. Сервер конфиг:

;local a.b.c.d
port 1194
;proto tcp
proto udp
;dev tap
dev tun
;dev-node MyTap
ca ca.crt
cert server.crt
key server.key  # This file should be kept secret
dh dh2048.pem
;topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
;server-bridge 10.8.0.4 255.255.255.0 10.8.0.50 10.8.0.100
;server-bridge
;push "route 192.168.10.0 255.255.255.0"
;push "route 192.168.20.0 255.255.255.0"
;client-config-dir ccd
;route 192.168.40.128 255.255.255.248
;client-config-dir ccd
;route 10.9.0.0 255.255.255.252
;learn-address ./script
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
;client-to-client
;duplicate-cn
keepalive 10 120
tls-auth ta.key 1 # This file is secret
cipher AES-256-CBC
;compress lz4-v2
;push "compress lz4-v2"
;comp-lzo
;max-clients 100
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
;log         openvpn.log
log-append  openvpn.log
verb 3
;mute 20
explicit-exit-notify 1

Все что ниже пробовал генерить ключи с:

tls-auth ta.key 1
и с:
tls-auth ta.key 0
ниже резульатт одинаков.

Сервер лог:

[root@168805 openvpn]# cat openvpn.log
Mon Jan 29 17:42:08 2018 TLS Error: cannot locate HMAC in incoming packet from [AF_INET]95.30.4.181:1055
Mon Jan 29 17:42:10 2018 TLS Error: cannot locate HMAC in incoming packet from [AF_INET]95.30.4.181:1055

Клиент конфиг:

client
dev tun
proto udp
remote 89.223.24.147 1194
resolv-retry infinite
nobind
persist-key
persist-tun
cipher AES-256-CBC
verb 3
ca ca.crt
cert alex-it.crt
key alex-it.key

Клиент лог:

Mon Jan 29 17:42:04 2018 OpenVPN 2.4.3 x86_64-w64-mingw32 [SSL (OpenSSL)] [LZO] [LZ4] [PKCS11] [AEAD] built on Jul 14 2017
Mon Jan 29 17:42:04 2018 Windows version 6.2 (Windows 8 or greater) 64bit
Mon Jan 29 17:42:04 2018 library versions: OpenSSL 1.0.2l  25 May 2017, LZO 2.10
Enter Management Password:
Mon Jan 29 17:42:04 2018 MANAGEMENT: TCP Socket listening on [AF_INET]127.0.0.1:25341
Mon Jan 29 17:42:04 2018 Need hold release from management interface, waiting...
Mon Jan 29 17:42:05 2018 MANAGEMENT: Client connected from [AF_INET]127.0.0.1:25341
Mon Jan 29 17:42:05 2018 MANAGEMENT: CMD 'state on'
Mon Jan 29 17:42:05 2018 MANAGEMENT: CMD 'log all on'
Mon Jan 29 17:42:05 2018 MANAGEMENT: CMD 'echo all on'
Mon Jan 29 17:42:05 2018 MANAGEMENT: CMD 'hold off'
Mon Jan 29 17:42:05 2018 MANAGEMENT: CMD 'hold release'
Mon Jan 29 17:42:05 2018 WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info.
Mon Jan 29 17:42:05 2018 TCP/UDP: Preserving recently used remote address: [AF_INET]89.223.24.147:1194
Mon Jan 29 17:42:05 2018 Socket Buffers: R=[65536->65536] S=[65536->65536]
Mon Jan 29 17:42:05 2018 UDP link local: (not bound)
Mon Jan 29 17:42:05 2018 UDP link remote: [AF_INET]89.223.24.147:1194
Mon Jan 29 17:42:05 2018 MANAGEMENT: >STATE:1517236925,WAIT,,,,,,
Mon Jan 29 17:42:11 2018 SIGTERM[hard,] received, process exiting
Mon Jan 29 17:42:11 2018 MANAGEMENT: >STATE:1517236931,EXITING,SIGTERM,,,,,

stranger-ru
() автор топика
Ответ на: комментарий от anonymous

Точнее наоборот, запутал чертяка. Ничего генерить заново не надо.

anonymous
()
Ответ на: комментарий от anonymous

Клиент и Сервер:

tls-auth ta.key 1
на клиента в директорию config скопировал ta.key Клиент лог:
Tue Jan 30 02:00:12 2018 OpenVPN 2.4.3 x86_64-w64-mingw32 [SSL (OpenSSL)] [LZO] [LZ4] [PKCS11] [AEAD] built on Jul 14 2017
Tue Jan 30 02:00:12 2018 Windows version 6.2 (Windows 8 or greater) 64bit
Tue Jan 30 02:00:12 2018 library versions: OpenSSL 1.0.2l  25 May 2017, LZO 2.10
Enter Management Password:
Tue Jan 30 02:00:12 2018 MANAGEMENT: TCP Socket listening on [AF_INET]127.0.0.1:25341
Tue Jan 30 02:00:12 2018 Need hold release from management interface, waiting...
Tue Jan 30 02:00:13 2018 MANAGEMENT: Client connected from [AF_INET]127.0.0.1:25341
Tue Jan 30 02:00:13 2018 MANAGEMENT: CMD 'state on'
Tue Jan 30 02:00:13 2018 MANAGEMENT: CMD 'log all on'
Tue Jan 30 02:00:13 2018 MANAGEMENT: CMD 'echo all on'
Tue Jan 30 02:00:13 2018 MANAGEMENT: CMD 'hold off'
Tue Jan 30 02:00:13 2018 MANAGEMENT: CMD 'hold release'
Tue Jan 30 02:00:13 2018 WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info.
Tue Jan 30 02:00:13 2018 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Tue Jan 30 02:00:13 2018 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Tue Jan 30 02:00:13 2018 TCP/UDP: Preserving recently used remote address: [AF_INET]89.223.24.147:1194
Tue Jan 30 02:00:13 2018 Socket Buffers: R=[65536->65536] S=[65536->65536]
Tue Jan 30 02:00:13 2018 UDP link local: (not bound)
Tue Jan 30 02:00:13 2018 UDP link remote: [AF_INET]89.223.24.147:1194
Tue Jan 30 02:00:13 2018 MANAGEMENT: >STATE:1517266813,WAIT,,,,,,
Tue Jan 30 02:00:58 2018 SIGTERM[hard,] received, process exiting
Tue Jan 30 02:00:58 2018 MANAGEMENT: >STATE:1517266858,EXITING,SIGTERM,,,,,
Сервер лог:
Tue Jan 30 01:50:48 2018 Authenticate/Decrypt packet error: packet HMAC authentication failed
Tue Jan 30 01:50:48 2018 TLS Error: incoming packet authentication failed from [AF_INET]95.30.4.181:1102
Tue Jan 30 01:50:50 2018 Authenticate/Decrypt packet error: packet HMAC authentication failed
Tue Jan 30 01:50:50 2018 TLS Error: incoming packet authentication failed from [AF_INET]95.30.4.181:1102
Tue Jan 30 01:50:53 2018 Authenticate/Decrypt packet error: packet HMAC authentication failed
Tue Jan 30 01:50:53 2018 TLS Error: incoming packet authentication failed from [AF_INET]95.30.4.181:1102

stranger-ru
() автор топика
Ответ на: комментарий от stranger-ru

Клиент и Сервер:

tls-auth ta.key 1

Тяжелый случай. Хорошо, убери tls-auth ta.key из конфига клиента и из конфига сервера.

anonymous
()
Ответ на: комментарий от rumgot

Попробуй то, что я писал здесь выше Создание ключей и сертификатов в Easy-rsa 3.0.3 для OpenVPN (комментарий).

попробовал Сервер конфиг, то, что и выше с

tls-auth ta.key 1
Клиент конфиг:
client
dev tun
proto udp
remote 89.223.24.147 1194
resolv-retry infinite
nobind
persist-key
persist-tun
cipher AES-256-CBC
verb 3
tls-cipher TLS-DHE-RSA-WITH-AES-256-CBC-SHA
cipher AES-256-CBC
auth SHA512
tls-auth ta.key 1
ca ca.crt
cert alex-it.crt
key alex-it.key
Клиент лог:
Tue Jan 30 02:06:15 2018 OpenVPN 2.4.3 x86_64-w64-mingw32 [SSL (OpenSSL)] [LZO] [LZ4] [PKCS11] [AEAD] built on Jul 14 2017
Tue Jan 30 02:06:15 2018 Windows version 6.2 (Windows 8 or greater) 64bit
Tue Jan 30 02:06:15 2018 library versions: OpenSSL 1.0.2l  25 May 2017, LZO 2.10
Enter Management Password:
Tue Jan 30 02:06:15 2018 MANAGEMENT: TCP Socket listening on [AF_INET]127.0.0.1:25341
Tue Jan 30 02:06:15 2018 Need hold release from management interface, waiting...
Tue Jan 30 02:06:15 2018 MANAGEMENT: Client connected from [AF_INET]127.0.0.1:25341
Tue Jan 30 02:06:15 2018 MANAGEMENT: CMD 'state on'
Tue Jan 30 02:06:15 2018 MANAGEMENT: CMD 'log all on'
Tue Jan 30 02:06:15 2018 MANAGEMENT: CMD 'echo all on'
Tue Jan 30 02:06:15 2018 MANAGEMENT: CMD 'hold off'
Tue Jan 30 02:06:15 2018 MANAGEMENT: CMD 'hold release'
Tue Jan 30 02:06:15 2018 WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info.
Tue Jan 30 02:06:15 2018 Outgoing Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication
Tue Jan 30 02:06:15 2018 Incoming Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication
Tue Jan 30 02:06:15 2018 TCP/UDP: Preserving recently used remote address: [AF_INET]89.223.24.147:1194
Tue Jan 30 02:06:15 2018 Socket Buffers: R=[65536->65536] S=[65536->65536]
Tue Jan 30 02:06:15 2018 UDP link local: (not bound)
Tue Jan 30 02:06:15 2018 UDP link remote: [AF_INET]89.223.24.147:1194
Tue Jan 30 02:06:15 2018 MANAGEMENT: >STATE:1517267175,WAIT,,,,,,
Tue Jan 30 02:06:26 2018 SIGTERM[hard,] received, process exiting
Tue Jan 30 02:06:26 2018 MANAGEMENT: >STATE:1517267186,EXITING,SIGTERM,,,,,
Сервер лог:
Tue Jan 30 02:06:18 2018 Authenticate/Decrypt packet error: packet HMAC authentication failed
Tue Jan 30 02:06:18 2018 TLS Error: incoming packet authentication failed from [AF_INET]95.30.4.181:10535
Tue Jan 30 02:06:19 2018 Authenticate/Decrypt packet error: packet HMAC authentication failed
Tue Jan 30 02:06:19 2018 TLS Error: incoming packet authentication failed from [AF_INET]95.30.4.181:10535
Tue Jan 30 02:06:24 2018 Authenticate/Decrypt packet error: packet HMAC authentication failed
Tue Jan 30 02:06:24 2018 TLS Error: incoming packet authentication failed from [AF_INET]95.30.4.181:10535

stranger-ru
() автор топика
Ответ на: комментарий от anonymous

Тяжелый случай. Хорошо, убери tls-auth ta.key из конфига клиента и из конфига сервера.

поставил в конфиге на сервере:

tls-auth ta.key 0
перезапустил:
systemctl restart openvpn@server.service

Конфиг клиент:

client
dev tun
proto udp
remote 89.223.24.147 1194
resolv-retry infinite
nobind
persist-key
persist-tun
cipher AES-256-CBC
verb 3
ca ca.crt
cert alex-it.crt
key alex-it.key

Лог клиент:

Tue Jan 30 02:13:09 2018 OpenVPN 2.4.3 x86_64-w64-mingw32 [SSL (OpenSSL)] [LZO] [LZ4] [PKCS11] [AEAD] built on Jul 14 2017
Tue Jan 30 02:13:09 2018 Windows version 6.2 (Windows 8 or greater) 64bit
Tue Jan 30 02:13:09 2018 library versions: OpenSSL 1.0.2l  25 May 2017, LZO 2.10
Enter Management Password:
Tue Jan 30 02:13:09 2018 MANAGEMENT: TCP Socket listening on [AF_INET]127.0.0.1:25341
Tue Jan 30 02:13:09 2018 Need hold release from management interface, waiting...
Tue Jan 30 02:13:10 2018 MANAGEMENT: Client connected from [AF_INET]127.0.0.1:25341
Tue Jan 30 02:13:10 2018 MANAGEMENT: CMD 'state on'
Tue Jan 30 02:13:10 2018 MANAGEMENT: CMD 'log all on'
Tue Jan 30 02:13:10 2018 MANAGEMENT: CMD 'echo all on'
Tue Jan 30 02:13:10 2018 MANAGEMENT: CMD 'hold off'
Tue Jan 30 02:13:10 2018 MANAGEMENT: CMD 'hold release'
Tue Jan 30 02:13:10 2018 WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info.
Tue Jan 30 02:13:10 2018 TCP/UDP: Preserving recently used remote address: [AF_INET]89.223.24.147:1194
Tue Jan 30 02:13:10 2018 Socket Buffers: R=[65536->65536] S=[65536->65536]
Tue Jan 30 02:13:10 2018 UDP link local: (not bound)
Tue Jan 30 02:13:10 2018 UDP link remote: [AF_INET]89.223.24.147:1194
Tue Jan 30 02:13:10 2018 MANAGEMENT: >STATE:1517267590,WAIT,,,,,,
Tue Jan 30 02:13:29 2018 SIGTERM[hard,] received, process exiting
Tue Jan 30 02:13:29 2018 MANAGEMENT: >STATE:1517267609,EXITING,SIGTERM,,,,,
Лог сервер:
Tue Jan 30 02:13:13 2018 TLS Error: cannot locate HMAC in incoming packet from [AF_INET]95.30.4.181:25697
Tue Jan 30 02:13:15 2018 TLS Error: cannot locate HMAC in incoming packet from [AF_INET]95.30.4.181:25697
Tue Jan 30 02:13:19 2018 TLS Error: cannot locate HMAC in incoming packet from [AF_INET]95.30.4.181:25697
Tue Jan 30 02:13:26 2018 TLS Error: cannot locate HMAC in incoming packet from [AF_INET]95.30.4.181:25697

stranger-ru
() автор топика
Ответ на: комментарий от stranger-ru

На этом же клиенте у меня крутится еще одно подключение по работе, к Win-машине (делал не я, админы скинули).

Конфиг клиент:

client
dev tun
proto udp
remote xxx.xx.xxx.xxx 60002
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert a.selnikov.crt
key a.selnikov.key
verb 3

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

stranger-ru
() автор топика
Ответ на: комментарий от stranger-ru

Да %% твою мать, ты издеваешься?

Или ты ставишь на сервере tls-auth ta.key 0, а на клиенте tls-auth ta.key 1; или убираешь из конфига сервера и клиента эти строки.

anonymous
()
Ответ на: комментарий от stranger-ru

попробовал Сервер конфиг, то, что и выше с tls-auth ta.key 1

А остальное? Там к конфигу сервера нужно было добавить не только эту строку:

# это в конфиг сервера
tls-server
tls-auth ta.key 0
tls-cipher TLS-DHE-RSA-WITH-AES-256-CBC-SHA
cipher AES-256-CBC
auth SHA512

# это в конфиг клиента
tls-client
tls-auth ta.key 1
tls-cipher TLS-DHE-RSA-WITH-AES-256-CBC-SHA
cipher AES-256-CBC
auth SHA512
Ты так делал?

rumgot ★★★★★
()
Последнее исправление: rumgot (всего исправлений: 1)
Ответ на: комментарий от stranger-ru

И еще. Я знаю, уже это обсуждали, на все же. Добавь на сервере и клиенте параметр:

compress lzo

rumgot ★★★★★
()
Ответ на: комментарий от stranger-ru

Всем спасибо, получилось соединиться.

Правда теперь иногда вот такое наблюдаю:

[root@168805 ~]# openvpn /etc/openvpn/server.conf

Options error: --dh fails with 'dh2048.pem': No such file or directory (errno=2)
Options error: --ca fails with 'ca.crt': No such file or directory (errno=2)
Options error: --cert fails with 'server.crt': No such file or directory (errno=2)
Wed Jan 31 05:55:08 2018 WARNING: cannot stat file 'server.key': No such file or directory (errno=2)
Options error: --key fails with 'server.key': No such file or directory (errno=2)
Options error: Please correct these errors.
Use --help for more information.
сертификаты при этом в /etc/openvpn лежат:
dh2048.pem
server.crt
server.key
ta.key
ca.crt

а иногда еще и вот такое:

[root@168805 openvpn]# openvpn /etc/openvpn/server.conf

Wed Jan 31 05:36:46 2018 OpenVPN 2.4.4 x86_64-redhat-linux-gnu [Fedora EPEL patched] [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Sep 26 2017
Wed Jan 31 05:36:46 2018 library versions: OpenSSL 1.0.2k-fips  26 Jan 2017, LZO 2.06
Wed Jan 31 05:36:46 2018 Diffie-Hellman initialized with 2048 bit key
Wed Jan 31 05:36:46 2018 ROUTE_GATEWAY 89.223.24.1/255.255.248.0 IFACE=eth0 HWADDR=52:54:00:01:33:71
Wed Jan 31 05:36:46 2018 TUN/TAP device tun1 opened
Wed Jan 31 05:36:46 2018 TUN/TAP TX queue length set to 100
Wed Jan 31 05:36:46 2018 do_ifconfig, tt->did_ifconfig_ipv6_setup=0
Wed Jan 31 05:36:46 2018 /sbin/ip link set dev tun1 up mtu 1500
Wed Jan 31 05:36:46 2018 /sbin/ip addr add dev tun1 local 10.8.0.1 peer 10.8.0.2
Wed Jan 31 05:36:46 2018 /sbin/ip route add 10.8.0.0/24 via 10.8.0.2
RTNETLINK answers: File exists
Wed Jan 31 05:36:46 2018 ERROR: Linux route add command failed: external program exited with error status: 2
Wed Jan 31 05:36:46 2018 Could not determine IPv4/IPv6 protocol. Using AF_INET
Wed Jan 31 05:36:46 2018 Socket Buffers: R=[212992->212992] S=[212992->212992]
Wed Jan 31 05:36:46 2018 TCP/UDP: Socket bind failed on local address [AF_INET][undef]:1194: Address already in use (errno=98)
Wed Jan 31 05:36:46 2018 Exiting due to fatal error
Wed Jan 31 05:36:46 2018 Closing TUN/TAP interface
Wed Jan 31 05:36:46 2018 /sbin/ip addr del dev tun1 local 10.8.0.1 peer 10.8.0.2

stranger-ru
() автор топика
Ответ на: комментарий от stranger-ru

Правда теперь иногда вот такое наблюдаю:

Полные пути пропишите. Это вообще не лишне в любом случае.

а иногда еще и вот такое:

По «два» раза не запускайте.

anc ★★★★★
()
Ответ на: комментарий от anc

Полные пути пропишите. Это вообще не лишне в любом случае.

не могу найти где и как прописать полные пути. Подскажите пжл.

По «два» раза не запускайте.

Вы имеете в виду эту команду по два раза не запускать:

openvpn /etc/openvpn/server.conf
? Если я ее запускаю несколько раз, то когда вот той ошибки нет, то эта ошибка и не появляется.

stranger-ru
() автор топика
Ответ на: комментарий от stranger-ru

не могу найти где и как прописать полные пути. Подскажите пжл.

В конфиге сервера, полные пути до файлов.

Вы имеете в виду эту команду по два раза не запускать:
openvpn /etc/openvpn/server.conf

Да. Да, да-да-да.... запускать два демона с одним конфигом это плохая идея.
А вообще забейте, запускайте уж сервисом как там в вашей системе положено.

anc ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.