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


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

Автор Тема: HOWTO: Iptables для новичков  (Прочитано 528278 раз)

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

Оффлайн ivsatel

  • Активист
  • *
  • Сообщений: 336
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1545 : 27 Февраля 2012, 19:12:38 »
Не пойму почему не работает правило
[0:0] -A FORWARD -d 192.168.1.0/24 -i eth0Когда правило
[328718:16740168] -A FORWARD -s 192.168.1.0/24 -i eth0работает
Ведь согласно http://www.opennet.ru/docs/RUS/iptables/#TRAVERSINGGENERAL Трафик идет в обеих направлениях.
Если это особенность работы NAT, то как можно по другому выделить трафик, адресованный LAN в цепочке FORWARD ?

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1546 : 27 Февраля 2012, 19:16:10 »
Судя по Вашим счётчикам сеть 192.168.1.0/24 находится со стороны eth0, а значит пакеты входящие через eth0 не могут быть направлены в сторону этой сети.

Оффлайн ivsatel

  • Активист
  • *
  • Сообщений: 336
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1547 : 27 Февраля 2012, 19:43:20 »
fisher74
Вот этого и не пойму. Пробовал
[0:0] -A FORWARD -d 192.168.1.0/24 -o eth0
Тоже не работает. Хотя ведь пакет исходящий и направление в LAN.

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1548 : 27 Февраля 2012, 20:31:33 »
Нужно смотреть всю цепочку. -A добавляет правило в конец цепочки, и возможно впереди есть правило уже удовлетворяющее всем пакетом. Пользуйтесь параметром  -I для добавления правило нужным порядочным номером в цепочке.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1549 : 27 Февраля 2012, 20:45:14 »
Нужно смотреть всю цепочку.
Приводите вывод iptables-save полностью. Тогда сможем ответить.
А пока могу только предположить, что это правило вам вообще не нужно/вы не понимаете, как работает netfilter.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн ivsatel

  • Активист
  • *
  • Сообщений: 336
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1550 : 27 Февраля 2012, 21:07:12 »
Таблесы:
(Нажмите, чтобы показать/скрыть)

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1551 : 27 Февраля 2012, 22:16:58 »
[203995:14658172] -A INPUT -s 192.168.1.0/24 -i eth0 -m conntrack --ctstate NEW -j ACCEPT
[36120572:14937420579] -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

Поменять местами.
Так же это ответ, почему в вашем правиле ничего нет.
Исходящие -s 192.168.1.0/24 -i eth0 у вас разрешены, и релейтеды разрешены. Всё... вопрос исчерпан.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1552 : 28 Февраля 2012, 08:22:40 »
Всё... вопрос исчерпан.
Уважаемый AnrDaemon, брызгая слюной, совершенно упустил, что разговор шёл про цепочку FORWARD, а не про INPUT. Ваше поведение и вправду становится невыносимым. Переставайте хамить, даже между строк.

Цитировать
[106738813:110823923055] -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
[245924:14499433] -A FORWARD -m conntrack --ctstate DNAT -j ACCEPT
На самом деле вот эти правила портят Вам, ivsatel, дорогу к пониманию. Только учтите, они портят именно дорогу к пониманию, а не работу шлюза.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1553 : 28 Февраля 2012, 08:27:22 »
Я бы на вашем месте не пытался работать телепатом.
А ваше утверждение, что разговор вёлся про цепочку FORWARD, я и не подумаю оспаривать. Так как я имел в виду и её тоже.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1554 : 28 Февраля 2012, 10:40:31 »
На этом форуме приходится потренироваться и в телепатии, как и Вам, собственно.
А про FORWARD.... Значит Вы как-то по особенному приподнесли, что это только наморщив лоб становится понятно.
Просто не стоит забывать, что далеко не все в трусах родятся.

Ждём ivsatel с его исследованиями работы netfilter...
Да и остальных новичков и тех кто вычеркнул себя их этих рядов, тоже приглашаем задать вопросы.

