URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 89189
[ Назад ]

Исходное сообщение
"rDNS на узле для интернет-адресов"

Отправлено utandr , 21-Июн-10 11:43 
Здравствуйте!

Что делать, если нужен rdns на одной машине, чтобы преобразование работало для целого списка ip-адресов. У меня в bind есть настройка зоны domain.ru, можно ли заставить систему при rdns искать соответствие сначала в этой зоне, а потом уже отправлять запрос владельцу соответствующей подсети?

Или, может быть, есть файл, аналогичный /etc/hosts, но для rdns?


Содержание

Сообщения в этом обсуждении
"rDNS на узле для интернет-адресов"
Отправлено Аноним , 21-Июн-10 19:46 
>Здравствуйте!
>
>Что делать, если нужен rdns на одной машине, чтобы преобразование работало для
>целого списка ip-адресов. У меня в bind есть настройка зоны domain.ru,
>можно ли заставить систему при rdns искать соответствие сначала в этой
>зоне, а потом уже отправлять запрос владельцу соответствующей подсети?
>
>Или, может быть, есть файл, аналогичный /etc/hosts, но для rdns?

мало исходных данных.


"rDNS на узле для интернет-адресов"
Отправлено utandr , 22-Июн-10 02:23 
>мало исходных данных.

Есть список интернет-узлов, для которых хочется делать rdns при локальных вызовах внутри одной машины. Ведь rdns клиент запрашивает владельца подсети, в которой лежит этот ip-адрес, а я хочу, чтобы сначала был проверен список узлов локально.


"rDNS на узле для интернет-адресов"
Отправлено utandr , 22-Июн-10 04:28 
Сам себе отвечаю:

named.conf:
zone "in-addr.arpa" {
    type master;
    file "/etc/bind/dir.DOMAIN.reverse";
};

Создаем файл из пустого /etc/bind/db.empty (который уже есть в системе) и добавляем там записи вида
4.3.2.1 IN PTR hostname.
точка в конце обязательна.
Перезапускаем.

Написал скрипт для обработки файла из основной зоны в обратную.
Скрипт:
#!/bin/sh
BASEDIR=/etc/bind/
PROTO=db.empty
DNS=dir.DOMAIN
RDNS=dir.DOMAIN.reverse
cat $BASEDIR$PROTO > $BASEDIR$RDNS
cat $BASEDIR$DNS | grep -w A | grep ^[a-z] | sed -e 's/\;$//' -e 's/\([0-9]\{1,3\}\)\.\([0-9]\{1,3\}\)\.\([0-9]\{1,3\}\)\.\([0-9]\{1,3\}\)/\4\.\3\.\2\.\1/' | awk '{print $3 "\t\tIN PTR\t" $1  ".DOMAIN."}' >> $BASEDIR$RDNS
exit 0
sed -e 's/\([0-9]\{1,3\}\)\.\([0-9]\{1,3\}\)\.\([0-9]\{1,3\}\)\.\([0-9]\{1,3\}\)/\4\.\3\.\2\.\1/'
--
Можно, конечно, еще и серийный номер увеличивать. Но я посмотрел - и без него работает, кажется, он в данном случае не актуален.
Если кто улучшит скрипт, дайте знать - я впервые пользуюсь sed,awk и, кажется, у скрипта проблемы с обработкой комментариев и лишних символов в строках с A-записями в файле "прямой" зоны.


"rDNS на узле для интернет-адресов"
Отправлено Pahanivo , 22-Июн-10 07:58 
и какой смысл всего этого?
развлекаться внутри локалки?

"rDNS на узле для интернет-адресов"
Отправлено utandr , 22-Июн-10 11:11 
>и какой смысл всего этого?
>развлекаться внутри локалки?

Чтобы все красиво в лог-файлах было. А договариваться с владельцами зоны на предмет добавления rdns со всеми интересующими провайдерами мне не хочется, к тому же они постоянно забывают про то, что это кому-то нужно, и меняют свои rdns записи как угодно.

И если тебе точно известны какие-то имена узлов, почему не хранить в зоне и rdns, чтобы
1. лишний раз не обращаться к провайдерам (не писать письма на просьбу добавить имя узла) и быть в некоторой степени независимым от них;
2. обратиться к провайдеру не всегда возможно (если ip-адрес не тебе принадлежит, но тебе нужно его особым образом идентифицировать);
3. экономить затраты времени на обращение к внешним dns.


А вообще, дорогой Паханиво, не задавайте на форуме вопросов "зачем это нужно". Форум не для этого.


"rDNS на узле для интернет-адресов"
Отправлено Pahanivo , 22-Июн-10 11:25 
>А вообще, дорогой Паханиво, не задавайте на форуме вопросов "зачем это нужно".
>Форум не для этого.

а реверс то у тебя дилигирован?


"rDNS на узле для интернет-адресов"
Отправлено utandr , 22-Июн-10 14:29 
>>А вообще, дорогой Паханиво, не задавайте на форуме вопросов "зачем это нужно".
>>Форум не для этого.
>
>а реверс то у тебя дилигирован?

А как реверс можно делегировать? Или я чего-то не понимаю?


"rDNS на узле для интернет-адресов"
Отправлено Pahanivo , 22-Июн-10 17:37 
>>а реверс то у тебя дилигирован?
>
>А как реверс можно делегировать? Или я чего-то не понимаю?

ммм кагбэээ это помягче сказать ....
ты вообще нифига не понял в этом вопросе, и а именно в службе ДНС

гуглить, гуглить, гуглить ...


"rDNS на узле для интернет-адресов"
Отправлено utandr , 23-Июн-10 02:25 
>>>а реверс то у тебя дилигирован?
>>
>>А как реверс можно делегировать? Или я чего-то не понимаю?
>
>ммм кагбэээ это помягче сказать ....
>ты вообще нифига не понял в этом вопросе, и а именно в
>службе ДНС
>
>гуглить, гуглить, гуглить ...

Уйди с форума. Тебе же нечего сказать, верно?
Как можно делегировать реверс (открой английский словарь)? rDNS - зона ответственности провайдеров (т.е. владельцев подсетей), а не владельцев домена. Или под "делегированием" тобою понимается запись в конфиге, что вот мой bind - это rdns для in-addr.arpa? Я так и сделал - см. выше.

И, сделай одолжение, НИКОГДА не посылай людей на форуме в Гугле, если только это не конкретная ссылка.


"rDNS на узле для интернет-адресов"
Отправлено Pahanivo , 23-Июн-10 07:46 
>Уйди с форума. Тебе же нечего сказать, верно?
>Как можно делегировать реверс (открой английский словарь)? rDNS - зона ответственности провайдеров
>(т.е. владельцев подсетей), а не владельцев домена. Или под "делегированием" тобою
>понимается запись в конфиге, что вот мой bind - это rdns
>для in-addr.arpa? Я так и сделал - см. выше.

ты бредишь ...... ))