Пересылка фрагментов с помощью IPTables / FirewallD

У меня есть компьютер с Linux (openSuse Leap 15.0), который подключен к кабельному модему с использованием PPoE (надеюсь, это не имеет отношения к делу. РЕДАКТИРОВАТЬ интерфейс ppp0 имеет значение mtu 1492, но к интерфейсу eth0 он "привязан" - я не понимаю как именно это работает - имеет mtu 1500) на ppp0/eth0 (внешний) и с локальной сетью (10.1.0.0/8) на eth1 (внутренний). РЕДАКТИРОВАТЬ Это работает firewalld с включенным маскарадингом.

Я также использую named и dchpd в локальной сети, и у меня есть несколько подключенных маршрутизаторов Wi-Fi, принтер и т. Д.

В любом случае, все работает отлично, если MTU установлен на 1400. Но если MTU установлен на 1500 на машине, подключенной к локальной сети, все не получается. В частности, запрос веб-страницы зависнет, и, если я посмотрю на трафик с помощью wireshark, будет возвращена только часть ответа на HTTP-запрос (последняя часть, как это происходит, для примера, который я посмотрел).

Это все равно будет в порядке - я могу понизить MTU на большинстве подключенных устройств - но мне нужно подключить телефон без рута. Единственный способ, которым я могу заставить это работать в настоящее время, состоит в том, чтобы использовать маршрутизатор Wi-Fi с его собственным DHCP (то есть его собственной маленькой сетью) и настраивая MTU в настройках маршрутизатора.

У меня сложилось впечатление, что в правилах выше я что-то упускаю для обработки фрагментов. Тем не менее, когда я читаю, кажется, что соединения с состоянием должны правильно обрабатывать фрагменты. Я также пытался дублировать правила с -f но это, казалось, не имело никакого эффекта.

Как мне сделать эту работу? Точнее, если вышеприведенное верно, как мне получить iptables для пересылки фрагментов? Благодарю.

РЕДАКТИРОВАТЬ Или, если это лучший способ, почему ничего, что подключается к сети, не делает правильно PMTUD? Брандмауэр не блокирует сообщения ICMP. Если я бегу ping он работает нормально (и я вижу ICMP в Wireshark). Если я делаю HTTP-запрос, я не вижу сообщения ICMP, что меня беспокоит. В настоящее время я пытаюсь найти способ проверить, блокируются ли сообщения фрагментации где-то еще.

РЕДАКТИРОВАТЬ Если бы в тексте поменялись местами eth0 и eth1. Исправлено сейчас.

0 ответов

Другие вопросы по тегам