Оффлайн ivsatel

  • Активист
  • *
  • Сообщений: 336
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1555 : 28 Февраля 2012, 21:14:19 »
Во первых Всем спасибо за помощь!
Хотелось бы прояснить мое понимание работы netfilter.
Пакет проходит цепочки пока не дойдет до однозначного DROP, ACCEPT и т.д.
Вот тут я не пойму. Порядок правил задается с использованием iptables -I FORWARD 1 и т.д.
Правила
[106738813:110823923055] -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
[245924:14499433] -A FORWARD -m conntrack --ctstate DNAT -j ACCEPT
Задаются последними. Но под правила
[0:0] -A FORWARD -d 192.168.1.0/24 -i eth0Не попадает ни одного пакета. Не пойму почему...
Я подозреваю, что пакет идущий из вне/интернет имеет адрес назначения тоесть -d ip_shluz и в таком состоянии следует сквозь цепочку filter-FORWARD, а -d 192.168.1.0/24 он получит только дойдя до цепочки nat-POSTROUTING
Верно ли мое предположение?
« Последнее редактирование: 28 Февраля 2012, 21:18:23 от ivsatel »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1556 : 28 Февраля 2012, 21:22:50 »
С порядком правил в цепочке Вы опять плывёте.
Команда -I с порядковым номером нужна для ручной вставки правила в нужную позицию.
iptables-save выводит в том порядке, в котором эти правила стоят в цепочке. И Ваша -A будет поставлена в конец.
Теперь про прохождение пакета цепочки FORWARD. Мы так до конца и не определились eth0 смотрит в сторону сети 192.168.0.0/24 или в сторону провайдера? Судя по вышеприведённым правилам - первый вариант. Тогда пакет из интернета просто не может попасть на хосты 192.168.0.0/24 входя через eth0

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1557 : 28 Февраля 2012, 21:44:58 »
http://www.docum.org/docum.org/kptd/
жеж...
Пакет таки может попасть на eth0 с назначением 192.168.1/24 (адрес назначения изменяется раньше, в цепочке nat).
Но это правило не имеет смысла после
-A FORWARD -m conntrack --ctstate DNAT -j ACCEPT

Эээ... минуту.
Мы про какие правила сейчас говорим? Автор начал с 192.168.1/24, а сейчас я вообще запутался.
« Последнее редактирование: 28 Февраля 2012, 21:46:40 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн ivsatel

  • Активист
  • *
  • Сообщений: 336
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1558 : 28 Февраля 2012, 21:53:43 »
С порядком правил в цепочке Вы опять плывёте.
Команда -I с порядковым номером нужна для ручной вставки правила в нужную позицию.
iptables-save выводит в том порядке, в котором эти правила стоят в цепочке. И Ваша -A будет поставлена в конец.
Тут я понимаю. И правила, так как их достаточное количество, я добавляю через скрипт. В котором и нумерую/задаю порядок их ввода.
Теперь про прохождение пакета цепочки FORWARD. Мы так до конца и не определились eth0 смотрит в сторону сети 192.168.0.0/24 или в сторону провайдера? Судя по вышеприведённым правилам - первый вариант. Тогда пакет из интернета просто не может попасть на хосты 192.168.0.0/24 входя через eth0
Да eth0 = LAN Соответственно ppp+ WAN
И вот тут самое темное для меня место) Я сейчас понимаю порядок прохождения так:
Из интернета -i ppp+ далее -i eth0 и с него в LAN (на хосты 192.168.1.0/24)
Я понимаю, что весь трафик из инета изначально адресован для ppp+, и пройдя nat-PREROUTING решается его маршрутизация, т.е. транзитный он или адресован непосредственно шлюзу.
Далее если он транзитный то он отправляется на eth0 для передачи его хостам из сети 192.168.1.0/24
Получается трафик из инета должен сначала войти на eth0 с ppp+ и выйти в LAN
Тут я не уверен в правильности понимания.

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1559 : 28 Февраля 2012, 21:57:44 »
Из интернета -i ppp+ далее -i eth0 и с него в LAN (на хосты 192.168.1.0/24)
-o этот интерфейс будет для LAN. Для понимания найдите в man-е как этот параметр и -i в полном виде пишется и поймёте

 

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