| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > *NIX системы: Общие вопросы > DNS сервер |
| Автор: Хоббит 10.10.2007, 12:06 |
| Описываю систему: Сервер, на него приходит инет (тарелка/адсл), на нем есть апач и сайты (локальные) Через хаб подключены компы. Для того чтобы все работало, приходится прописывать 3 dns адреса в настройках подключения и в файле hosts приходится прописывать все локальные сайта. Можно ли как то поднять dns на сервере, чтобы в подключении на компах указывать только dns сервера, его ip, а в hosts вообще ничего не писать. В какую сторону копать? |
| Автор: mrco 10.10.2007, 12:16 |
| В сторону настрокйки BIND'a |
| Автор: Хоббит 10.10.2007, 12:35 |
| man bind врнул доку по функции bind --help просто перечислил параметры без расшифровки их И для чего использовать bind для решения 1, 2 или обоих вопросов? |
| Автор: Imple 10.10.2007, 12:40 |
| BIND это сервер DNS. Демон сервера называется named. В сети очень много пошаговых инструкций как его настроить. Смотрите: http://www.google.com/search?hl=ru&q=%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0+bind Добавлено @ 12:40 не путать с системной функцией int bind() и командой bash'а bind. |
| Автор: Хоббит 10.10.2007, 16:53 |
| Хм... почитал, мало чего понял. Много новых терминов, технических подробностей, непонятных слов... Я так понял мне надо поменять /etc/named.conf и добавить в него описание локальных сайтов. при этом для каждого локального сайта, надо создать еще какой то файл с цифрами кодами и.т.д. Так? |
| Автор: Imple 11.10.2007, 05:55 |
| В /etc/named.conf указываются не сайты, а зоны доменных имен. Каждая зона представляет из себя текстовый файл, в котором описывается зона согласно общепринятым стандартам (именно то что вы назвали цифрами кодами и т.д.). Если вы не знакомы с описанием зон, вам следует ознакомиться, либо использовать какой нибудь графический конфигуратор. |
| Автор: Хоббит 11.10.2007, 12:44 |
| А какой есть конфигуратор из шелла. Я только из шелла работаю. Через команды какие то? |
| Автор: Хоббит 11.10.2007, 13:32 |
| :( ничего не понимаю. Слишком обьемная это тема. Настройка bind... целые книги по этому пишут. А мне надо то всего несколько локальных сайтов прописать на сервере. |
| Автор: bilbobagginz 11.10.2007, 20:50 |
| бери готовый публично доступный конф. файл, и его правь. тема не такая сложная, просто изучать ее надо внимательно и неторопливо. всё "на одной ноге": Просто: тебе нужно переводить
значит нужно создать какую-то базу данных, в которой можно делать такой поиск. bind это и делает. список имён/адресов каждого под-дерева называют доменной зоной. есть несколько типов записей в эту бд:
есть прямяая зона - для перевода имя -> IP есть "обратная" зона, для перевода IP -> имя. в обратную зону вписывают только хосты в форме обратного указателя (PTR) в прямую всё остальное. а теперь - вперед! читать доки. |
| Автор: Хоббит 13.10.2007, 17:16 |
| И так. Добавил зону для локального сайта. Допустим site называется. zone "site." IN { type master; file "site"; allow-update { none; }; }; Добавил файл зон var/named/site $TTL 43200 @ NS localhost @ NS ns2.trifle.net. @ A 127.0.0.1 * A 127.0.0.1 ;@ MX 10 mail Пробoвал закомментировать NS. Сервер у меня 192,168,0,1 ... мой комп 192,168,0,2 ... в подключение к локалке я прописал в основной шлюз 192,168,0,1 Но что то мне кажется он не ищет сайт на сервере. После всех изменений в файлах убивал и запускал named снова. Что не так? Или что то я не дописал. |
| Автор: bilbobagginz 14.10.2007, 17:54 |
сначала нужно читать. а потом писать. |
| Автор: marykone 15.10.2007, 09:50 |
| Хоббит, хороший вариант для проверки настроек dig |
| Автор: Хоббит 15.10.2007, 17:28 |
| Дайте ссылочку на пример файла зон, который к моему случаю подойдет. А то все копаюсь в интернете, одни примеры для того как хостерам сервера настроить и то как то не понятно. В моем случае сервер апаче он же сервер днс он же тот кто меня в инет проводит, то есть днс провайдера содержит. И при этом надо что бы на нем резольвились хосты типа site., site1., site2., и.т.д... то есть как я понимаю домены второго уровня. Я так понимаю в named.conf я должен добавить днс провайдера в options .. forwarders Должен ли я добавлять в этот файл описания зон вроде zone "site1.", zone "site2." и.т.д. Или достаточно того что там есть zone "localhost." и в файле зон для этой зоны описать все сайты. И как указать чтобы конкретный сайт например site1 или site искался именно на этом сервере. |
| Автор: Imple 16.10.2007, 05:59 | ||||
| Ладно, не поленился, сделал вам готовый файл зоны. example.org заменить на ваше доменное имя. /etc/named.conf
Если что не ясно, пишите. Удачи! |
| Автор: Хоббит 16.10.2007, 14:54 |
| Хм. Неясно что за моё доменное имя. Никогда его у меня не было. Я могу его придумать вроде mycompany.org или вроде того, это ладно. Но моя цель была чтобы локальные сайты с сервера (на котором стоит апаче и на котором я настраиваю днс) грузились без указания их в файле hosts. Пока этого не происходит. Если доменное имя это имя того сайта, который мне надо грузить, то тогда что то не работает. Тоесть есть все так. Сейчас у меня и у всех других в компании в файле hosts в system32/drivers/etc прописаны все наши локальные сайты и им сопоставлен ип сервера (192,168,0,1), имена сайтов не имеют никаких расширения, чтобы их отличать от инетовских... то есть если сайт в интернете будет называться site.ru, то на нашем сервере во время разработки он называется site. Надо сделать так, чтобы мы в сетевых подключения прописали первичный днс 192.168.0.1 а на сервере указать что сайт site лежит на нем же и не надо за ним лезть в интернет. |
| Автор: Imple 16.10.2007, 20:58 |
| Ну что вам мешает прописать это все в зоне mycompany.com и настроить на всех хостах поиск по умолчанию в этой зоне? |
| Автор: Хоббит 17.10.2007, 11:42 | ||||
Итак named.conf
mycompany.com
в hosts на сервере (добавлять не говорили, но добавил и пробовал по разному) 192.168.0.1 mycompany.com 127.0.0.1 site или 192.168.0.1 site и.т.д. В сетевом подключение прописал предпочтительный днс на 192.168.0.1 Перезапустил named убив его и запустив снова. И ничего не получилось. Вот что выводят nslookup site root@server:/etc# nslookup site Server: 82.211.136.2 Address: 82.211.136.2#53 ** server can't find site: NXDOMAIN dig site ; <<>> DiG 9.3.1 <<>> site ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 41676 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;site. IN A ;; AUTHORITY SECTION: . 10800 IN SOA A.ROOT-SERVERS.NET. NSTLD.VERISIGN-GRS.COM. 2007101600 1800 900 604800 86400 ;; Query time: 388 msec ;; SERVER: 82.211.136.2#53(82.211.136.2) ;; WHEN: Wed Oct 17 13:13:27 2007 ;; MSG SIZE rcvd: 97 |
| Автор: marykone 17.10.2007, 11:59 | ||||
поробуй дописать
он у тебя данные с сервера берет который на 82.211.136.2 сидит пользуй dig @ns1.mycompany.com site он будет искать запись для site на ns1.mycompany.com |
| Автор: Imple 17.10.2007, 12:00 | ||||
Предпологалось, что строки
В /etc/hosts вообще ничего трогать не нужно. |
| Автор: Хоббит 17.10.2007, 12:32 | ||||
| named.conf тот же в hosts только 127.0.0.1 localhost В mycompany.com
root@server:/etc# dig site ; <<>> DiG 9.3.1 <<>> site ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 47086 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;site. IN A ;; AUTHORITY SECTION: . 6097 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2007101600 1800 900 604800 86400 ;; Query time: 333 msec ;; SERVER: 82.211.136.2#53(82.211.136.2) ;; WHEN: Wed Oct 17 14:01:09 2007 ;; MSG SIZE rcvd: 97 Добавляею строчку про ns1 в mycompany.com
root@server:/etc# dig @ns1.mycompany.com. site dig: couldn't get address for 'ns1.mycompany.com.': not found |
| Автор: Imple 17.10.2007, 12:35 | ||||
| У вас похоже не указан предпочитаемый DNS сервер. /etc/resolv.conf должен выглядить примерно так:
Добавлено через 2 минуты и 2 секунды также дайте вывод команды
|
| Автор: Хоббит 17.10.2007, 14:18 | ||||||
| Теперь resolv.conf
named.conf
mycompany.com
Команды root@server:/etc# dig site ; <<>> DiG 9.3.1 <<>> site ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 26368 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;site. IN A ;; AUTHORITY SECTION: . 8489 IN SOA A.ROOT-SERVERS.NET. NSTLD.VERISIGN-GRS.COM. 2007101600 1800 900 604800 86400 ;; Query time: 1 msec ;; SERVER: 192.168.0.1#53(192.168.0.1) ;; WHEN: Wed Oct 17 15:46:08 2007 ;; MSG SIZE rcvd: 97 root@server:/etc# dig @127.0.0.1 site.mycompany.com ; <<>> DiG 9.3.1 <<>> @127.0.0.1 site.mycompany.com ; (1 server found) ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 55366 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;site.mycompany.com. IN A ;; Query time: 1 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Wed Oct 17 15:46:55 2007 ;; MSG SIZE rcvd: 36 |
| Автор: Imple 17.10.2007, 14:25 | ||
Добавьте в mycompany.com еще такую запись:
Перезапустите named, и попробуйте все вышеописанное вновь. |
| Автор: marykone 17.10.2007, 14:29 |
| Хоббит, ты бы логги в код заключал бы а то длинный топик получаеться и вот так сделай dig @ns1.mycompany site.mycompany.com any ну и выложи да ты тестить пробовал как теперь работате аль нет у тебя записи беруться с твоего ns-а Добавлено через 43 секунды он же добавлял я ему указывал Добавлено через 1 минуту и 19 секунд Imple, сорри он убрал |
| Автор: bilbobagginz 17.10.2007, 14:37 |
| есть такой механизм, называется resolver его в системе настраивают через: 1. /etc/nsswitch.conf 2. /etc/host.conf 3. /etc/resolv.conf проверьте что в переключателе сервисов (nsswitch.conf) у вас правильный порядок нахождения в строке hosts: удачи. |
| Автор: Хоббит 17.10.2007, 15:45 | ||
| Вернул mycompany.com $TTL 86400 @ IN SOA mycompany.com. root.mycompany.com. ( 2007101601 86400 7200 2592000 345600 ) IN NS ns1.mycompany.com. MX 10 mail.mycompany.com. @ IN A 192.168.0.1 localhost IN A 127.0.0.1 site IN A 192.168.0.1 ns1 IN A 192.168.0.1 Не работает. Ответы те же самые. Я так понял должно в строке AUTHORITY SECTION: появится адрес моего сервака.. а не инетовских серваков с именами nsswitch
Добавлено через 7 минут и 35 секунд Я понимаю что всех достал. И верю что в моем случае это все просто настраивается... но вот что то 4 день не получается. |
| Автор: Хоббит 17.10.2007, 16:24 | ||
|
| Автор: bilbobagginz 18.10.2007, 08:32 | ||
| Хоббит, когда ты пишешь: твой DNS сервер ns2.mycompany.com - НЕ ИЗВЕСТЕН СИСТЕМЕ. А знаешь почему ? Потому что его НЕТ В ЗОНЕ насколько я понял твоя зона определена сверху, и ns2 там не упоминается. Научись сначала работать с 1 сервером, ns1.mycompany.com его адрес нужно прописать через IP:
если bind бежит, то ответит. во-вторых, почитай что такое TLD, и никогда в немаршрутизируемых сетях не используй имена доменов из группы TLD. в-третьих, почитай всё что можешь о DNS. |
| Автор: Хоббит 18.10.2007, 10:11 |
| Ладно. Погружаюсь в литературу. |
| Автор: marykone 18.10.2007, 12:15 |
Хоббит, хочешь я тебе скину книжечку хорошую dns bind называеться только 11 метров весит ящик выдержит |
| Автор: shulfei 25.10.2007, 14:48 | ||||||||||||
| Здравствуйте. 2 marykone -> книжку по бинду пожалуйста сбросьте мне (shulfei[dog]gmail.com). У меня практически схожая проблема - Задача все таже - чтобы на локальных win машинах можно было видеть домен freebsd.lan и его поддомены subdomain.freebsd.lan Сервер Freebsd 6.2 (ip 192.168.1.254) Т.к. сейчас на сервере поднята samba - сам домен freebsd.lan win сетке виден, поддомены его нет. В свойствах локальной сети win машин пробывал прописывать dns сервера (дополнительный 192.168.1.254)
named.conf на сервере:
etc/namedb/lan.conf
/etc/resolv.conf
nslookup freebsd.lan на сервере
nslookup поддомена -
Если кто подскажит, как разрешать - заранее спасибо. |
| Автор: Imple 25.10.2007, 15:05 |
| shulfei, проверьте фильтры. Скорее всего запросы просто не доходят до самого сервера, либо демон не слушает нужный сетевой интерфейс. Кстати samba не имеет абсолютно никакого отношения к DNS. |
| Автор: Хоббит 25.10.2007, 16:26 |
| Киньте книжку на kirimedia at gmail dot com |
| Автор: shulfei 26.10.2007, 14:12 | ||||
| 2 Imple - спасибо, почти разрешил свою проблему - прописал в /etc/named.conf
и теперь на win машинах вижу
Только вот иногда на эти поддомены перестают работать, ping не идут. Буду уже сам думать |
| Автор: marykone 26.10.2007, 17:00 |
кинул |