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

Два утверждения стоит разделить, прежде чем винить ускоритель: правило перестало применяться и счётчик перестал обновляться. Это не одно и то же наблюдение.

Три разных ускорения смешиваются в одно

Разгрузка пересылки, криптографическое ускорение и разгрузка канала данных туннеля — это отдельные механизмы, которые часто делят один коммутатор. Разгрузка пересылки позволяет установившимся потокам пропускать часть обычного стека, криптографическое ускорение удешевляет работу шифра, а разгрузка туннеля переносит инкапсуляцию в аппаратуру. Маршрутизатор, ускоряющий обычный маршрутизируемый трафик, может оставить туннельный трафик полностью на медленном пути, и это результат производительности, а не изменение политики. Бывает и обратное: туннельный трафик разгружается, а окружающая политика всё ещё вычисляется.

Flowtables в Linux — документированный случай, который стоит прочитать в первую очередь, поскольку установившиеся потоки можно передать быстрому пути. Их учёт и обработка состояния тогда отличаются от классической пересылки, и именно поэтому счётчики начинают выглядеть странно.

Счётчик, который перестал двигаться, доказывает мало

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

Обратный вывод терпит такой же провал. Быстрая загрузка не показывает, что ваши правила исключений и обработка сбоев всё ещё действуют, потому что она проверяет один поток, а не политику.

Три условия решают, ломает ли разгрузка политику

Первое условие — обращается ли быстрый путь к перехватчику, от которого зависит ваша политика, поскольку политика, выраженная метками и маршрутами, выживает чаще, чем построенная на фильтрации каждого пакета. Второе — разрешает ли прошивка такое сочетание вообще, потому что некоторые сборки автоматически отключают разгрузку, когда активен туннель или функция межсетевого экрана. Третье — подходит ли трафик, поскольку ускорение обычно привязано к установившимся потокам и может исключать фрагментированные или необычные пакеты. Там, где все три благоприятствуют ускорению, политика всё равно применяется, а там, где не выполняется первое, никакая настройка её не восстановит.

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

Проверяйте политику, а не пропускную способность

Измерьте, что политика должна гарантировать, прежде чем измерять, насколько быстро она работает. Команды ниже показывают, установлена ли flowtable, что видит отслеживание соединений и с какого адреса выходит клиент. Сравните новое соединение после изменения, поскольку установившееся может сохранить старый путь.

nft list flowtables
conntrack -L | head -n 20
curl -sS --max-time 8 https://api.ipify.org; echo
ping -c 3 192.168.50.20

Запись flowtable, покрывающая туннельный трафик, говорит о том, что быстрый путь задействован, а таблица соединений показывает, отслеживается ли поток так, как вы ожидаете. Проверка адреса подтверждает выход, когда политика касается выхода в интернет, а ping подтверждает частный адресат, который должен оставаться доступным. Запустите тот же набор с выключенным, а затем включённым ускорением и сравните результаты, а не время.

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

Похожие статьи