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


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

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

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

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1155 : 07 Апреля 2011, 17:55:39 »
Цитата: AnrDaemon
никто не говорил, что у меня FF...
А каким браузером пользуетесь, попробую там?
Opera, конечно. У кого ещё есть встроенная блокировка гадостей...
http://deb.opera.com/

$ sudo -E -s
# echo "deb http://deb.opera.com/opera/ sid non-free" > /etc/apt/sources.list.d/opera.list
# wget -O - http://deb.opera.com/archive.key | apt-key add -

Дальше можно синаптиком.
« Последнее редактирование: 07 Апреля 2011, 17:57:55 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн Druge

  • Любитель
  • *
  • Сообщений: 96
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1156 : 07 Апреля 2011, 18:15:08 »
AnrDaemon
Большое спасибо, буду пробовать.

« Последнее редактирование: 09 Апреля 2011, 19:55:29 от Druge »

Оффлайн dr.Faust

  • Активист
  • *
  • Сообщений: 435
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1157 : 08 Апреля 2011, 21:00:52 »
не совсем понятно вот это правило:
-A UDP_PACKETS -p udp -m udp --sport 53 --dport 1024:65535 -j ACCEPT

и вот это:
-A UDP_PACKETS -p udp -m udp --sport 1024:65535 --dport 1024:65535 -j ACCEPT
Прошу прощения, что долго не отвечал - работа.

Первое это же пропускаем DNS.
А со вторым сложнее - постоянно сыпятся сообщения что блокированы такие пакеты - я пытался понять что это, но не понял. Однако часть программ не работает пока этот маршрут не разрешишь. Например Nexuiz не подключается к серверам.

alexxnight

  • Гость
Re: HOWTO: Iptables для новичков
« Ответ #1158 : 09 Апреля 2011, 00:52:44 »
не совсем понятно вот это правило:
-A UDP_PACKETS -p udp -m udp --sport 53 --dport 1024:65535 -j ACCEPT

и вот это:
-A UDP_PACKETS -p udp -m udp --sport 1024:65535 --dport 1024:65535 -j ACCEPT

Первое это же пропускаем DNS.

А со вторым сложнее - постоянно сыпятся сообщения что блокированы такие пакеты - я пытался понять что это, но не понял. Однако часть программ не работает пока этот маршрут не разрешишь. Например Nexuiz не подключается к серверам.

Если я не ничего не путаю, то DNS
-A UDP_PACKETS -p udp -m udp --dport 53 -j ACCEPT

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1159 : 09 Апреля 2011, 08:22:54 »
это смотря в какой стороне от файрволла и в какой цепочке правило стоит

alexxnight

  • Гость
Re: HOWTO: Iptables для новичков
« Ответ #1160 : 09 Апреля 2011, 16:26:40 »
это смотря в какой стороне от файрволла и в какой цепочке правило стоит

Ну, раз уж написали, поясните и приведите примеры :)

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1161 : 09 Апреля 2011, 18:41:13 »
Ну, раз уж написали, поясните и приведите примеры :)
http://www.docum.org/docum.org/kptd/
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1162 : 09 Апреля 2011, 19:33:11 »
Хорошо, объясню.
Рассмотрим стандарную ситуацию, когда DNS-сервер находится у провайдера. Тогда:
а. Необходимо разрешить пакеты до провайдера на udp-порт 53. Эти пакеты будут проходить через цепочку OUTPUT и значение порта 53 будет выступать в качестве destination. Иначе говоря правило будет выглядеть так (конечно в минималистическом виде)
Цитировать
iptables -A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
b. когда DNS -сервер будет отвечать, то необходимо пропустить ответные пакеты обратно. Это уже будет цепочка INPUT и udp-порт 53 будет уже выступать в качестве source-порт. А значит правило будет выглядеть так:
Цитировать
iptables -A INPUT -p udp -m udp --sport 53 -j ACCEPT

Теперь рассмотрим ситуацию, когда хост сам является DNS-сервер. тогда
а. он должен принимать udp-пакеты на 53 порт.  Т.е. в цепочке INPUT нужно разрешить пакеты с source-порт 53 и правило будет выглядеть так
Цитировать
iptables -A INPUT -p udp -m udp --dport 53 -j ACCEPT
b. также он должен и ответить, а значит в цепочке OUTPUT разрешить пакеты с source-порт 53. Т.е. правило будет уже выглядеть
Цитировать
iptables -A OUTPUT -p udp -m udp --sport 53 -j ACCEPT

