Назад | Перейти на главную страницу

Принудительная фрагментация и сборка IP-адресов для некоторого трафика через VPN-туннель

Есть ли способ принудительно выполнить фрагментацию IP-пакетов до того, как они попадут в tun0, а затем принудительно собрать их на другой стороне устройства tun?

У меня есть некоторый трафик IPSec, который я не могу контролировать, он хочет 1500 MTU и просто сбрасывается на устройстве tun.

Я предполагаю, что можно было бы инкапсулировать трафик в поток TCP, а затем повторно собрать поток обратно в пакеты, но это определенно не так, как это должно работать по разным причинам. Поэтому мне интересно, есть ли способ заставить фрагментацию и повторную сборку хотя бы для некоторых совпадающих пакетов на уровне ОС в Linux?

Ты пробовала

 ip link set mtu xxx dev tun0

где xxx - это то, что вы считаете подходящим?

РЕДАКТИРОВАТЬ:

вы можете захотеть взглянуть на этот: у этого парня проблема похожая на вашу,

Через некоторое время у меня возникла такая же проблема. Мой аплинк не пропускает tcp-пакеты, длина которых превышает 1496 байт. Я решаю эту проблему, очищая DF-бит во всех исходящих TCP-пакетах. Linux по умолчанию не позволяет очищать DF-бит, и я написал small = 20 модулей ядра и патч для iptables для очистки DF-бита.

Использование: для очистки DF исходящих пакетов:

iptables -t mangle -A POSTROUTING -j DF --clear

для чистого DF на входящих пакетах:

iptables -t mangle -A PREROUTING -j DF --clear

Также разрешены другие параметры iptables.

Ссылки на его код мертвы, но вы можете попробовать написать ему, avl@strace.net.