Рейтинг:1

Проблемы IPsec site-to-site VPN после недавнего обновления ядра Linux

флаг ke
ICT

В прошлые выходные у нас было автоматическое обновление безопасности на одном из наших VPN-шлюзов, которые соединяют сайты с нашей облачной средой. После устранения неполадок (с помощью базового устранения неполадок в сети, например, с помощью Wireshark) мы определили, что причиной этого является одно из самых последних обновлений безопасности. Мы восстановили систему до заведомо исправного состояния и приостановили (как нам кажется) затронутые пакеты.

Это экземпляр Ubuntu 20.04 LTS на AWS с установленным linux-image-aws. Мы используем IPsec для подключения нескольких EdgeRouters к частной облачной среде.

После обновления все сайты подключаются и взаимодействуют как обычно, т.е. ICMP работает, но мы не можем получить доступ к определенным службам (таким как RDP или SMB) в среде частного облака.

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

Известная хорошая версия: linux-image-aws 5.8.0.1041.43~20.04.13

Проблемная версия: linux-image-aws 5.8.0.1042.44~20.04.14 и новее (мы также протестировали последнюю версию 5.11, которая, похоже, затронута)

Выдержка из конфигурации IPsec

# ГЛАВНАЯ КОНФИГУРАЦИЯ IPSEC VPN
настройка конфигурации

подключение% по умолчанию
        обмен ключами=ikev1

# <УДАЛЕНО>
conn peer-rt1.<УДАЛЕН>.net.au-tunnel-1
        слева=% любой
        right=rt1.<УДАЛЕНО>.net.au
        правильный идентификатор = "% любой"
        левая подсеть = 172.31.0.0/16
        правая подсеть = 10.35.0.0/16
        ike=aes128-sha1-modp2048!
        обмен ключами=ikev1
        ikelifetime=28800с
        esp=aes128-sha1-modp2048!
        срок службы = 3600 с
        rekeymargin=540s
        тип=туннель
        сжать=нет
        авторизация = секрет
        авто=маршрут
        keyingtries=%навсегда
        dpddelay=30s
        dpdtimeout = 120 с
        dpdaction=перезагрузка

Заранее спасибо.

РЕДАКТИРОВАТЬ 1: Мне удалось захватить еще один tcpdump из неудачного подключения RDP после другого тестового обновления, которое выглядит следующим образом:

