Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: iptables. Как узнать по каким цепочкам идет пакет?  (Прочитано 2232 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Int_20h

  • Автор темы
  • Участник
  • *
  • Сообщений: 137
    • Просмотр профиля
Есть ли механизм, который показывает как идет пакет через netfilter?

Хотелось бы задать параметры (например, -p tcp -s 192.168.122.100 -dport 80) и посмотреть по каким цепочкам этот пакет проходит и где он рубится.

Как это можно сделать?

Оффлайн Hansolefsen

  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Ну насколько я знаю, есть три цепочки - форвард, инпут и еще одна, гляньте, пожалуйста, по этой теме вот эту статью. Читать тут, можно использовать Гугол-транслейт. А почему Вы спрашиваете?

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
А на сколько я знаю, пакет проходит строго по определённым цепочкам, что достаточно чётко описанов в Iptables Tutorial
А именно в параграфе 3.1
И, кстати, на русском языке без выывиха мозга от перевода гуглотранслейта

А правило задаёт не то как пойдёт пакет по цепочкам (потому что путь-то у него уже расписан), а какие действия с ним будут делаться.
« Последнее редактирование: 15 Августа 2013, 22:13:45 от fisher74 »

Оффлайн Hansolefsen

  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Ну по идее я ошибся, в темпе пролистывал ман по айпитейблз, самое бомбезное это то, мой товарищ как-то настраивал НАТ, тоже системный администратор, в отличие от меня))))))
« Последнее редактирование: 15 Августа 2013, 22:48:48 от Hansolefsen »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Hansolefsen, извините конечно, но для прочтения Вашего набора слов, странно наполненного запятыми, требуется образование криптолога. После третьего, весьма внимательного прочтения понял, что мне не до конца понять смысла предыдущего поста.

Оффлайн Int_20h

  • Автор темы
  • Участник
  • *
  • Сообщений: 137
    • Просмотр профиля
Ребята, порядок того, как проходит пакет по стандартным цепочкам я знаю. Все это очень здорово написано в мануалах.

Меня интересует, какие правила прошел пакет до того, как его выбросил netfilter. А путь этот может быть о-о-о-чень длинным. Т.е. пакет заходит в первую цепочку PREROUTING, там бегает по дополнительным цепочкам, а потом проходит в цепочку FORWARD. Например:

PREROUTING:

-j jump-to-our-rules

-j section-one

-j subsection-three

-s 10.7.0.0/16 -j local-net

-s 10.7.10.0/24 -j office

-s 10.7.10.135/32 -j it-is-vasya-pupkin

-dport 80 -j http-for-vasya

ACCEPT

FORWARD:

DROP

Меня интересует механизм отладки правил iptables. Хочется видеть, как netfilter обрабатывает пакеты с заданными параметрами. Пропускает он их или выбрасывает. И если выбрасывает, то на каком правиле.

Оффлайн Hansolefsen

  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Сканируйте tcpdump'om :2funny:

Оффлайн Int_20h

  • Автор темы
  • Участник
  • *
  • Сообщений: 137
    • Просмотр профиля
Ага. Расскажите еще, что я там увижу.

Как я через tcpdump увижу по каким конкретно цепочкам прошел пакет и какое правило его выкинуло? :idiot2:


Пользователь решил продолжить мысль 16 Августа 2013, 10:24:37:
По-сути нужны средства для трассировки netfilter'а.

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Наиболее близко из того, что можно предложить, будут счётчики и логирование:
iptables-save -c
iptables ... -j LOG --log-prefix "example.log"
tail -f /var/log/messages | grep "example.log"

 

Страница сгенерирована за 0.061 секунд. Запросов: 25.