Настроить OpenVPN по конфигу от Windows клиента



  • Привет!
    Нужны подсказки по настройке OpenVPN.

    Был настроен vpn туннель между двумя офисами. С одной стороны шлюзом стоит какой то линукс (сервер vpn), с другой стороны шлюзом стоял Win2003 Server (клиент vpn), он же прокси в инет (Kerio WinRoute Firewall ). На Win2003 Server туннель поднимался с помощью виндового OpenVPN клиента версии 2.1.4. Винда "умерла" аппаратно, но удалось вытащить с жесткого диска директорию с конфигом и ключами/сертификатами для OpenVPN.

    Поскольку под руками был почти настроенный pfSense вопрос с доступом к интернету для компов филиала был решен быстро. А вот настроить vpn не получается. Со стороны сервера администратор временно недоступен, а туннель запустить очень нужно.

    Вот содержимое конфига:

    dev tun
    port 5000
    proto udp
    remote 92.243..
    link-mtu 1500
    persist-key
    persist-tun
    route 192.168.0.0 255.255.255.0
    secret openvpn.key
    ifconfig 10.1.1.2 10.1.1.1
    comp-lzo
    verb 3
    ping 10

    Кроме этого есть сертификат сервера, есть openvpn.key, сертификат и ключ клиента. Все файлы примерно одной даты и не понятно использовались ли они все или просто лежали в директории.

    По имеющемуся конфигу восстановил соединение. Так понял, что это соединение - PSK. Как я понял туннель был без шифрования, на файлы сертификатов ссылок нет.

    Что делалось:

    • в центре сертификации был добавлен новый экземпляр, путем импорта из имеющегося сертификата
    • был добавлен клиент  OpenVPN в варианте PSK, указаны адрес/порт, взят из указанного в конфиге Shared Key. Указаны соответственно адресация туннеля и удаленной сети.
    • были добавлены разрешающие правила на WAN и OpenVPN

    Туннель поднялся, по крайней мере в статусе клиента пишет "up" и мелкое кол-во байт принято/отправлено.
    А роутинга нет, сеть за туннелем не видна, в логе OpenVPN куча сообщений:

    Apr 15 18:04:04  openvpn  12480  OpenVPN 2.3.14 amd64-portbld-freebsd10.3 [SSL (OpenSSL)] [LZO] [MH] [IPv6] built on Feb 15 2017 
    Apr 15 18:04:04  openvpn  12480  library versions: OpenSSL 1.0.1s-freebsd 1 Mar 2016, LZO 2.09 
    Apr 15 18:04:04  openvpn  12519  NOTE: the current –script-security setting may allow this configuration to call user-defined scripts 
    Apr 15 18:04:04  openvpn  12519  ******* WARNING *******: null cipher specified, no encryption will be used 
    Apr 15 18:04:04  openvpn  12519  ******* WARNING *: null MAC specified, no authentication will be used 
    Apr 15 18:04:04  openvpn  12519  TUN/TAP device ovpnc1 exists previously, keep at program end 
    Apr 15 18:04:04  openvpn  12519  TUN/TAP device /dev/tun1 opened 
    Apr 15 18:04:04  openvpn  12519  do_ifconfig, tt->ipv6=1, tt->did_ifconfig_ipv6_setup=0 
    Apr 15 18:04:04  openvpn  12519  /sbin/ifconfig ovpnc1 10.1.1.2 10.1.1.1 mtu 1500 netmask 255.255.255.255 up 
    Apr 15 18:04:04  openvpn  12519  /usr/local/sbin/ovpn-linkup ovpnc1 1500 1508 10.1.1.2 10.1.1.1 init 
    Apr 15 18:04:04  openvpn  12519  UDPv4 link local (bound): [AF_INET]81.27.
    .
    :5000 
    Apr 15 18:04:04  openvpn  12519  UDPv4 link remote: [AF_INET]92.243.
    .
    :5000 
    Apr 15 18:04:07  openvpn  12519  Peer Connection Initiated with [AF_INET]92.243.
    .
    :5000 
    Apr 15 18:04:07  openvpn  12519  Initialization Sequence Completed 
    Apr 15 18:04:08  openvpn  12519  Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #610065020 / time = (1189087253) Thu Sep 6 18:00:53 2007 ] – see the man page entry for --no-replay and --replay-window for more info or silence this warning with --mute-replay-warnings 
    Apr 15 18:04:08  openvpn  12519  Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #1722791990 / time = (1638286723) Tue Nov 30 18:38:43 2021 ] – see the man page entry for --no-replay and --replay-window for more info or silence this warning with --mute-replay-warnings 
    Apr 15 18:04:08  openvpn  12519  Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #2083135428 / time = (331433738) Thu Jul 3 03:55:38 1980 ] – see the man page entry for --no-replay and --replay-window for more info or silence this warning with --mute-replay-warnings 
    Apr 15 18:04:13  openvpn  12519  Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #936346527 / time = (1028333897) Sat Aug 3 04:18:17 2002 ] – see the man page entry for --no-replay and --replay-window for more info or silence this warning with --mute-replay-warnings 
    Apr 15 18:04:13  openvpn  12519  Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #3822875635 / time = (2389198115) Sat Sep 16 21:08:35 2045 ] – see the man page entry for --no-replay and --replay-window for more info or silence this warning with --mute-replay-warnings 
    Apr 15 18:04:18  openvpn  12519  Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #813354705 / time = (752872864) Tue Nov 9 22:21:04 1993 ] – see the man page entry for --no-replay and --replay-window for more info or silence this warning with --mute-replay-warnings 
    Apr 15 18:04:18  openvpn  12519  Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #4289867429 / time = (994094736) Mon Jul 2 21:25:36 2001 ] – see the man page entry for --no-replay and --replay-window for more info or silence this warning with --mute-replay-warnings 
    Apr 15 18:04:24  openvpn  12519  Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #754280086 / time = (3305610826) Mon Oct 1 12:13:46 2074 ] – see the man page entry for --no-replay and --replay-window for more info or silence this warning with --mute-replay-warnings 
    Apr 15 18:04:27  openvpn  12519  Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #116488745 / time = (1484830714) Thu Jan 19 15:58:34 2017 ] – see the man page entry for --no-replay and --replay-window for more info or silence this warning with --mute-replay-warnings 
    Apr 15 18:04:27  openvpn  12519  Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #385406100 / time = (2963038157) Fri Nov 23 13:09:17 2063 ] – see the man page entry for --no-replay and --replay-window for more info or silence this warning with --mute-replay-warnings 
    Apr 15 18:04:27  openvpn  12519  Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #2457443284 / time = (1670903603) Tue Dec 13 06:53:23 2022 ] – see the man page entry for --no-replay and --replay-window for more info or silence this warning with --mute-replay-warnings 
    Apr 15 18:04:34  openvpn  12519  Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #2417584080 / time = (1703557509) Tue Dec 26 05:25:09 2023 ] – see the man page entry for --no-replay and --replay-window for more info or silence this warning with --mute-replay-warnings 
    Apr 15 18:04:34  openvpn  12519  Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #3271111037 / time = (2774894605) Thu Dec 6 23:03:25 2057 ] – see the man page entry for --no-replay and --replay-window for more info or silence this warning with --mute-replay-warnings 
    Apr 15 18:04:38  openvpn  12519  Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #4047951281 / time = (2111464973) Fri Nov 28 09:02:53 2036 ] – see the man page entry for --no-replay and --replay-window for more info or silence this warning with --mute-replay-warnings 
    Apr 15 18:04:38  openvpn  12519  Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #1125047812 / time = (1171225370) Sun Feb 11 23:22:50 2007 ] – see the man page entry for --no-replay and --replay-window for more info or silence this warning with --mute-replay-warnings 
    Apr 15 18:04:38  openvpn  12519  Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #3417557471 / time = (1702423902) Wed Dec 13 02:31:42 2023 ] – see the man page entry for --no-replay and --replay-window for more info or silence this warning with --mute-replay-warnings

    Вот что за ошибка?
    Попробовал на сайте посмотреть опцию --no-replay, но что править практически в pfSense не понял.

    Подскажите, что можно/нужно сделать?

    Заранее благодарен.



  • Попробуйте убрать, если использовали
    link-mtu 1500
    также
    Auth digest algorithm выставить в None
    compression явно указать lzo\enabled

    По поводу похожей ошибки в логе
    https://forum.pfsense.org/index.php?topic=97238.0



  • Доброе.

    С одной стороны шлюзом стоит какой то линукс (сервер vpn)

    Для Linux есть отличн. штука - Pritunl.  Устанавливаете в пару-тройку кликов и через web-GUI создаете\управляете Openvpn-сервером.



  • @werter:

    Доброе.

    С одной стороны шлюзом стоит какой то линукс (сервер vpn)

    Для Linux есть отличн. штука - Pritunl.  Устанавливаете в пару-тройку кликов и через web-GUI создаете\управляете Openvpn-сервером.

    Для ТС администрирование серверной стороны недоступно.



  • @pigbrother:

    Попробуйте убрать, если использовали
    link-mtu 1500
    также
    Auth digest algorithm выставить в None
    compression явно указать lzo\enabled

    Я настраивал клиента через WEB интерфейс.
    Там вообще отсутствует (по крайней мере в моем варианте соединения PSK) поле для указания link-mtu
    Auth digest algorithm - я изначально выставил в None
    А по поводу компрессии, то что в WEB интерфейсе соответствует lzo\enabled

    No Preference
    No Preference and Adaptive Compression Disabled
    Disabled - No Compression
    Enabled with Adaptive Compression
    Enabled without Adaptive Compression

    Но Вы натолкнули на хорошую мысль - посмотреть на содержимое самого файла конфигурации. И там я обнаружил много опций, которые в WEB интерфейсе вообще не "светятся", но по факту присутствуют (убрал лишнее):

    verb 1
    dev-type tun
    tun-ipv6
    script-security 3
    keepalive 10 60
    ping-timer-rem
    persist-tun
    persist-key
    proto udp
    cipher none
    auth none
    local 81.27..
    lport 5000
    remote 92.243.. 5000
    ifconfig 10.1.1.2 10.1.1.1
    route 192.168.0.0 255.255.255.0
    secret /var/etc/openvpn/client1.secret
    resolv-retry infinite

    Возникли вопросы:

    • в старом конфиге был явно указан link-mtu 1500, а в текущем его нет. Может наоборот имеет смысл его указать?
    • соответственно, можно ли править конфиг руками? Он сохраниться или перезатрется при перезагрузке OpenVPN/pfSense?

    @pigbrother:

    По поводу похожей ошибки в логе
    https://forum.pfsense.org/index.php?topic=97238.0

    Посмотрел эту тему. Там вопрос не решили, но приходят к выводу о дублировании пакетов. Чисто с практической точки зрения - а что их может дублировать? Желез, программа, драйвер? Мне этот вопрос вообще не понятен…

    Сам спросил, сам ответил:

    Внес руками изменения в конфиг. После перезапуска vpn конфиг вернулся к исходному состоянию…  :(

    Возникает вопрос, а где править/менять опции, которые недоступны из WEB интерфейса? Откуда их берет pfSense?



  • @werter:

    Доброе.

    С одной стороны шлюзом стоит какой то линукс (сервер vpn)

    Для Linux есть отличн. штука - Pritunl.  Устанавливаете в пару-тройку кликов и через web-GUI создаете\управляете Openvpn-сервером.

    Мне удалось выяснить, что с серверной стороны стоит Debian 6.
    Настроен vpn был лет 6-7 назад. Соответственно какая там версия OpenVPN стоит можно только предполагать. Скорее всего что то 2.0

    Может ли быть проблема из-за расхождения версий на сервере (2.0) и клиенте (2.3.14)?



  • Может ли быть проблема из-за расхождения версий на сервере (2.0) и клиенте (2.3.14)?
    Теоретически - да. Не сталкивался.

    Все отсутствующие в WEB интерфейсе опции добавляются в поле Advanced-Custom options клиента.
    Либо через ; - точку с запятой, либо по одной директиве в каждой строке.
    lport 5000 - вряд ли нужен, это  необязательная привязка локального клиента к порту.

    По поводу компрессии, попробуйте  Enabled without Adaptive Compression. Не поможет - No Preference,
    а в Advanced-Custom options клиента добавить
    comp-lzo



  • Доброе.
    @fanofdogs:

    Мне удалось выяснить, что с серверной стороны стоит Debian 6.
    Настроен vpn был лет 6-7 назад. Соответственно какая там версия OpenVPN стоит можно только предполагать. Скорее всего что то 2.0

    А есть ли кто-то на том конце, кто поправит /etc/apt/sources.list и сделает sudo apt-get update && sudo apt-get dist-upgrade ? Потому как Deb 6 - давно не поддерживается.
    Или вам даст доступ туда.

    https://blog.rimuhosting.com/2016/02/13/debian-squeeze-6-ends-support-time-to-upgrade/
    http://linuxlookup.com/howto/upgrade_debian_6_squeeze_7_wheezy



  • Смотря какое ПО крутится на удаленной машине.
    Обновление может потянуть за собой обновление кучи пакетов, установленного софта с потенциальной потерей работоспособности.



  • Доброе.
    Верно. Важное замечание. Прошу прощения , что не упомянул.



  • Спасибо всем принимавшим участие!

    Нашелся админ на удаленный сервер. Там действительно оказался Debian 6. Причем в плачевном состоянии. Обновить OpenVPN толком не удалось, из-за за кучи зависимостей. Получилось  поднять ВПН поменяв направление, pfSense стал сервером, а Debian клиентом (с минимальным набором параметров в конфиге).

    Грабли конечно остались, по логам на pfSense соединение очень часто рвется, весь лог забит таким:

    May 18 16:35:15  openvpn  17763  MANAGEMENT: Client disconnected 
    May 18 16:35:15  openvpn  17763  MANAGEMENT: CMD 'status 2' 
    May 18 16:35:15  openvpn  17763  MANAGEMENT: CMD 'state 1' 
    May 18 16:35:15  openvpn  17763  MANAGEMENT: Client connected from /var/etc/openvpn/server1.sock

    Но поднимается быстро, так что на уровне пользователей это вообще не заметно. Решили больше Debian не трогать и смотреть в сторону замены на pfSense



  • @fanofdogs:

    Спасибо всем принимавшим участие!

    Нашелся админ на удаленный сервер. Там действительно оказался Debian 6. Причем в плачевном состоянии. Обновить OpenVPN толком не удалось, из-за за кучи зависимостей. Получилось  поднять ВПН поменяв направление, pfSense стал сервером, а Debian клиентом (с минимальным набором параметров в конфиге).

    Грабли конечно остались, по логам на pfSense соединение очень часто рвется, весь лог забит таким:

    May 18 16:35:15  openvpn  17763  MANAGEMENT: Client disconnected 
    May 18 16:35:15  openvpn  17763  MANAGEMENT: CMD 'status 2' 
    May 18 16:35:15  openvpn  17763  MANAGEMENT: CMD 'state 1' 
    May 18 16:35:15  openvpn  17763  MANAGEMENT: Client connected from /var/etc/openvpn/server1.sock

    Но поднимается быстро, так что на уровне пользователей это вообще не заметно. Решили больше Debian не трогать и смотреть в сторону замены на pfSense

    Это нормально (С)

    Причина:

    That's normal and it's from the Dashboard or Status > OpenVPN checking on the daemon. Your "verb" level is higher than it needs to be if you're seeing that in the logs.
    https://forum.pfsense.org/index.php?topic=79363.0