LINUX.ORG.RU
ФорумAdmin

OpenVPN: Authenticate/Decrypt packet error: packet HMAC authentication failed


0

1

Есть два хоста, один за NATом. Соеденины тупым OpenVPN со статическими ключами.

Сервер:

dev tap0
proto udp
port 1194
topology subnet

mlock
nice -19
fast-io

ifconfig 192.168.254.17 255.255.255.252

mtu-disc maybe
tun-mtu 1500
fragment 1400
mssfix 1400

keepalive 10 120

secret auth.key

auth RSA-SHA1
cipher AES-256-CBC
comp-lzo

user root
group root
Клиент аналогично.

Связь работает, вроде бы даже без лагов, но сервер в логи срёт сабж постоянно и много. ЧЯДНТ?

Причем туннелей есть еще несколько с сервера на другие хосты с аналогичным конфигом, там таких проблем нет.

Что-то ты зачастил сюда, разленился, да? Лень самому искать ответы на простые вопросы?

auth RSA-SHA1

man openvpn

--auth alg Authenticate packets with HMAC using message digest algorithm alg. (The default is SHA1 ). ...

Откуда ты взял это? Сам придумал?

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

Кстати в сорцах весьма наглядно написано, иногда стоит парсить текст ошибки в сорцах:

/* Verify the HMAC */
      if (ctx->hmac)
        {
          int hmac_len;
          uint8_t local_hmac[MAX_HMAC_KEY_LENGTH]; /* HMAC of ciphertext computed locally */
          int in_hmac_len;

          HMAC_Init_ex (ctx->hmac, NULL, 0, NULL, NULL);

          /* Assume the length of the input HMAC */
          hmac_len = HMAC_size (ctx->hmac);

          /* Authentication fails if insufficient data in packet for HMAC */
          if (buf->len < hmac_len)
            CRYPT_ERROR ("missing authentication info");

          HMAC_Update (ctx->hmac, BPTR (buf) + hmac_len,
                       BLEN (buf) - hmac_len);
          HMAC_Final (ctx->hmac, local_hmac, (unsigned int *)&in_hmac_len);
          ASSERT (hmac_len == in_hmac_len);

          /* Compare locally computed HMAC with packet HMAC */ //<<< значит не совпал локально вычисленный HMAC с тем, что у пакета
          if (memcmp (local_hmac, BPTR (buf), hmac_len))
            CRYPT_ERROR ("packet HMAC authentication failed"); //<<< ВОТ ОНО!!!11

          ASSERT (buf_advance (buf, hmac_len));
        }
anonymous ()
Ответ на: комментарий от anonymous

Онанимус-очевидность, я прекрасно и без тебя могу перевести что написано. Мне причина более интересна. Этот алгоритм у меня на всех клиентах, но глюки такие только у одного.

blind_oracle ★★★★★ ()

В общем проблема решилась, просто оказался еще один потерянный клиент, который слал пакеты на этот порт, к основному клиенту эти ошибки отношения не имели. Что ж я сразу в тцпдумп не поглядел...

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