|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Anton Shuko 2:5005/66 18 Dec 2005 13:33:58 To : Eugene B. Berdnikov Subject : странности с роутингом (iproute2+netfilter) -------------------------------------------------------------------------------- 18 Dec 05 05:08, you wrote to you: EBB>> Anton Shuko <Anton.Shuko@f66.n5005.z2.fidonet.org> wrote: AS>>> ip ru add fwmark 1 ta ext AS>>> ip ro add default via гейтвей ta external AS>>> ip route flush cache AS>>> AS>>> ну и в нетфилтер забиваем в таблицу mangle AS>>> AS>>> -A OUTPUT -o ppp0 -j MARK --set-mark 1 EBB>> EBB>> Так работать не будет, надо не в OUTPUT, а в PREROUTING. EBB>> Hо руль на iif lo гораздо проще. EB> Тьфу! Чушь написал насчёт PREROUTING - это лишь для транзитных EB> пакетов... Действительно, нужно в OUTPUT. ага. EB> Hе работает оно по совершенно другой причине. Здесь всё сделано EB> правильно. Точнее, почти правильно: -o ppp0 лишнее, так как формально EB> невозможно определить выходной интерфейс до тех по, пока не сделали EB> lookup таблицы маршрутизации, а результат этого lookup'a зависит от EB> fwmark. :-) EB> Hасколько я понимаю, если маршрута на dst_ip нет, то пакет вообще EB> _не попадает_ в нетфильтр. Если маршрут нa dst_ip существует EB> (например, прописан в main явно, или уже сидит в таблице local, если EB> dst_ip попадает под маску интерфейса), то эта конструкция вполне себе EB> работает. EB> Почему так - я затрудняюсь объяснить, то ли это связано с реализацией EB> rp_filter'ов, то ли чего-то ещё, но вывод заключается в том, что в EB> данном случае основная таблица без default существовать не может. EB> Можно только зарулить default на несуществующий адрес +/- закрыть EB> транзит нетфильтром. изврат какой :) нагуглил, что это может быть проблема default ip. но это не доки, а переписка в форуме. я так понял, что раз первым подымается сетевой интерфейс то и пакеты идут либо от него либо вообще от lo. но никак не от ppp0, который поднимается позже. хотя наверное все это бред :) EB> Однако iif lo всё равно проще, и именно для этого он придуман. :) помогло. сенк кстати, а есть гденить хорошее описание и можно с картинками по прохождению пакетов внутри ядра? а то нетфильтр как-то сам по себе, ипроут гдето прилеплен. QoS тоже непонятно как приткнулся. и комбинацию всего этого я нигде пока не видел :( у меня была еще такая проблема: маркировал пакеты в нетфильтре для того чтобы сделать разделение трафика по полосам для br0 интерфейса (бридж из нескольких сетевух). получалось так, что метка ставится, но пакеты не ловятся по этой метке tc filter и идут на дефолтный класс. для ppp0 интерфейса все работало нормально. Anton --- GoldED/W32 3.0.1 * Origin: Пиво пить - здоровым быть !!! (2:5005/66) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/185743a559e2.html, оценка из 5, голосов 10
|