Jump to content

Не ходят пакеты при cypher esp-null


Recommended Posts

v2.08(AAUX.0)A4 <-> v2.06(AAFS.11)B4

При экспериментах с производительностью туннеля решил попробовать отключить шифрование ESP. При этом соединение устанавливается и в веб-интерфейсе отображается активным, но удаленная сеть не пингуется. Стоит поставить шифрование - все начинает работать.

Пример конфига:

Скрытый текст

crypto engine hardware
crypto ike proposal TTest
    encryption aes-cbc-128
    dh-group 15
    integrity sha1
!
crypto ike policy TTest
    proposal TTest
    lifetime 3600
    mode ikev2
!
crypto ipsec transform-set TTest
    cypher esp-null
    hmac esp-sha1-hmac
    dh-group 15
    lifetime 3600
!
crypto ipsec profile TTest
    dpd-interval 30
    identity-local email firnen@ellesmera.alagaesia
    match-identity-remote any
    authentication-local pre-share
    mode tunnel
    policy TTest
!
crypto map TTest
    set-peer any
    set-profile TTest
    set-transform TTest
    match-address _WEBADMIN_IPSEC_TTest
    set-tcpmss pmtu
    nail-up
    virtual-ip no enable
    enable
!

 

 

Link to comment
Share on other sites

5 часов назад, KorDen сказал:

v2.08(AAUX.0)A4 <-> v2.06(AAFS.11)B4

При экспериментах с производительностью туннеля решил попробовать отключить шифрование ESP. При этом соединение устанавливается и в веб-интерфейсе отображается активным, но удаленная сеть не пингуется. Стоит поставить шифрование - все начинает работать.

Пример конфига:

  Показать содержимое

 

Отключено было на обоих сторонах туннеля?

Попробуйте еще без crypto engine hardware.

Link to comment
Share on other sites

26 минут назад, Le ecureuil сказал:

Отключено было на обоих сторонах туннеля?

Попробуйте еще без crypto engine hardware.

Естественно на обоих сторонах, иначе туннель бы не поднялся, ругнувшись на несоответствие (проверил). Попробовал без аппаратного, аналогично.

В момент отключения еще словил лок на ультре (в аттаче), селфтест чуть позже пытался сделать, не удалось запустить.

threads-ipsec.zip

Link to comment
Share on other sites

1 минуту назад, KorDen сказал:

Естественно на обоих сторонах, иначе туннель бы не поднялся, ругнувшись на несоответствие (проверил). Попробовал без аппаратного, аналогично.

В момент отключения еще словил лок на ультре (в аттаче), селфтест чуть позже пытался сделать, не удалось запустить.

threads-ipsec.zip

Будьте аккуратны при работе с командой crypto engine, поскольку эта команда в теории может вызвать lock, если случайно в ядре останутся незавершенные сессии Phase 2 SA.

Сперва рекомендую обязательно остановить IPsec:

> no service ipsec

Затем выждать несколько секунд

Затем уже выполнять нужную операцию:

> crypto engine ....

И только затем, через несколько секунд опять запускать IPsec:

> service ipsec

Link to comment
Share on other sites

20 часов назад, Le ecureuil сказал:

Попробуйте еще без crypto engine hardware.

Попробовал с ожиданием, действительно, заработало. Только скорость Ultra 2 - Giga 2 без шифрования ~4 МБ/с, а с AES-128/hardware 12-13 МБ/с... Забавно...

Link to comment
Share on other sites

33 минуты назад, KorDen сказал:

Попробовал с ожиданием, действительно, заработало. Только скорость Ultra 2 - Giga 2 без шифрования ~4 МБ/с, а с AES-128/hardware 12-13 МБ/с... Забавно...

Короче проблема в crypto engine, как я и ожидал :)

А удивительного ничего нет: в обоих случаях кроме шифрования нужно еще посчитать HMAC для пакета, и в первом случае без шифрования он считается программно, а во втором случае - аппаратно за один такт с шифрованием. Потому и выходит быстрее. :) 

Спасибо за диагностику, буду разбираться где же неправильно работает crypto engine.

Link to comment
Share on other sites

Да, проблема воспроизводится, но скорее всего поправлена не будет - несколько часов дебага и поисков причин ничего не дали, а смысла в продолжении мало, и вот почему.

esp-null используется для дебага, чтобы захватить через wireshark или ndm-mod-monitor пакеты и посмотреть что же внутри ESP. В production же никто не будет использовать ESP без шифрования (по крайней мере я надеюсь на это).

Потому если по каким-то причинам нужен esp-null - используйте crypto engine software.

Link to comment
Share on other sites

4 часа назад, Le ecureuil сказал:

а смысла в продолжении мало, и вот почему.

Раз решение ошибки нетривиальное - конечно смысла нет..

4 часа назад, Le ecureuil сказал:

В production же никто не будет использовать ESP без шифрования

Теоретически, в зависимости от среды передачи, может быть необходимость туннеля [с проверкой валидности данных (HMAC)], но шифрование не обязательно, если по этому туннелю и так гоняются шифрованные TLS/... данные.

Но это уже сильно частные случаи конечно, я просто игрался - нашел баг - сообщил..

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...