s.lobanov Опубликовано 23 января, 2011 (изменено) · Жалоба Есть cpe - zyxel keenetic lite, через которую не натятся фрагментированные пакеты(запускаю iperf -c iperf-server -u изнутри, из wan-порта трафик не уходит). Собственно вопрос в том, существуют ли реальные приложения(кроме iperf'а и netcat -u), которые могут сгенерировать такой(фрагментированный) трафик? Если да, то можно их названия? И ещё вопрос, должны ли CPE'шки подменять IP адрес в команде PORT протокола ftp(активный режим), чтобы абонентам не надо было принудительно устанавливать галочку "пассивный режим"? Изменено 23 января, 2011 пользователем s.lobanov Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 24 января, 2011 · Жалоба Должны. Фрагментированный пакет от обычного отличается только несколькими полями в IP заголовке. Единственный вариант, который могу придумать - у вас мту на ван интерфейсе меньше. В таком случае оно должно собрать весь пакет в памяти (дефрагментировать) а потом заного его фрагментировать с новым, более маленьким мту. Дефрагментация - затратная операция по памяти, как минимум, не говоря про усилия для написания кода. Попробуйте сделать так, чтобы через коробку шли фрагментированные пакеты, у которых мту меньше или равен мту ван порта. (подкрутить мту на сетевухе абонента) Ещё вариант что там где то галочка есть, какая нибудь супер фирменная технология защиты от дос атак. Нет такого требования/стандарта. Собственно ALG в коробках видел только в DFL фаерах, в чём по проще не помню чтобы встречалось, может кто подскажет другие коробки с ALG для фтп :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
s.lobanov Опубликовано 24 января, 2011 · Жалоба Должны.Фрагментированный пакет от обычного отличается только несколькими полями в IP заголовке. Единственный вариант, который могу придумать - у вас мту на ван интерфейсе меньше. В таком случае оно должно собрать весь пакет в памяти (дефрагментировать) а потом заного его фрагментировать с новым, более маленьким мту. Дефрагментация - затратная операция по памяти, как минимум, не говоря про усилия для написания кода. Попробуйте сделать так, чтобы через коробку шли фрагментированные пакеты, у которых мту меньше или равен мту ван порта. (подкрутить мту на сетевухе абонента) Слал фрагментированные пакеты размером 1000 байт, он их всё равно тупо дропает. iperf -u всегда генерит такой трафик, независимо от mtu. Вопрос в том, существуют ли реальные приложения, которые способны породить фрагментированный трафик. Ещё вариант что там где то галочка есть, какая нибудь супер фирменная технология защиты от дос атак.Тоже так подумал, но нет таких галочек Нет такого требования/стандарта.Собственно ALG в коробках видел только в DFL фаерах, в чём по проще не помню чтобы встречалось, может кто подскажет другие коробки с ALG для фтп :) Спросил про ftp в активном режиме, потому что adsl-модем huawei mt880 это умеет делать (подменять содержимое команды PORT и прокидывать related tcp-соединение в inside) Может кто подскажет как добраться до busybox'а? уж очень хочется посмотреть правила iptables Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
marikoda Опубликовано 24 января, 2011 · Жалоба Может кто подскажет как добраться до busybox'а? уж очень хочется посмотреть правила iptablesЕго может там не быть, не во всех моделях Linux inside. У некоторых, например, VxWorks. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
s.lobanov Опубликовано 24 января, 2011 · Жалоба marikoda Он в логах сам пишет, что там busybox, ещё пишет, что подгружает rp-pppoe.so и т.д. и т.п. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nnm Опубликовано 24 января, 2011 · Жалоба Судя по всему, Вы делаете NAPT. В этом случае, для того, чтобы сделать трансляцию, маршрутизатор должен собрать пакет. А эта, как было отмечено, операция затратная. Поэтому в большинстве случаев на такие пакеты забивают :) Мне на ум приходит только одно приложение, которое может порождать фрагментированные пакеты: NFS. Но что-то мне подсказывает, что это не единственная проблема NFS при работе через NAT :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
s.lobanov Опубликовано 25 января, 2011 · Жалоба nnm Да не нужно собирать пакет целиком, если не делать перефрагментацию. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nnm Опубликовано 25 января, 2011 · Жалоба nnm Да не нужно собирать пакет целиком, если не делать перефрагментацию. Если я Вас правильно понял, Вы эту префрагментацию как раз делаете:Слал фрагментированные пакеты размером 1000 байт, он их всё равно тупо дропает. iperf -u всегда генерит такой трафик, независимо от mtu. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 25 января, 2011 · Жалоба Вопрос в том, существуют ли реальные приложения, которые способны породить фрагментированный трафикНет.Посмотрите у себя на роутерах с натом статистику, у меня на домашнем роутере с торрентами/на рабочих-офисных обычно по нулям, пока я сам пинги размером больше мту не запускаю. Офисный роутер, аптайм 78 суток: ip: 99967061 total packets received 3624 bad header checksums 0 with size smaller than minimum 0 with data size < data length 0 with ip length > max ip packet size 0 with header length < data size 0 with data length < header length 0 with bad options 0 with incorrect version number 0 fragments received 0 fragments dropped (dup or out of space) 0 fragments dropped after timeout 0 packets reassembled ok 44873589 packets for this host 0 packets for unknown/unsupported protocol 50302795 packets forwarded (23477368 packets fast forwarded) 78716 packets not forwardable 0 packets received for unknown multicast group 0 redirects sent 58750403 packets sent from this host 0 packets sent with fabricated ip header 536047 output packets dropped due to no bufs, etc. 9 output packets discarded due to no route 47753 output datagrams fragmented 95506 fragments created 3 datagrams that can't be fragmented 0 tunneling packets that can't find gif 0 datagrams with bad address in header На других ещё меньше или по нулям.Этот сам пакеты фрагментировал для какого то приложения из за разницы мту на внутреннем и внешнем интерфейсах, возможно там тередо (юдп) включён на компах в локалке, в остальных местах тередо нет/выключен. Для тсп оно не нужно потому и по нулям почти везде. Те по моей статистике пользования - пренебречь фрагментированными пакетами можно :) Но нужно ещё проверить будет ли коробка сама фрагментировать пакеты если мту ван меньше мту лан, но и это не сильно востребовано. Тоже так подумал, но нет таких галочекОбновить прошивку? Мне на ум приходит только одно приложение, которое может порождать фрагментированные пакеты: NFS. Но что-то мне подсказывает, что это не единственная проблема NFS при работе через NAT :)Думаю что тем у кого нфс, в значении отличном от нид фор спид, такие коробки не особо нужны либо они как нибудь сами разберутся. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
s.lobanov Опубликовано 25 января, 2011 · Жалоба Вопрос в том, существуют ли реальные приложения, которые способны породить фрагментированный трафикНет.Посмотрите у себя на роутерах с натом статистику, у меня на домашнем роутере с торрентами/на рабочих-офисных обычно по нулям, пока я сам пинги размером больше мту не запускаю. Спасибо за статистику, но интересно посмотреть её на стороне оператора, а не у абонента. Сами нат не практикуем, поэтому посмотреть негде. nnm Да не нужно собирать пакет целиком, если не делать перефрагментацию. Если я Вас правильно понял, Вы эту префрагментацию как раз делаете:Слал фрагментированные пакеты размером 1000 байт, он их всё равно тупо дропает. iperf -u всегда генерит такой трафик, независимо от mtu. Не делаю я перефрагментацию. iperf просто "спускает" udp-данные большой длины, фрагментацией занимается сетевая подсистема ОС. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nnm Опубликовано 25 января, 2011 (изменено) · Жалоба Не делаю я перефрагментацию. iperf просто "спускает" udp-данные большой длины, фрагментацией занимается сетевая подсистема ОС. C точки зрения маршрутизатора, который делает NAT, нет разницы кто фрагментировал пакеты. Они прилетели к нему фрагментированными и все, чтобы отнатить нужно их собрать. А кто порубил пакет - приложение, ОС или предыдущий транзитный маршрутизатор уже не важно. Изменено 25 января, 2011 пользователем nnm Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 25 января, 2011 · Жалоба Спасибо за статистику, но интересно посмотреть её на стороне оператора, а не у абонента. Сами нат не практикуем, поэтому посмотреть негде.Посмотрите у себя, нат к фрагментации отношения не имеет.В том смысле, что напрямую он этого не делает. Первый выделенный жирным блок счётчиков во фряхе висит на ip_reass - которую вызывает ip_input / ip_fw, в PF походу есть свой отдельный сборщик учитывая наличие в нём опции и отсутствие вызова ip_reass. Если мне память не изменяет, то для роутинга/форвадинга она (фряха) пакеты будет пересобирать только если они для неё либо если это прописано в правилах фаервола. Те для случая с транзитными фрагментированными пакетами и отсутствием фаервола у меня нет 100% уверенности что она пересобирает а потом заново фрагментирует и шлёт дальше. Второй блок - это пакеты которые фрагментировал сам хост в ip_fragment Это могло быть если: - пакет форвадится между интерфейсами фастфорвадингом (не фрагментирован, не для этого хоста, мту на выходном интерфейсе меньше) - пакет в ip_output (там он мог оказать если хост сам сгенерировал траффик, из ip_forward (из ip_input) или (?) из очереди, после дефрагментации в ip_input - тут для меня тёмное место). - PF дёрнул ip_fragment а потом что то сделал с пакетом Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...