LINUX.ORG.RU
ФорумAdmin

iptables + восприятие DNS -имен


0

0

Может такой сабж уже и был где-то, но я его ненашел в рунете, по-крайней мере. Суть проблеммы: стоит настроенный как надо iptables, но работает он по IP-адресам. Сейчас переходим на DHCP, т.е. соответственно нужно что-бы iptables понимал DNS-имена. Чего он НЕ делает. Как решить эту проблемму ?

Открой 53 порт в обе стороны на DNS-server и пропиши адрес DNS-server'a в /etc/resolv.conf

anonymous
()

И чего, он на каждый пакет будет у DNS-сервера добро спрашивать?

А не слишком-ли?

fagot ★★★★★
()
Ответ на: комментарий от anonymous

Дополнение к посту предыдущего оратора. 53 порт UDP протокола

anonymous
()

Я бы в настройках DHCP прописал все нужные IP и по ним резал. Это уже не совсем автоматизация раздачи IP, но правки делаешь в одном месте, а не по машинам юзеров.

fagot ★★★★★
()
Ответ на: комментарий от fagot

>И чего, он на каждый пакет будет у DNS-сервера добро спрашивать?

>А не слишком-ли?

не, он при запуске разресолвит и будет этими адресами пользоваться
а если в dhcp чего-нить поменяется, файрвол будет по старым адресам работаь будет пока не перезапустишь :)

victorb ★★
()
Ответ на: комментарий от victorb

Это почему он при запуске все разресолвит? Где такое сказано?

Chumka ★★★
()
Ответ на: комментарий от Mrak

>Надо проверить /etc/resolv.conf на предмет nameserver Стоп. IPTABLES В ПРИНЦИПЕ НЕ может работать ни с одним DNS именем, хотя сервер "знает" эти хосты (они пингуются, коннектятся по ssh и ftp). В ряде источников написанно, что iptables работает только с IP. Это правда ?

constant_arapov
() автор топика
Ответ на: комментарий от constant_arapov

Да, может iptables ресолвить DNS-имена, вот из исх.кодов:
if (shostnetworkmask)
parse_hostnetworkmask(shostnetworkmask, &saddrs,
&(fw.ip.smsk), &nsaddrs);
if (dhostnetworkmask)
parse_hostnetworkmask(dhostnetworkmask, &daddrs,
&(fw.ip.dmsk), &ndaddrs);
Эти функции вызывают в конце концов глибсевую gethostbyname();
Т.е. сам iptables действительно ресолвит имена один раз и засовывает в цепочки уже разрешенные ip-адреса. Хотя в man написано, что писать DNS имена вместо IP это "really bad idea" (c) Почему?

Chumka ★★★
()
Ответ на: комментарий от Chumka

Чтоб не складывалось впечатление, что host.domain.com после введения команды iptables все так же разрешен/запрещен/etc как ни меняй его IP адрес.
А еще некоторые DNS-имена могут определяться в несколько IP адресов. Один из них будет использоваться при создании правила, остальные - нет. Опять может создаться впечатление, что данный host разрешен/запрещен/etc, в то время, как это будет относиться всего лишь к одному из его адресов.

spirit ★★★★★
()
Ответ на: комментарий от spirit

А не проще написать скриптик, который будет сам резолвить DNS-имена и
передавать в Iptables. И при динамической смене адреса добавлять/удалять
новое правило.

SteelKey
()
Ответ на: комментарий от SteelKey

Спосибо за советы, господа. Итак, что мы имеем:

>не, он при запуске разресолвит и будет этими адресами пользоваться >а если в dhcp чего-нить поменяется, файрвол будет по старым адресам >работаь будет пока не перезапустишь :)

>Т.е. сам iptables действительно ресолвит имена один раз и засовывает >в цепочки уже разрешенные ip-адреса.

Да, видимо так и есть.Все это говорит, что iptables нельзя использовать для динамических ip-адресов. Здесь видимо подсказка в самом названии сего продукта. Т.е работа идет только на уровне протокола IP, выше по стеку TCP/IP пакеты iptables просто не обрабатываются ! Это плохо. в сложившейся ситуации вижу следующие способы решения проблеммы:

1. >Я бы в настройках DHCP прописал все нужные IP и по ним резал. Это уже >не совсем автоматизация раздачи IP, но правки делаешь в одном месте, >а не по машинам юзеров.

Т.е. делаем несколько "блатных" IP адресов, с которых можно ходить в инет, статическими, остальные - динамическими. Видимо, пока самый реальный способ. Но не без минусов. Бывает так что обычным юзерам тоже надо в Инет.

2. Работать не с IP а MAC-адресами сетевых карт. Тоже негуд, т.к. зависимость от железок.

3. >А не проще написать скриптик, который будет сам резолвить DNS-имена и >передавать в Iptables. И при динамической смене адреса >добавлять/удалять >новое правило.

Так-так. Это будет демон, который будет висеть и периодически смотреть изменился ли IP адрес у хоста, и если изменился переписать правило. Геморой, порнография и не по уму. Изобретение велосипеда. Мне надоело каждый раз изобретать велосипед, а потом узнавать, что уже есть мотоцикл, который к тому же бесплатный. Может есть все-таки есть готовое решение ?

4. Использовать другой файрвол. Жалко расставаться с айптейблс, конечно, но может есть другой линуксовый файрволл, не имеющей этой проблеммы ?

P.S. Елы-палы, какой оказывается геморой интегрировать linux и windows сеть ! Как вообще строить корпоративную гетереогенную сеть linux+M$. Кто нибудь знает ? Дайте линки плз. И не спрашивайте, меня почему windows+linux а не просто linux с заменой всех возможностей windows. Так надо.

constant_arapov
() автор топика
Ответ на: комментарий от sdio

>Для раздачи инета, можно и VPN использовать. Привязка к >login/password, а не к IP адресу

Можно поподробнее ?

constant_arapov
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.