Hi gays. I would like to use tls-crypt-v2 in New version of ovpn 2.5.0. but i ran into problem.
Here log of server
2020-10-28 22:29:30 us=206352 Client wants tls-crypt-v2, but no server key present.
2020-10-28 22:29:30 us=206430 TLS Error: can not extract tls-crypt-v2 client key from [AF_INET]188.170.85.196:2197
here log of windows client
2020-10-29 12:45:01 us=74025 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
2020-10-29 12:45:01 us=74025 TLS Error: TLS handshake failed
2020-10-29 12:45:01 us=74025 TCP/UDP: Closing socket
2020-10-29 12:45:01 us=74025 SIGUSR1[soft,tls-error] received, process restarting
2020-10-29 12:45:01 us=74025 MANAGEMENT: >STATE:1603964701,RECONNECTING,tls-error,,,,,
I understand that openvpn does not see the server key in the server log. but I generated it with --genkey tls-crypt-v2-server commands and saved. I checked the file paths too. And generated the client key too and saved it successfully from the server key.
#new wintun driver(support only tun interface)
windows-driver wintun
remote-cert-tls server
client
auth-nocache
#Windows route method
;route-method exe
;route-delay 3
# udp не обладает возможностью разрыва сессии и это означает,
# что когда вы нажимаете кнопку "Отключить" соединение,
# то сервер никак не может узнать об этом событии кроме как получив от клиента специальное сообщение или просто дождаться таймаута.
# только для udp
explicit-exit-notify 2
# Uncomment this is you are not on Windows udp only
;fast-io
#Accept certain config file options from the peer as if they were part of the local config file.
# Must be specified when connecting to a '--mode server' remote host
pull
#Filter each option received from the server if it starts with the text t.
#The action flag accept, ignore or reject causes the option to be allowed, removed or rejected with error.
#May be specified multiple times, and each filter is applied in the order of appearance.
;pull-filter accept|ignore|reject text
dev tun1
;proto tcp
proto udp
remote my ip 1194
# необходимо для DynDNS
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert mio.crt
key mio.key
tls-crypt-v2 tls-crypt-v2-client.key
;tls-crypt ta.key
tls-client
tls-version-min 1.2
;tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384
;tls-ciphersuites TLS_AES_256_GCM_SHA384
keepalive 10 600
#сжатие
;compress lz4-v2
;compress lzo
verb 4
mute 20
auth SHA512
cipher AES-256-GCM
#повышаем скорость
;sndbuf 524288
;rcvbuf 524288
;tun-mtu 1472
;fragment 1472
#для udp ошибки bad packet id
mssfix 1431
# Внешний IP-адрес OpenVPN-сервера, на котором слушать запросы
local my ip
# Какой TCP/UDP порт должен слушать OpenVPN?
# Если вы хотите запустить несколько OpenVPN процессов
# на одной машине, используйте различные номера
# портов для каждого процесса. Вы должны
# открыть этот порт в вашем файерволе.
port 1194
# Вид протокола (tcp или udp)
proto udp
;proto tcp
;mode server
#поддерживается в системах, отличных от Windows, улучшает использование вашего ЦП
#при работе с UDP-пакетами, используя неблокирующие операции записи. Это относится только к UDP-туннелям.
;fast-io
# "dev tun" создаст маршрутизируемый IP туннель,
# "dev tap" создаст ethernet туннель.
# Используйте "dev tap0" если вам нужен мост
# и объедините полученный tap0 виртуальный интерфейс
# в режиме моста с вашим ethernet интерфейсом.
# Если вы хотите управлять правами доступа
# через VPN, вы должны создать правила файервола
# для TUN/TAP интерфейса.
# На не-Windows системах, вы можете указать
# явный номер устройствам, как например, tun0.
# В Windows, используйте для этого "dev-node".
# В большинстве систем, VPN не будет работать
# пока вы частично или польностью не отключите
# файервол для TUN/TAP интерфейса.
#Так же можно явно указывать номер виртуального интрефейса, например tun0.
dev tun1
;dev tap
# Расположение сертификатов и ключей
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
# Виртуальная сеть, которая будет установлена между клиентом и сервером
# Закоментируйте эту строку, если вы используете
# ethernet мост. Смотри man для получения дополнительной информации.
server 10.10.1.0 255.255.255.0
# Укажите хранить соответствие клиент <-> виртуальный IP адрес
# в файле. Если OpenVPN будет остановлен или
# перезапущен, переприсоединившиеся клиенты смогут получить
# тот же виртуальный IP адрес из пула, что был назначен ранее.
ifconfig-pool-persist ipp.txt
# Установите серверный режим для ethernet моста.
# Вы должны сначала в своей ОС настроить мост
# между TAP и NIC интерфейсом.
# Затем вы должны вручную установить
# IP/маску на мост, к примеру 10.8.0.4/255.255.255.0.
# В заключении мы должны установить диапазон IP
# адресов в этой подсети для выделения клиентам
# (начало=10.8.0.50 конец=10.8.0.100).
# Оставьте эту строку закоментированной, если вы
# не используете ethernet мост.
;server-bridge 10.8.0.4 255.255.255.0 10.8.0.50 10.8.0.100
# Установите клиенту соответствующие маршруты
# для возможности работать с другими подсетями
# за сервером. Помните, что эти подсети так же
# должны знать маршрут к клиентам
# адресного пула OpenVPN (10.10.10.0/255.255.255.0)
;push "route 10.10.2.0 255.255.255.0"
;push "route 10.10.3.0 255.255.255.0"
# Допустим вы хотите сделать различные права доступа
# на файерволе для различных групп клиентов
# Есть два способв:
# (1) Запустит несколько OpenVPN демонов, по одному на
# каждую группу, и настроить файервол на каждом TUN/TAP
# интерфейсе для каждой группы/демона соответственно.
# (2) (Advanced) Создать скрипт для динамической
# модификации файервола при подключении
# различных клиентов. Смотри man для получения
# дополнительной информации по learn-address скрипту.
;learn-address ./script
# Разрешаем клиентам обмениваться пакетами(по умолчанию клиент видит только сервер)
client-to-client
# Расскомментировать,если используется один ключ/сертификат или одно имя клиента(common name) на несколько клиентов
;duplicate-cn
# Проверяем соединение каждые 10 секунд, если его нет то через 20 секунд переподключаем в режиме server mode
keepalive 10 600
#то же что и keepalive
;inactive 60
;ping 10
;ping-exit 10
;ping-restart 10
# Включаем TLS
#for ovpn 2.5 and higher
tls-crypt-v2 tls-crypt-v2-server.key
#for ovpn 2.4
tls-crypt ta.key
;tls-timeout 120
tls-server
tls-version-min 1.2
tls-version-max 1.3
#For OpenSSL, the --tls-cipher is used for TLS 1.2 and below. For TLS 1.3 and up, the --tls-ciphersuites setting is used. mbed TLS has no TLS 1.3 support yet and only the --tls-cipher setting is used.
tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384
tls-ciphersuites TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM-SHA384
# шифрование
auth SHA512
cipher AES-256-GCM
# сжатие
;compress lz4-v2
;compress lzo
;push "compress lz4-v2"
;push "compress lzo"
# Максимальное количество клиентов
max-clients 1
# Назначаем пользователя и группу для работы с OpenVPN
user nobody
group nogroup
# Не перечитывать ключи после получения SIGUSR1 или ping-restart
persist-key
# Не закрывать или переоткрывать TUN\TAP устройство, после получения SIGUSR1 или ping-restart
persist-tun
# Вывод краткого файла состояния, показывающего
# текущие соединения, усеченные
# и переписывается каждую минуту.
status /var/log/openvpn/openvpn-status.log
# Логи
# "log" будет обрезать файл журнала при запуске OpenVPN,
# пока "log-append" будет добавляться к нему. Использовать один
# или другой (но не оба).
log /var/log/openvpn/openvpn.log
;log-append /var/log/openvpn/openvpn.log
# Установите необходимый уровень логирования.
# 0 - ничего, за исключением фатальных ошибок
# 4 - подойдет для получения общих сведений
# 5 и 6 пригодяться для отладки проблем соединения
# 9 - максимально возможная информация
verb 4
# Запрещает повтор сообщений. Не более 20
# идущих друг за другом сообщений одного типа
# будут направлены в лог.
mute 20
# весь трафик идет через впн
# local опция в одной беспроводной сети
push "redirect-gateway def1 bypass-dhcp"
;push "redirect-gateway local def1 bypass-dhcp"
# Файл отозванных сертификатов. Разремить, когда такие сертификаты появятся.
;crl-verify /etc/openvpn/crl.pem
# устанавливает виртуальный адрес сервера
;ifconfig 192.168.10.1 255.255.255.0
# устанавливает диапазон виртуальных адресов для клиентов
;ifconfig-pool 192.168.10.2 192.168.10.99
# Топология сети tun только
# Должна быть подсетью (адресация по IP)
# если клиенты Windows v2.0.9 и ниже не должны
# поддерживаться (тогда net30, то есть / 30 для каждого клиента)
# По умолчанию net30 (не рекомендуется)
topology subnet
# Чтобы назначить конкретные IP-адреса для конкретных
# клиенты или если у подключающегося клиента есть личный
# подсеть за ней, которая также должна иметь доступ VPN,
# использовать подкаталог "ccd" для конкретного клиента
# конфигурационные файлы (см. справочную страницу для получения дополнительной информации).
# ПРИМЕР: предположим, клиент
# имеющий сертификат общего наименования "Телониус"
# также имеет небольшую подсеть за подключением
# машина, например 192.168.40.128/255.255.255.248.
# Во-первых, раскомментируйте эти строки:
; client-config-dir ccd
;route 192.168.40.128 255.255.255.248
# Затем создайте файл ccd / Thelonious с этой строкой:
# iroute 192.168.40.128 255.255.255.248
# Это позволит частной подсети Thelonious
# доступ к VPN. Этот пример будет работать только
# если вы маршрутизируете, а не соединяете, то есть вы
# используя директивы dev tun и server.
# ПРИМЕР: Предположим, вы хотите дать
# Thelonious фиксированный IP-адрес VPN 10.9.0.1.
# Сначала раскомментируйте эти строки:
; client-config-dir ccd
;route 10.9.0.0 255.255.255.252
# Затем добавьте эту строку в ccd / Thelonious:
# ifconfig-push 10.9.0.1 10.9.0.2
# путь к каталогу индивидуальных клиентских конфигураций
client-config-dir /etc/openvpn/ccd
# Некоторые сетевые настройки для Windows
# можно отправить клиентам, например DNS
# или адрес сервера WINS. ПРЕДОСТЕРЕЖЕНИЕ:
#
http://openvpn.net/faq.html#dhcpcaveats
# Адреса ниже относятся к общественности
# DNS-серверы предоставлены opendns.com.
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
#утечка dns
push "block-outside-dns"
#realtime получить разного рода информацию о текущих клиентских подключениях к серверу
#нужно установить telnet сначала на сервере
;management localhost 7778
#повышаем скорость
;sndbuf 524288
;rcvbuf 524288
;tun-mtu 1472
;fragment 0
;mssfix 1431
client windows 10 ovpn 2.5
server Debian 9 ovpn 2.5