Схема работы bind

Все что связано с доменными именами

Модераторы: Art.i, garry

Схема работы bind

Сообщение NetFantom » Сб июл 19, 2008 7:18 pm

Скажите, актуальна ли все еще эта тема:
http://forum.firstvds.ru/viewtopic.php?t=78

Дело касается схемы с ISPManager.

1. В менеждере я создаю новый домен
2. Делаю nslookup домена с локальной машины, в качестве сервера указав IP своего VDS сервера. Домен не резолвится. Проверяю резольвинг домена ya.ru. Домен резолвится.
3. Из консоли (захожу через ssh) делаю nslookup, указывая в качестве сервера IP моего VDS - домен резолвится.
4. Из консоли устанавливаю nameserver 127.0.0.1, делаю nslookup, ответ приходит почему-то с IP моего VDS сервера
5. Запрещаю в named.conf форвардинг. Тем не менее все интернет домены резолвятся с консоли и с локальной машины.
6. Останавливаю bind ($killall named). Из консоли коннекта на 53 порт нет, named молчит. При коннекте с локальной машины коннект есть и все интернет домены резолвятся (конечно, кроме моего).

Я правильно понимаю, что при коннекте извне почему-то соединение принимает не мой bind, а какой-то "общий", как указано в этой теме, на которую я сослался в начале моего вопроса?
NetFantom
 
Сообщений: 62
Зарегистрирован: Сб июл 19, 2008 7:05 pm

Сообщение Лена » Сб июл 19, 2008 7:41 pm

Попробуйте командой dig, а не nslookup.
Лена
Cool UNIX administrator
 
Сообщений: 810
Зарегистрирован: Вс дек 09, 2007 1:36 pm
Откуда: Киев

Сообщение NetFantom » Вс июл 20, 2008 12:47 am

простите, Лена, а для чего мне использовать dig? На какие конкретно вопросы он мне ответит? Мой вопрос в том, почему при убитом процессе named мой сервер отвечает на DNS запрос извне, и не имеет значение, использовать nslookup, dig или просто telnet на 53 порт. Собственно кто отвечает, ведь судя по всему это не мой bind. И как нужно делать, чтобы избавиться от этой аномалии.
Или вы имели ввиду что-то, чего я не понял?
NetFantom
 
Сообщений: 62
Зарегистрирован: Сб июл 19, 2008 7:05 pm

Сообщение art » Вс июл 20, 2008 1:27 am

Нет никакого общего bind.

Говорю на вашем сервере
# rndc stop

Спрашиваю у Вашего VDS домен ya.ru
$dig @92.63.X.X ya.ru

; <<>> DiG 9.4.2 <<>> @92.63.X.X ya.ru
; (1 server found)
;; global options: printcmd
;; connection timed out; no servers could be reached

Что не так?

named запустил.
art
Support team
 
Сообщений: 798
Зарегистрирован: Вс июн 11, 2006 2:37 am

Сообщение Лена » Вс июл 20, 2008 9:06 am

NetFantom писал(а):простите, Лена, а для чего мне использовать dig? На какие конкретно вопросы он мне ответит? Мой вопрос в том, почему при убитом процессе named мой сервер отвечает на DNS запрос извне, и не имеет значение, использовать nslookup, dig или просто telnet на 53 порт. Собственно кто отвечает, ведь судя по всему это не мой bind. И как нужно делать, чтобы избавиться от этой аномалии.
Или вы имели ввиду что-то, чего я не понял?

А вы проверьте на практике, имеет значение или не имеет. Это ведь дело пяти минут. Если таки имеет (вот art проверил и убедился), то значит наблюдавшаяся вами аномалия - это артефакты команды nslookup.
Лена
Cool UNIX administrator
 
Сообщений: 810
Зарегистрирован: Вс дек 09, 2007 1:36 pm
Откуда: Киев

Сообщение NetFantom » Пн июл 21, 2008 12:39 pm

Господа, я таки нашел откуда ноги растут. Елена, dig/nslookup тут непричем, хотя вы вообщем натолкнули меня на решение этой загадки с аномалиями. А "артефакты" nslookup о которых вы говорите, это разве что кэш, который чистится в виндах ipconfig /flushdns

Итак, начинаем опыт. Я создаю на сервере новую зону test.dev, заставляю bind перечитать конфы:
$killall -HUP named

