Приветствую, господа!
Столкнулся с труднообъяснимой проблемой.
Имеется шлюз на основе Debian Linux 5.0.4, подключенній к двум провайдерам через PPPoE-подключения. Соединения от клиентов локльной сети в зависимости от их исходящего адреса разбрасываются по провайдерам с помощью ip rule. А именно: от 1-го провайдера принимается маршрут маршрут по-умолчанию и помещается в таблицу main, для 2-го провайдера заведена отдельная таблица маршрутизации с помощью ip route.
Все работало относительно нормально, до тех пор пока не был задейсвован PPTP-сервер, для которого тоже применена такая же схема разброса соединений. У клиентов, которые ходят в Internet через 1-го провайдера проблем не замечено. Однако клиенты, которые ходят через 2-го провайдера, не могут открывать стратраницы сайтов более какого-то определенного размера. Это же относится и к другим TCP-соединениям. При этом UDP-пакеты ходят нормально.
После длительных исследований было замечено, что, учитывая то, что MTU подключения к провайдерам равен 1492, а MTU PPTP-подключений равняется 1396, шлюз рассылает сайтам, к которым пытаются подключиться PPTP-клиенты, ICMP-запрос «Need to Frag 1396». У 1-го провайдера все хорошо, НО(!!!) подобные запросы для уменьшения размеров пакетов соединений, устанавливаемых PPTP-клиентами через 2-го провайдера, почему-то уходят через подключение к 1-му провайдеру (от которого, как вы помните, принят маршрут по-умолчанию), где благополучно прибиваются(?). В то же время ICMP эхо-запросы/ответы от разных PPTP-клиентов нормально ходят через соответствующих провайдеров в зависимости от исходящего адреса.
Я пытался консультироваться в буржуйских форумах, но ни одного ответа не получмл. Может ли кто-либо из участников данного форума пролить хоть како-то свет на причины этого феномена или подсказать на каком ресурсе найдутся компетентные люди, способные его прокомментировать? Можно ли это рассматривать, как особенность именно Debian, или это имеет отношение к самому ядру Linux?
Заранее признателен.