Как-то так....

Оффлайн Druge

  • Любитель
  • *
  • Сообщений: 96
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1163 : 09 Апреля 2011, 19:56:30 »
AnrDaemon
А как в OPERA  вписать диапазон IP адресов, а не только один адрес?

Оффлайн Lion-Simba

  • Старожил
  • *
  • Сообщений: 1126
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1164 : 09 Апреля 2011, 20:09:21 »
Хорошо, объясню.
...
Цитировать
iptables -A INPUT -p udp -m udp --sport 53 -j ACCEPT
...
А ещё это правило разрешит доступ на любой порт данной машины. Лишь бы удаленный исходящий порт был 53. Дырка, однако.
Оказываю индивидуальную платную техподдержку широкого профиля. Обращаться в ЛС или Jabber.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1165 : 09 Апреля 2011, 20:35:29 »
AnrDaemon
А как в OPERA  вписать диапазон IP адресов, а не только один адрес?
Одля ЧЕГО вписывать диапазон? И давай с оперой в отдельный топик.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1166 : 09 Апреля 2011, 20:42:53 »
правило будет выглядеть так (конечно в минималистическом виде)
А ещё это правило разрешит доступ на любой порт данной машины. Лишь бы удаленный исходящий порт был 53. Дырка, однако.
Читайте все буквы и дырок не будет

alexxnight

  • Гость
Re: HOWTO: Iptables для новичков
« Ответ #1167 : 09 Апреля 2011, 23:11:33 »
Хорошо, объясню.
Рассмотрим стандарную ситуацию, когда DNS-сервер находится у провайдера. Тогда:
а. Необходимо разрешить пакеты до провайдера на udp-порт 53. Эти пакеты будут проходить через цепочку OUTPUT и значение порта 53 будет выступать в качестве destination. Иначе говоря правило будет выглядеть так (конечно в минималистическом виде)
Цитировать
iptables -A OUTPUT -p udp -m udp --dport 53 -j ACCEPT

b. когда DNS -сервер будет отвечать, то необходимо пропустить ответные пакеты обратно. Это уже будет цепочка INPUT и udp-порт 53 будет уже выступать в качестве source-порт. А значит правило будет выглядеть так:
Цитировать
iptables -A INPUT -p udp -m udp --sport 53 -j ACCEPT

С а. абсолютно согласен (хотя обычно для OUTPUT в политике по-умолчанию используют ACCEPT)
С b. не согласен: для этого случая используется
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

Теперь рассмотрим ситуацию, когда хост сам является DNS-сервер. тогда
а. он должен принимать udp-пакеты на 53 порт.  Т.е. в цепочке INPUT нужно разрешить пакеты с source-порт 53 и правило будет выглядеть так
Цитировать
iptables -A INPUT -p udp -m udp --dport 53 -j ACCEPT
b. также он должен и ответить, а значит в цепочке OUTPUT разрешить пакеты с source-порт 53. Т.е. правило будет уже выглядеть
Цитировать
iptables -A OUTPUT -p udp -m udp --sport 53 -j ACCEPT

С a. согласен.
С b. не согласен: либо политика по-умолчанию ACCEPT, либо:
iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT


Общее правило:
iptables -A [chain] -p udp -m udp --dport 53 -j ACCEPT
в зависимости от направления и конфигурации машины [chain] либо INPUT (если машина используется в качестве DNS сервера), либо OUPUT (хотя обычно по-умолчанию делают политику ACCEPT)

Оффлайн dr.Faust

  • Активист
  • *
  • Сообщений: 435
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1168 : 09 Апреля 2011, 23:50:06 »
Постойте...
Так UDP пакеты имеют состояние или нет?

Я добавил это правило, так как считал, что раз UDP протокол не гарантированное доставки, значит он не имеет состояний, и под правило iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT не попадает.
Если же он имеет состояние - да правило -A UDP_PACKETS -p udp -m udp --sport 53 --dport 1024:65535 -j ACCEPT лишнее.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1169 : 10 Апреля 2011, 00:03:29 »
conntrack позволяет отслеживать даже пакеты из других протоколов. Например ICMP ответ на попытку установки TCP соединения.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

 

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