проверяю коррекность новой зоны

$dig @92.63.102.* test.dev
ответ получен, зона есть

теперь с локальной машины (тоже FreeBSD)
#dig @92.63.102.* test.dev
ответа есть, зона не найдена

останавливаю bind
делаю dig с серверной консоли. Сервер не отвечает, что ожидаемо.
делаю dig с локальной консоли. Сервер отвечает!!!
Медленно седею...

Делаю telnet с локальной консоли на сервер на 53 порт - соединения нету. И тут начинаю втыкать!

Запускаю bind. Делаю два правила на firewall на сервере, для tcp и udp 53 порт соответственно. И все становится на свои места!

С удаленной машины:
#dig @92.63.102.* test.dev +notcp
#dig @92.63.102.* test.dev +tcp


По tcp порту отвечает мой сервер! А вот по udp - непонятно кто! Правила по tcp срабатывает, счетчик идет, а по udp нет!

При этом, если по tcp порту мне приходит и ответ с сервера, и описание зоны, то по udp приходит ответ сервера, и зона не находится.

Т.е. коннект на tcp порт проходит нормально, а вот при коннекте на udp порт видимо происходит редирект на DNS сервер FirstVDS.

Т.е. фактически в таком режиме named на моем VDS сервере запущен только для того, чтобы DNS сервера FirstVDS забрали оттуда информацию о зонах (трансфер зон и прочие "длинные" операции идут по TCP), но как таковым сервером имен мой VDS являться не может, так как все короткие запросы (коими являются запросы на резолвинг домена) идут по UDP.

Возможно ли решить этот вопрос? Ведь как-то для тех, у кого два IP адреса куплено у вас это должно решаться. А мне второй IP ни к чему - у меня второй физический сервер есть.

P.S.
Есть еще некоторое подозрение, что такой финт делает какая-то промежуточная точка до серверов FirstVDS, но это крайне маловероятно, и будет проверено в течении часа.
NetFantom
 
Сообщений: 62
Зарегистрирован: Сб июл 19, 2008 7:05 pm

Сообщение Лена » Пн июл 21, 2008 4:38 pm

NetFantom писал(а):Есть еще некоторое подозрение, что такой финт делает какая-то промежуточная точка до серверов FirstVDS

Угу. Если я в моем vds даю команду rndc stop и после этого с моего домашнего компа (тоже с FreeBSD) даю команду dig @мойдомен другоймойдомен, то получаю connection timed out. Затем запускаю заново /etc/rc.d/named start - после этого на ту же команду получаю ответ. С +notcp то же самое.

Думаю, что не только мне интересно, кто это у вас такой подсовывает вам ответы на UDP 53. Так ведь и пароли воровать возможно (man in the middle).
Лена
Cool UNIX administrator
 
Сообщений: 810
Зарегистрирован: Вс дек 09, 2007 1:36 pm
Откуда: Киев

Сообщение NetFantom » Пн июл 21, 2008 8:20 pm

Да, действительно проблема не в FirstVDS, приношу извинения службе поддержки. Но тут такая вообщем тонкая проблема, что сразу и не разберешь.
Елена, вы вообще удивитесь, сколько всего можно сделать, учитывая инфраструктуру интернета. Просто сделайте traceroute до сервера. Как минимум каждый хоп потенциально может много чего делать с вашими пакетами =)
А у меня проблема судя по всему в моем провайдере. Буду бодаться.
NetFantom
 
Сообщений: 62
Зарегистрирован: Сб июл 19, 2008 7:05 pm

Сообщение dan1005 » Чт янв 29, 2009 2:34 pm

Скажите, а если я поднял bind, прописал свой домен, dig выдаёт следующее:

dig warelements.ru

; <<>> DiG 9.5.0-P2 <<>> warelements.ru
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62689
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;warelements.ru. IN A

;; ANSWER SECTION:
warelements.ru. 14400 IN A 82.146.35.143

;; AUTHORITY SECTION:
warelements.ru. 14400 IN NS NS2.FIRSTVDS.ru.
warelements.ru. 14400 IN NS NS1.FIRSTVDS.ru.

;; ADDITIONAL SECTION:
NS1.FIRSTVDS.ru. 3198 IN A 82.146.43.2
NS2.FIRSTVDS.ru. 3198 IN A 82.146.35.143