21:43:01.813502 IP <LOCAL>.51099 > <REMOTE>.3389: флаги [S], seq 2706968963, win 64954, параметры [mss 1460,nop,wscale 8,nop,nop,sackOK], длина 0
21:43:01.813596 IP <LOCAL>.51099 > <REMOTE>.3389: флаги [S], seq 2706968963, win 64954, параметры [mss 1460,nop,wscale 8,nop,nop,sackOK], длина 0
21:43:01.814238 IP <REMOTE>.3389 > <LOCAL>.51099: флаги [S.], seq 152885333, ack 2706968964, win 64000, параметры [mss 1460,nop,wscale 0,nop,nop,sackOK], длина 0
21:43:01.839105 IP <LOCAL>.51099 > <REMOTE>.3389: флаги [.], ack 1, win 1025, длина 0
21:43:01.839168 IP <LOCAL>.51099 > <REMOTE>.3389: флаги [.], ack 1, win 1025, длина 0
21:43:01.840486 IP <LOCAL>.51099 > <REMOTE>.3389: флаги [P.], seq 1:48, ack 1, win 1025, длина 47
21:43:01.840541 IP <LOCAL>.51099 > <REMOTE>.3389: флаги [P.], seq 1:48, ack 1, win 1025, длина 47
21:43:01.843746 IP <REMOTE>.3389 > <LOCAL>.51099: флаги [P.], seq 1:20, ack 48, win 63953, длина 19
21:43:01.922120 IP <LOCAL>.51099 > <REMOTE>.3389: флаги [.], ack 20, win 1025, длина 0
21:43:01.922212 IP <LOCAL>.51099 > <REMOTE>.3389: флаги [.], ack 20, win 1025, длина 0
21:43:01.932646 IP <LOCAL>.51099 > <REMOTE>.3389: Флаги [P.], seq 48:226, ack 20, win 1025, длина 178
21:43:01.932729 IP <LOCAL>.51099 > <REMOTE>.3389: флаги [P.], seq 48:226, ack 20, win 1025, длина 178
21:43:01.940677 IP <REMOTE>.3389 > <LOCAL>.51099: флаги [P.], seq 20:1217, ack 226, win 63775, длина 1197
21:43:01.967343 IP <LOCAL>.51099 > <REMOTE>.3389: флаги [P.], seq 226:408, ack 1217, win 1020, длина 182
21:43:01.967417 IP <LOCAL>.51099 > <REMOTE>.3389: флаги [P.], seq 226:408, ack 1217, win 1020, длина 182
21:43:01.969452 IP <REMOTE>.3389 > <LOCAL>.51099: флаги [P.], seq 1217:1324, ack 408, win 63593, длина 107
21:43:02.044376 IP <LOCAL>.51099 > <REMOTE>.3389: флаги [.], ack 1324, win 1020, длина 0
21:43:02.044471 IP <LOCAL>.51099 > <REMOTE>.3389: флаги [.], ack 1324, win 1020, длина 0
21:43:02.135594 IP <LOCAL>.51099 > <REMOTE>.3389: флаги [P.], seq 408:637, ack 1324, win 1020, длина 229
21:43:02.135653 IP <LOCAL>.51099 > <REMOTE>.3389: флаги [P.], seq 408:637, ack 1324, win 1020, длина 229
21:43:02.136796 IP <REMOTE>.3389 > <LOCAL>.51099: флаги [P.], seq 1324:2609, ack 637, win 63364, длина 1285
21:43:02.212871 IP <LOCAL>.51099 > <REMOTE>.3389: флаги [.], ack 2609, win 1025, длина 0
21:43:02.212940 IP <LOCAL>.51099 > <REMOTE>.3389: Флаги [.], ack 2609, win 1025, длина 0
Tim avatar
флаг gp
Tim
Если вы не можете решить эту проблему, рассмотрите возможность использования сервиса AWS VPN, а не сервера?
ICT avatar
флаг ke
ICT
Привет Тим. Это справедливо, мы рассматривали возможность использования VPC, но хотели сохранить некоторый контроль над некоторыми аспектами, которые у нас есть только через настройку на основе виртуальной машины. Но мы, безусловно, рассмотрим это дополнительно, если проблемы сохранятся.
флаг cn
Не уверен, как это связано с версией пакета, но проблемы с MTU показывают схожие закономерности. Поскольку ICMP работает, я бы попытался увеличить размер пакета ICMP, чтобы увидеть, существует ли определенный максимальный размер для надежной работы пакетов, и если да, я бы установил MTU туннеля вручную (на обоих концах).
ICT avatar
флаг ke
ICT
Привет, grasbueschel, спасибо, что указали на это - похоже, стоит попробовать. Я тоже запланирую это!
Рейтинг:1
флаг id
MLu

Не вникая - может это удаление старых, слабеньких шифров типа sha1 и aes128? Попробуйте изменить его на aes256-sha256-modp2048 в рабочей версии ядра, а затем обновите его, чтобы увидеть, не ломается ли он. Также, может быть, ikev2 вместо ikev1? Но это проблема пользовательского пространства, а не настройки ядра.

Попробуй…

ICT avatar
флаг ke
ICT
Большое спасибо за рекомендацию, я попробую это в нерабочее время!
ICT avatar
флаг ke
ICT
К сожалению, это не решило связанную с этим проблему. Похоже, проблема с TCP-трафиком. Я обновил свой исходный пост tcpdump неудачного подключения RDP.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.