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


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

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

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

Оффлайн Macht59

  • Любитель
  • *
  • Сообщений: 57
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #960 : 08 Ноября 2010, 17:16:15 »
Так и обратные пакеты надо пропускать тоже. Тут очень хорошо помогает conntrack, который отслеживает установленные коннекты:
iptables -P FORWARD DROP
iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

также и к INPUT это очень хорошо применимо:
iptables -P INPUT DROP
iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
Спасибо за ответ! Теперь все работает  8)
Ubuntu 10.10 | AMD Athlon II X3 3100+ | 4 Gb RAM | ATI 5770

Оффлайн Arh Di Angel

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #961 : 24 Ноября 2010, 08:44:34 »
Добрый день...
Случилось так что мне попал под управление сервак с установленной и настроенной Ubuntu  и, соответственно, IPtables. Настроен он был тогда когда деревья были большие, а трафик считался и оплачивался. Но время не стоит на месте и пришел на этот сервант безлимитный интернет! Но лимиты-то по прежнему были и как только какой-либо юзверь скачивал достаточно информации ему отрубался инет. Юзверь в слезах, я за компом в ручную обнуляю трафик и даю добро на сеть. Достало!
Подскажите пожалуйста, как безлимит поставить?..  :-[

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #962 : 24 Ноября 2010, 08:57:17 »
Нужно смотреть как организовано ограничение по траффику.

Оффлайн Arh Di Angel

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #963 : 24 Ноября 2010, 08:58:12 »
Скажите где, посмотрю, скопирую, вставлю...

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #964 : 24 Ноября 2010, 13:26:43 »
Смотреть на сервере... (Знаю, что ответ дурацкий, но более подробного ответа вы не дождётесь. Не потому, что мы злые, а потому, что ответ требует доступа к серверу, который есть только у вас...)
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн Arh Di Angel

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #965 : 24 Ноября 2010, 13:42:17 »
Эмм... Вам нужны правила которые прописаны?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #966 : 24 Ноября 2010, 13:50:14 »
Ну, как вариант. Хоть будет, на чём гадать.
(Если до сих пор не понял - вариантов сбора статистики по трафику - вагон и маленькая тележка.)

Пользователь решил продолжить мысль 24 Ноября 2010, 13:54:28:
Эээ... в меру дурацкий вопрос к гуру: есть какой-то способ передать некий параметр при переходе в пользовательскую цепочку? Чтобы в цепочке его проверить и принять какое-то решение. Что-то меня задалбывает дублировать правила при перенаправлении в коллектор...
« Последнее редактирование: 24 Ноября 2010, 13:54:58 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн Arh Di Angel

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #967 : 24 Ноября 2010, 13:56:55 »
Эт понятно. Только правила до меня 3 админа писали, а разгребать их я один взялся...

Тогда ещё один вопрос. в /etc/iptable/ находятся файлы iptable, save.zzzz и save. все с правилами... С чего танцевать?.. :-\

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #968 : 24 Ноября 2010, 14:17:45 »
Определить какие именно грузятся при старте системы. Мест немного и любое из них будет содержать название одного из этих файлов.

Оффлайн roma333

  • Участник
  • *
  • Сообщений: 206
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #969 : 24 Ноября 2010, 16:17:36 »


Пользователь решил продолжить мысль 24 Ноября 2010, 13:54:28:
Эээ... в меру дурацкий вопрос к гуру: есть какой-то способ передать некий параметр при переходе в пользовательскую цепочку? Чтобы в цепочке его проверить и принять какое-то решение. Что-то меня задалбывает дублировать правила при перенаправлении в коллектор...

А если использовать переменные для этого, как вариант переменную окружения завести?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #970 : 24 Ноября 2010, 20:39:38 »
Эээ... в меру дурацкий вопрос к гуру: есть какой-то способ передать некий параметр при переходе в пользовательскую цепочку? Чтобы в цепочке его проверить и принять какое-то решение. Что-то меня задалбывает дублировать правила при перенаправлении в коллектор...

А если использовать переменные для этого, как вариант переменную окружения завести?

Какие переменные окружения в нетфильтре, ты вообще о чём? O.o
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн Arh Di Angel

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #971 : 25 Ноября 2010, 08:21:38 »
Определить какие именно грузятся при старте системы. Мест немного и любое из них будет содержать название одного из этих файлов.

Как я понял, все основные правила прописаны в "iptable", а в остальные файлы добавлялись новые компы и правила для них...

Оффлайн connectof

  • Новичок
  • *
  • Сообщений: 12
  • A. Connectof
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #972 : 26 Ноября 2010, 17:20:42 »
Не совсем понимаю принцип действия
-m state --state NEW,ESTABLISHED -j ACCEPT
опасно ли делать так, для таблицы INPUT/FORWARD в конце всех блокирующих правил (хотя и политика drop, но, на всякий случай закрыты опасные порты и отбрасываются левые пакеты)
-A INPUT -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT
Фильтр настроен на DROP, input, output, forward
NAT на accept

с форвардом аналогично
-A FORWARD -s 192.168.1.0/24 -i eth0(внутренняя) -m state --state NEW,ESTABLISHED -j ACCEPT
-A FORWARD -d 192.168.1.0/24 -i ppp0 -m state --state ESTABLISHED -j ACCEPT
-A FORWARD -d 192.168.1.0/24 -i eth1 -m state --state ESTABLISHED -j ACCEPT
если сканировать из внешки или с клиента сервер-шлюз - все закрыто что явно не открыто и не включена служба использующая порт, порты приходиться пробрасывать для клиентов(форвард и прероутинг правила) и открывать их на шлюзе и только после этого они открываются.
Кроме этих правил ничего что явно разрешает хождение трафика внутри локалки 192.x , нет, волшебство какое то или кривые руки...
Полностью не буду приводить правила, думаю понятно. Хотел спросить вот про этот огород

# spoofing
-A INPUT -p tcp -m tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,ACK SYN -j REJECT --reject-with icmp-port-unreachable
# other incorrect
-A INPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
-A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
-A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
-A INPUT -p tcp ! --syn -m state --state NEW -j DROP
-A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
-A INPUT -p tcp --tcp-flags ALL ALL -j DROP
-A INPUT -p tcp --tcp-flags ALL NONE -j DROP
верны ли правила? нужно ли это нести в форвард? вроде бы можно задать значение общее для цепочек и вставить его перед правилом и в общую политику цепочек, дабы не городить огороды
что то вроде
*filter
:INPUT DROP
:FORWARD DROP
:OUTPUT DROP [0:0]
:icmp-in - [0:0]
-A icmp-in блаблабла
« Последнее редактирование: 26 Ноября 2010, 17:24:24 от connectof »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #973 : 27 Ноября 2010, 00:41:58 »
Не совсем понимаю принцип действия
-m state --state NEW,ESTABLISHED -j ACCEPT

-m conntrack
state не работает с UDP.

Цитировать
опасно ли делать так, для таблицы INPUT/FORWARD

Определись уже, INPUT или FORWARD. От этого зависит ответ.
И мешать в одну кучу NEW и ESTABLISHED можно только в OUTPUT.

Цитировать
в конце всех блокирующих правил (хотя и политика drop, но, на всякий случай закрыты опасные порты и отбрасываются левые пакеты)
Неверно.

Цитировать
(Нажмите, чтобы показать/скрыть)
Фильтр настроен на DROP, input, output, forward
NAT на accept

с форвардом аналогично
(Нажмите, чтобы показать/скрыть)
если сканировать из внешки или с клиента сервер-шлюз - все закрыто что явно не открыто и не включена служба использующая порт, порты приходиться пробрасывать для клиентов(форвард и прероутинг правила) и открывать их на шлюзе и только после этого они открываются.
Кроме этих правил ничего что явно разрешает хождение трафика внутри локалки 192.x , нет, волшебство какое то или кривые руки...
Полностью не буду приводить правила, думаю понятно. Хотел спросить вот про этот огород

(Нажмите, чтобы показать/скрыть)
верны ли правила? нужно ли это нести в форвард? вроде бы можно задать значение общее для цепочек и вставить его перед правилом и в общую политику цепочек, дабы не городить огороды
что то вроде
*filter
:INPUT DROP
:FORWARD DROP
:OUTPUT DROP [0:0]
:icmp-in - [0:0]
-A icmp-in блаблабла

На будущее - приводите правила полностью. А перед тем - прочитайте правила форума.
И загляните в https://forum.ubuntu.ru/index.php?topic=99586.0 за примерами использования conntrack.
(Нажмите, чтобы показать/скрыть)
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн connectof

  • Новичок
  • *
  • Сообщений: 12
  • A. Connectof
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #974 : 27 Ноября 2010, 05:01:36 »
Спасибо что откликнулись AnrDaemon
По поводу примеров использования conntrack в голове каша такая же как и с established,related- уже установленные соединения, меня это вводит в ступор, да я вижу как используется там правило но это не помогает его понять.
Цитировать
state не работает с UDP.
будем знать
Цитировать
Определись уже, INPUT или FORWARD. От этого зависит ответ.
Я о том что это единственное разрешающее правило там, помимо открытия одиночного порта для клиента
вот правила,
(Нажмите, чтобы показать/скрыть)
Цитировать
multiport --dports 9,22,25,110
т.е так 137:445 диапазон, а через , единичные порты, не знал, отдельное спасибо
Так же хотелось бы спросить, почему вы закрыли порт 110 pop3 именно так, а не тихим дроп?
Цитировать
-A INPUT -s 192.168.35.0/255.255.255.0 -i ! eth1 -m conntrack --ctstate NEW -j ACCEPT
Вот этот "!" он же в разных случаях по разному действует? можете пояснить в ситуации с input и forward
Цитировать
-A FORWARD -i ppp+ -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1357:1500 -j TCPMSS --set-mss 1356
У меня есть правило которое исправляет mtu, но оно подгружается после поднятия ppp+
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1500 -j TCPMSS --clamp-mss-to-pmtu -o ppp0
без него страницы не открываются
« Последнее редактирование: 27 Ноября 2010, 05:28:06 от connectof »

 

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