;; Query time: 1 msec
;; SERVER: 82.146.58.126#53(82.146.58.126)
;; WHEN: Thu Jan 29 11:19:19 2009
;; MSG SIZE rcvd: 125


Нужно долго ждать, пока у ns-ов провайдера записи обновятся?
Для справки:

nslookup warelements.ru
Server: 82.146.58.126
Address: 82.146.58.126#53

Name: warelements.ru
Address: 82.146.35.143
dan1005
 
Сообщений: 1
Зарегистрирован: Чт янв 29, 2009 2:23 pm

Сообщение Лена » Чт янв 29, 2009 2:53 pm

Вам нужно во-первых, создать домен в ISPmanager, что сообщает NS-серверам firstvds, что они должны обслуживать этот домен и брать данные из вашего BIND.

Во-вторых, там, где вы домен регистрировали (NAUNET), указать ns1.firstvds.ru и ns2.firstvds.ru.
Лена
Cool UNIX administrator
 
Сообщений: 810
Зарегистрирован: Вс дек 09, 2007 1:36 pm
Откуда: Киев

Сообщение dan1005 » Чт янв 29, 2009 2:57 pm

Спасибо, а если я без панели? Т.е. заказанный шаблон - без предоставления ISPmanager.

Как тогда поступить?
dan1005
 
Сообщений: 1
Зарегистрирован: Чт янв 29, 2009 2:23 pm

Сообщение Лена » Чт янв 29, 2009 3:07 pm

Тогда ваш BIND можно использовать как первичный, а вторичный можете например взять бесплатно на secondary.net.ua. Когда оба NS будут отвечать правильно (проверяйте командой dig), укажете их там, где домен регистрировали, причем кроме имени первичного NS нужно будет указать еще и его IP-адрес.
Лена
Cool UNIX administrator
 
Сообщений: 810
Зарегистрирован: Вс дек 09, 2007 1:36 pm
Откуда: Киев

Сообщение dan1005 » Чт янв 29, 2009 3:16 pm

Понял, спасибо большое.
Буду пробовать.
dan1005
 
Сообщений: 1
Зарегистрирован: Чт янв 29, 2009 2:23 pm

Сообщение AKots » Чт янв 29, 2009 3:21 pm

Раньше никогда не сталкивался с VDS, поэтому многого не понимаю. Например, добавил недавно запись CNAME (для почты google), и проверяю, когда обновятся сервера имен. В итоге получаю такие данные (оставлены только важные фрагменты):

nslookup webmail.имя_домена.ru ns2.firstvds.ru
webmail.имя_домена.ru canonical name = ghs.GOOGLE.COM.
- - -
nslookup webmail.имя_домена.ru ns1.firstvds.ru
** server can't find webmail.имя_домена.ru: SERVFAIL
- - -
dig webmail.имя_домена.ru CNAME

;; ANSWER SECTION:
webmail.имя_домена.ru. 3600 IN CNAME ghs.GOOGLE.COM.

;; AUTHORITY SECTION:
имя_домена.ru. 3600 IN NS ns2.firstvds.ru.
имя_домена.ru. 3600 IN NS ns1.firstvds.ru.
- - -

Лично мне непонятно, почему nslookup для ns1 выдает ошибку, правда я и не знаю, что за команды nslookup и dig. А почта по адресу webmail.имя_домена.ru работает нормально.
Кстати, если не затруднит, мог бы кто-нибудь дать ссылку на хорошую документацию по этим и подобным командам :roll: .
AKots
 
Сообщений: 52
Зарегистрирован: Сб янв 24, 2009 11:02 am

Сообщение Лена » Чт янв 29, 2009 4:09 pm

AKots писал(а):почему nslookup для ns1 выдает ошибку

В ISPmanager выделите домен и щелкните по чемоданчику с красным крестом.

AKots писал(а):мог бы кто-нибудь дать ссылку на хорошую документацию по этим и подобным командам

Зайдите на свой сервер по SSH, дайте команду:
man dig

и т.п.
Лена
Cool UNIX administrator
 
Сообщений: 810
Зарегистрирован: Вс дек 09, 2007 1:36 pm
Откуда: Киев

След.

Вернуться в DNS

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron