Привет, сегодня поднимем свой сервер имен, для того чтобы связать доменные имена с ip-адресами. Для этого нам понадобиться минимум один выделенный сервер с установленной FreeBSD.
Установка Bind9
Перед установкой не забудьте обновить порты.
# make install clean
# rehash
Теперь добавим автозагрузку бинда в /etc/rc.conf
named_uid="bind"
named_chrootdir=""
named_flags="-s"
И перезагрузим сервак
Настройка Bind9
Откройте для редактирования файл named.conf
И вставьте следующие директивы:
directory "/etc/namedb";
pid-file "/var/run/named/pid";
dump-file "/var/dump/named_dump.db";
statistics-file "/var/stats/named.stats";
// Изменяем название, ниже расскажу зачем
version "adw0rd dns";
// Добавляем локальные "ip-адреса dns-серверов" вашего провайдера
// их можно посмотреть в /etc/resolv.conf (директива "nameserver") или через утилиту nslookup
forwarders {
82.146.59.250;
};
}
Рестартим bind:
Утилита rndc
Перейдите в каталог named:
И посмотрите, есть ли у вас файл «rndc.key», если есть, то можете пропустить этот шаг, а если нет, то вам надо его сгененировать:
И он выдаст примерно следующее:
key "rndc-key" {
algorithm hmac-md5;
secret "NrDcqVcbML1XI0ZLmRrmaQ==";
};
options {
default-key "rndc-key";
default-server 127.0.0.1;
default-port 953;
};
Создайте файл «/etc/namedb/rndc.key» и вставьте туда эти данные:
algorithm hmac-md5;
secret "NrDcqVcbML1XI0ZLmRrmaQ==";
};
Теперь пришла очередь добавлять наш первый домен, который будет играть роль «мастер нс-сервера», для того, чтобы потом другие домена использовать именно его.
Поднимаем свой master-сервер (ns1)
Для начала необходимо добавить запись о домене в named.conf, добавляйте в конец файла:
type master;
file "master/adw0rd.ru";
};
Теперь, с помощью утилиты «make-localhost» создайте первый свой master-файл, далее можно будет просто копировать любой master-файл и изменять его для других доменов.
Иногда нет этого файла в стандартной поставке, можете его скачать тут.
Вот еще могут пригодится PROTO.localhost.rev и PROTO.localhost-v6.rev.
Запускаем make-localhost, но не забудьте установить для него права на запуск!
# chmod u+x make-localhost
# ./make-localhost
Теперь скопируем localhost.rev и создадим с помощью него свой master-файл:
# cp localhost.rev adw0rd.ru
И доведем до следующего вида:
$ORIGIN ru.
adw0rd IN SOA ns1.adw0rd.ru. root.adw0rd.ru. (
2009082601 ; serial number
43200 ; refresh
3600 ; retry
604800 ; expire
3600 ) ; minimum TTL
$ORIGIN adw0rd.ru.
; первым будет наш ns1.adw0rd.ru
@ NS ns1
; второй будет бесплатный сервис ns2.trifle.net, о нем расскажу дальше
@ NS ns2.trifle.net.
@ A 82.146.63.195
localhost A 127.0.0.1
ns1 A 82.146.63.195
ns2 A 195.24.128.164
www A 82.146.63.195
ww CNAME www
Незабываем про «serial number», его надо править при каждом изменении, например, если вы редактируете 26 августа 2009 года, то надо 2009082601, если вы в день много раз редактируете, то увеличивайте две крайние цифры в серийнике на единицу (2009082602, 2009082617 и т.д. до 99). А если редактируете 27 августа 2009, то 2009082701 и т.д.
Теперь, проверим правильность конфига при помощи утилиты named-checkconf, если все в порядке она ничего не ответит, иначе выведет лог ошибок.
После запустите «rndc reload»:
Перезагружаем bind:
Поднимаем slave-сервер (ns2)
Для того чтобы использовать свои сервера доменных имен надо минимум два нс-сервера, поэтому надо создать и второй, однако где нам достать еще один сервак? Но это не обязательно, достаточно воспользоваться бесплатными сервисами, вот короткий список сервисов, предостовляющие подобные услуги:
Разберем пример на «ns2.trifle.net», заходим по адресу , далее регистрируемся, и авторизовываемся.
Теперь, добавляем нашу домен «adw0rd.ru» и свяжем его с ip-адресом 82.146.63.195

Все, готово!
Проверяем работоспособность
Сначала узнаем, отдает ли нам ns1 данные по домену:
Если выдало примерно следующее:
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 3703
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;adw0rd.ru. IN A
;; AUTHORITY SECTION:
ru. 1814 IN SOA ns.ripn.net. hostmaster.ripn.net. 4015239 7200 900 2592000 3600
;; Query time: 10 msec
;; SERVER: 82.146.63.195#53(82.146.63.195)
;; WHEN: Wed Aug 26 12:15:12 2009
;; MSG SIZE rcvd: 83
то все плохо, думайте над своим мастер-файлом, где то вы накосячили... либо не ребутнули неймед-сервак.
А если такое, то все в порядке:
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 22582
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;adw0rd.ru. IN A
;; ANSWER SECTION:
adw0rd.ru. 3600 IN A 82.146.63.195
;; AUTHORITY SECTION:
adw0rd.ru. 3600 IN NS ns1.adw0rd.ru.
adw0rd.ru. 3600 IN NS ns2.trifle.net.
;; ADDITIONAL SECTION:
ns1.adw0rd.ru. 3600 IN A 82.146.63.195
ns2.trifle.net. 166787 IN A 195.24.128.164
;; Query time: 3 msec
;; SERVER: 82.146.63.195#53(82.146.63.195)
;; WHEN: Wed Aug 26 12:16:14 2009
;; MSG SIZE rcvd: 129
Теперь вы можете вписать у регистратора — свои DNS сервера, примерно так:
ns2.trifle.net
Адрес «82.146.63.195» необходим тут, для того чтобы домен делегировался корректно, так как сейчас ваш домен еще не связан... ;)
Для других доменов, например «blgo.ru» достаточно
ns2.trifle.net
Как узнать версию программного обеспечения DNS сервера?
Помните, я в конфиге «named.conf» установил директиву «version» и сказал что позже объясню зачем... А нужно это для того, чтобы кулхацкеры не узнали версию бинда, потом они могут сделать очень забавные вещи, погуглите на эту тему и все узнаете.
Выполните команду
и вы увидите версию бинда...
P.S.
Ну вот вроде и все, задавайте вопросы, укажите на неописанные нюансы, чем смогу — тем помогу!


Расскажете что-нибудь про обратную зону?
Ведь здесь ни слова...
Aios, а для чего? При обслуживании веб-сервера, нужно связывать только «имя»->«ip-адрес», в обратной зоне нет необходимости...
Странно сделал все и переделал все как у Вас Тютелька в тютельку ! а мне вот трифл рассказыват про негативный ответ AXFR И что...
полез по документациям оказывается нужна еще и обратка типа Ip-адрес наоброт.ip-addr.arpa и тд и тп...
allow.transfer И тд тоже работают =) на все направления как не извивался ничего не получается...
вот и обращаюсь к вам =)
Aios, что у вас dig возвращает, на запросы по домену? Какая версия бинда, оси?
7.2 Realease...
Dig возвращает то что у вас в случае когда нужно покопаться в мастер файле или перегрузить неймед-сервак
bind9 9.5.0
Aios, сделайте
и
как поробую так и отпишусь извините за беспокойство и наглость я бы хотел попросить вас изменить мне Аватарку! а то интелект блога не очень веселую аватару подобрал
Aios, эти аватары загружаются из , залейте туда свою и она определиться по вашему e-mail и подгрузится здесь. Так работает на большинстве блогов на WordPress...
Я как всегда накосячил... Тот днс я настраивал не на Free а на Fedora Core 8 =)))
Ну бывает...
так вот суть проблемы в том что я щас на фри настраиваю
вот и как бы ваш файлик Make-localhost немного не правльно составлен так как и на федоре и на фри выдает одно и тоже...
./make-localhost: cannot open PROTO.localhost-v6.rev: No such file or directory
./make-localhost: cannot open PROTO.localhost.rev: No such file or directory
Aios, мой файлик взят из поставки вместе с bind9, и файлы PROTO.localhost.rev идут в комплекте. Я обновил статью, скачайте их тоже.
Уже лутше спасибо =))
Последний вопросик...
; <<>> DiG 9.4.2 <<>> @ns1.домен.ru домен.ru
; (1 server found)
;; global options: printcmd
;; connection timed out; no servers could be reached
дупля дать немогу...
У вас сервер бинда то поднялся хоть? Судя по ответу дига — нет.
если выдаст тоже самое, что выше — то мои предположения верны.
Блин Это наверно только у меня может быть настолько через 5 точку собрано...
dig: couldn't get address for 'ns1.домен.ru': not found
Aios, а вы создали мастер-файлик для домен.ru? Создали там сабдомен? Все написано в статье, также вы перезагружали днс-сервер? проверяли конфиг на ошибки? rndc есть? перегружали его?
Уважаемый adw0rd! Извините что так долго Вас напрягал... Трабла решилась сама собой правда с моей помощью =)
Система ужасно нестандартная...
Сервер© за ним Внутренний IP на сервере ДНС(bind9). И на внутреннем IP тоже Bind9
на внутреннем для интерфейся прописан С только его внутренний интерфейс. На внутренний с внешнего Сервера С был пробит натом Внешний IP адрес... Но днсом то он ссылался на главный на котором собсно я и делал когда то домен.ru вот из-за чего было
; <<>> DiG 9.4.2 <<>> @ns1.домен.ru домен.ru
; (1 server found)
;; global options: printcmd
;; connection timed out; no servers could be reached
После того как я убрал зону на C стало
dig: couldn't get address for 'ns1.домен.ru': not found
в /etc/hosts прописал
domen{TAB}{TAB}домен.ru
внутренний IP{TAB}{TAB}ns1.Домен.ru
Полет нормальный =) почти щас на регистратора поставил там видно будет... по крайней мере самая первая проблема с самого первого комментария уже решилась
трифл добавил безо всяких
так вот у вас там ошибочка в посте немного
ns1.adw0rd.ru 82.146.63.195
ns1.trifle.net
Адрес «82.146.63.195» необходим тут, для того чтобы домен делегировался корректно, так как сейчас ваш домен еще не связан... ;)
не ns1.trifle.net, а ns2.trifle.net =)))
Спс биг за пост =) Простите что отнимал у Вас время...
Aios, спасибо за опечатку в статье, поправлю :) Рад что у вас все решилось!
Еще раз спс у меня домен уже проделигировали! за 20 минут! я в шоке =)))
и все же мне нужна ваша помощь...
блин я поспешил чуть с «Порадоваться надо»...
Домен делегирован, а вот резолвить его никто не хочет...
Обидно... может вы что то посоветуете?
Все еще раз извините что мягко говоря «з@ср@л» вам топик =)
ПОЛЕТ ИДЕАЛЬНЫЙ!
Всем буду вас советовать...
Спасибо :)
У меня не BIND 9.4.3-P2 на FreeBSD 7.2 при запуске ругается, что рабочая директория не пригодна для записи.
при этом named запускается от имени bind, а скрипт /etc/rc.d/named изменяет права на рабочую директорию на UID=0 GID=0.
Само собой named работает не коректно или воще не работает.
Что с тим делать?
1. Что у вас в rc.conf по поводу bind?
2. Как вы вручную запускаете named?
1. named_enable="YES" и все
2. named стартует при запуске и даже слушает порт, но вот резолвить не хочет. После шаманства над named перегружаю named.reload
1. В rc.conf добавьте
named_chrootdir=""
named_flags="-s"
2. Я имел ввиду какой командой вы его запускаете?
1. Спасибо. Попробую.
2. хз. вручную не запускал
madman, почитайте мою статью сначала, вы явно ее не читали или просто не следуете ей...
madman, Странно =) у меня все работает =) только только перебил =)
Сделал все как написано в статье. Но named все равно работает не коректно — зоны не читает. В лог пишет
что с этим делать?
А это точно его лог?
adw0rd, точно его, потому шо я логи named направил в отдельный файл.
И сторка выглядит как
madman, что теперь в rc.conf у вас кстати, покажите
Точно следовал статье
чёто глюкнуло, ну в общем у меня точно тоже, что написано в начале статьи
madman, можешь написать в аську попробую удаленно настроить =)
Aios, уже разобрался. все теперя работает.
в этом примере настройки сервера какое имя сервера?
etweet, «adw0rd.ru»
у вас в примере так IN SOA ns1.adw0rd.ru. root.adw0rd.ru.
1) ns1 — это что ?
Это сабдомен, на котором висит ns-сервер (мастер)
Извините за ламерские вопросы просто я новичек в этом!
можете помочь ns2.trifle.net не может скачать зону с мастер сервера имя сервера relay домен например (domen.ru) всем косяк?
$TTL 3600
@ IN SOA ns1.domen.ru. root.domen.ru. (
2009102201 ; Serial
3600 ; Refresh
900 ; Retry
3600000 ; Expire
3600 ) ; Minimum
@ IN NS ns1.domen.ru.
@ IN NS ns2.trifle.net.
@ IN MX 10 domen.ru.
@ IN A my ip
ns1 IN A my ip
ns2 IN A 195.24.128.164
dig что возвращает, если к домену обратиться?
Добрый день, а возможно ли реализовать нс2 на этом же сервере где нс1. Понимаю, что нужно иметь 2-а ip разных под-сетей. Дело в том, что «провайдер» в дата центре при размещении своего сервера даёт 2-а ip разных подсетей. Я думаю это не спроста =). Так вот возможно ли реализовать нс1 и нс2 на одном железе? Конечно тогда теряется смысл нс2, но как было подмечено в статье =) а где взять еще один сервер?
спасибо ^_^
webgrs, ну как вы сами понимаете, то теряется смысл, однако это конечно можно сделать.
ns2.trifle.net не подходит? другие подобные сервисы?
А если веб сервер на машине с нс1? то также смысл нс2 не ясен, так как если грохнется нс1, то наверняка и сам сайт ляжет вместе с сервером.
Если грохнется только нс1 (имеется ввиду только сам нс-сервер), то тогда вебсервер будет работать, ибо нс2 спасет. А если весь сервак грохнется, то какая разница где у вас нс1, всеравно работать веб не будет...
в данной статье у сервера имя NS1 ?
Имя сервера adw0rd.ru!
Имя NS-сервера — ns1.adw0rd.ru
у меня ситуация такая имя сервера получается relay.domen.ru но когда пишешь в браузере ничего не происходит, получаю доступ только по адресу relay.domen.ru
как сделать чтоб сайт отображался по адресу
покажите конфиг вашего домена на master-нс
// $FreeBSD: src/etc/namedb/named.conf,v 1.26.2.2.4.1 2009/04/15 03:14:26 kensmith Exp $
//
// Refer to the named.conf (5) and named (8) man pages, and the documentation
// in /usr/share/doc/bind9 for more details.
//
// If you are going to set up an authoritative server, make sure you
// understand the hairy details of how DNS works. Even with
// simple mistakes, you can break connectivity for affected parties,
// or cause huge amounts of useless Internet traffic.
key «rndc-key» {
algorithm hmac-md5;
secret «BYSzvbwt6grksw16bMIfrw==»;
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { «rndc-key»; };
};
acl «trusted»
{
192.168.0.0/24;
127.0.0.1;
195.24.128.164;
192.168.200.20;
85.119.72.2;
};
options {
// Relative to the chroot directory, if any
directory «/etc/namedb»;
pid-file «/var/run/named/pid»;
dump-file «/var/dump/named_dump.db»;
statistics-file «/var/stats/named.stats»;
allow-transfer { trusted; };
allow-query { any; };
allow-recursion { any; };
// If named is being used only as a local resolver, this is a safe default.
// For named to be accessible to the network, comment this option, specify
// the proper IP address, or delete this option.
listen-on { 127.0.0.1; 192.168.200.10; };
// If you have IPv6 enabled on this system, uncomment this option for
// use as a local resolver. To give access to the network, specify
// an IPv6 address, or the keyword «any».
// listen-on-v6 { ::1; };
// These zones are already covered by the empty zones listed below.
// If you remove the related empty zones below, comment these lines out.
disable-empty-zone «255.255.255.255.IN-ADDR.ARPA»;
disable-empty-zone «0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA»;
disable-empty-zone «1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA»;
// In addition to the «forwarders» clause, you can force your name
// server to never initiate queries of its own, but always ask its
// forwarders only, by enabling the following line:
//
// forward only;
// If you've got a DNS server around at your upstream provider, enter
// its IP address here, and enable the line below. This will make you
// benefit from its cache, thus reduce overall DNS traffic in the Internet.
/*
forwarders {
127.0.0.1;
};
};
zone «.» { type hint; file «named.root»; };
#zone «localhost» { type master; file «master/localhost-forward.db»; };
#zone «127.in-addr.arpa» { type master; file «master/localhost-reverse.db»; };
zone «255.in-addr.arpa» { type master; file «master/empty.db»; };
// RFC 1912-style zone for IPv6 localhost address
zone «0.ip6.arpa» { type master; file «master/localhost-reverse.db»; };
// «This» Network (RFCs 1912 and 3330)
zone «0.in-addr.arpa» { type master; file «master/empty.db»; };
// Private Use Networks (RFC 1918)
zone «10.in-addr.arpa» { type master; file «master/empty.db»; };
zone «16.172.in-addr.arpa» { type master; file «master/empty.db»; };
zone «17.172.in-addr.arpa» { type master; file «master/empty.db»; };
zone «18.172.in-addr.arpa» { type master; file «master/empty.db»; };
zone «19.172.in-addr.arpa» { type master; file «master/empty.db»; };
zone «20.172.in-addr.arpa» { type master; file «master/empty.db»; };
zone «21.172.in-addr.arpa» { type master; file «master/empty.db»; };
zone «22.172.in-addr.arpa» { type master; file «master/empty.db»; };
zone «23.172.in-addr.arpa» { type master; file «master/empty.db»; };
zone «24.172.in-addr.arpa» { type master; file «master/empty.db»; };
zone «25.172.in-addr.arpa» { type master; file «master/empty.db»; };
zone «26.172.in-addr.arpa» { type master; file «master/empty.db»; };
zone «27.172.in-addr.arpa» { type master; file «master/empty.db»; };
zone «28.172.in-addr.arpa» { type master; file «master/empty.db»; };
zone «29.172.in-addr.arpa» { type master; file «master/empty.db»; };
zone «30.172.in-addr.arpa» { type master; file «master/empty.db»; };
zone «31.172.in-addr.arpa» { type master; file «master/empty.db»; };
zone «168.192.in-addr.arpa» { type master; file «master/empty.db»; };
// Link-local/APIPA (RFCs 3330 and 3927)
zone «254.169.in-addr.arpa» { type master; file «master/empty.db»; };
// TEST-NET for Documentation (RFC 3330)
zone «2.0.192.in-addr.arpa» { type master; file «master/empty.db»; };
// Router Benchmark Testing (RFC 3330)
zone «18.198.in-addr.arpa» { type master; file «master/empty.db»; };
zone «19.198.in-addr.arpa» { type master; file «master/empty.db»; };
// IANA Reserved — Old Class E Space
zone «240.in-addr.arpa» { type master; file «master/empty.db»; };
zone «241.in-addr.arpa» { type master; file «master/empty.db»; };
zone «242.in-addr.arpa» { type master; file «master/empty.db»; };
zone «243.in-addr.arpa» { type master; file «master/empty.db»; };
zone «244.in-addr.arpa» { type master; file «master/empty.db»; };
zone «245.in-addr.arpa» { type master; file «master/empty.db»; };
zone «246.in-addr.arpa» { type master; file «master/empty.db»; };
zone «247.in-addr.arpa» { type master; file «master/empty.db»; };
zone «248.in-addr.arpa» { type master; file «master/empty.db»; };
zone «249.in-addr.arpa» { type master; file «master/empty.db»; };
zone «250.in-addr.arpa» { type master; file «master/empty.db»; };
zone «251.in-addr.arpa» { type master; file «master/empty.db»; };
zone «252.in-addr.arpa» { type master; file «master/empty.db»; };
zone «253.in-addr.arpa» { type master; file «master/empty.db»; };
zone «254.in-addr.arpa» { type master; file «master/empty.db»; };
// IPv6 Unassigned Addresses (RFC 4291)
zone «1.ip6.arpa» { type master; file «master/empty.db»; };
zone «3.ip6.arpa» { type master; file «master/empty.db»; };
zone «4.ip6.arpa» { type master; file «master/empty.db»; };
zone «5.ip6.arpa» { type master; file «master/empty.db»; };
zone «6.ip6.arpa» { type master; file «master/empty.db»; };
zone «7.ip6.arpa» { type master; file «master/empty.db»; };
zone «8.ip6.arpa» { type master; file «master/empty.db»; };
zone «9.ip6.arpa» { type master; file «master/empty.db»; };
zone «a.ip6.arpa» { type master; file «master/empty.db»; };
zone «b.ip6.arpa» { type master; file «master/empty.db»; };
zone «c.ip6.arpa» { type master; file «master/empty.db»; };
zone «d.ip6.arpa» { type master; file «master/empty.db»; };
zone «e.ip6.arpa» { type master; file «master/empty.db»; };
zone «0.f.ip6.arpa» { type master; file «master/empty.db»; };
zone «1.f.ip6.arpa» { type master; file «master/empty.db»; };
zone «2.f.ip6.arpa» { type master; file «master/empty.db»; };
zone «3.f.ip6.arpa» { type master; file «master/empty.db»; };
zone «4.f.ip6.arpa» { type master; file «master/empty.db»; };
zone «5.f.ip6.arpa» { type master; file «master/empty.db»; };
zone «6.f.ip6.arpa» { type master; file «master/empty.db»; };
zone «7.f.ip6.arpa» { type master; file «master/empty.db»; };
zone «8.f.ip6.arpa» { type master; file «master/empty.db»; };
zone «9.f.ip6.arpa» { type master; file «master/empty.db»; };
zone «a.f.ip6.arpa» { type master; file «master/empty.db»; };
zone «b.f.ip6.arpa» { type master; file «master/empty.db»; };
zone «0.e.f.ip6.arpa» { type master; file «master/empty.db»; };
zone «1.e.f.ip6.arpa» { type master; file «master/empty.db»; };
zone «2.e.f.ip6.arpa» { type master; file «master/empty.db»; };
zone «3.e.f.ip6.arpa» { type master; file «master/empty.db»; };
zone «4.e.f.ip6.arpa» { type master; file «master/empty.db»; };
zone «5.e.f.ip6.arpa» { type master; file «master/empty.db»; };
zone «6.e.f.ip6.arpa» { type master; file «master/empty.db»; };
zone «7.e.f.ip6.arpa» { type master; file «master/empty.db»; };
// IPv6 ULA (RFC 4193)
zone «c.f.ip6.arpa» { type master; file «master/empty.db»; };
zone «d.f.ip6.arpa» { type master; file «master/empty.db»; };
// IPv6 Link Local (RFC 4291)
zone «8.e.f.ip6.arpa» { type master; file «master/empty.db»; };
zone «9.e.f.ip6.arpa» { type master; file «master/empty.db»; };
zone «a.e.f.ip6.arpa» { type master; file «master/empty.db»; };
zone «b.e.f.ip6.arpa» { type master; file «master/empty.db»; };
// IPv6 Deprecated Site-Local Addresses (RFC 3879)
zone «c.e.f.ip6.arpa» { type master; file «master/empty.db»; };
zone «d.e.f.ip6.arpa» { type master; file «master/empty.db»; };
zone «e.e.f.ip6.arpa» { type master; file «master/empty.db»; };
zone «f.e.f.ip6.arpa» { type master; file «master/empty.db»; };
// IP6.INT is Deprecated (RFC 4159)
zone «ip6.int» { type master; file «master/empty.db»; };
/* An example dynamic zone
key «exampleorgkey» {
algorithm hmac-md5;
secret «sf87HJqjkqh8ac87a02lla==»;
};
zone «example.org» {
type master;
allow-update {
key «exampleorgkey»;
};
file «dynamic/example.org»;
};
*/
/* Example of a slave reverse zone
zone «1.168.192.in-addr.arpa» {
type slave;
file «slave/1.168.192.in-addr.arpa»;
masters {
192.168.1.1;
};
};
*/
zone «localhost» {
type master;
file «localhost.zone»;
};
zone «0.0.127.IN-ADDR.ARPA» {
type master;
file «master/localhost.rev»;
};
zone «domain.ru» {
type master;
file «master/domain.ru»;
allow-transfer { trusted;};
};
etweet, я не об этом конфиге, я о конфиге самого домена! (master/domain.ru)
$TTL 3600
@ IN SOA relay.domen.ru. root.relay.domen.ru. (
2009102601 ; Serial
3600 ; Refresh
900 ; Retry
3600000 ; Expire
3600 ) ; Minimum
$ORIGIN domen.ru.
@ NS domen.ru.
@ NS ns2.trifle.net.
@ A my ip
localhost A 127.0.0.1
ns1 A my ip
ns2 A 195.24.128.164
www A my ip
ww CNAME www
$TTL 3600
@ IN SOA relay.domain.ru. root.relay.domain.ru. (
2009102601 ; Serial
3600 ; Refresh
900 ; Retry
3600000 ; Expire
3600 ) ; Minimum
$ORIGIN domain.ru.
@ NS domain.ru.
@ NS ns2.trifle.net.
@ A ip
localhost A 127.0.0.1
ns1 A ip
ns2 A 195.24.128.164
www A ip
ww CNAME www
у меня один сервер и один внешний ip нужно настроить dns и почту
имя сервера relay.domail.ru был бы очень признателен если вы мне написали бы более подробно my icq 200527177
Не обязательно указывать домен полность, используйте короткую запись для ns1.domain.ru
@ NS ns1
@ NS ns2.trifle.net.
@ A ip
localhost A 127.0.0.1
ns1 A ip
ns2 A 195.24.128.164
www A ip
ww CNAME www
Оформляйте конфиги и код в теги <code>, и у меня нет icq
1. После настройки перезагружаете named?
2. Что говорит dig?
relay# dig @ns1.bbl-russia.ru bbl-russia.ru
; <> DiG 9.4.3-P2 <> @ns1.bbl-russia.ru bbl-russia.ru
; (1 server found)
;; global options: printcmd
;; connection timed out; no servers could be reached
тогда я не могу получить доступ к web странице
а вот по адресу ns1.domen.ru доступ есть.
Как сделать чтоб работал адрес
Named-сервер у вас вообще поднят?
И еще, почему вы forwarders не указали? Что у вас в /etc/resolv.conf
bbl-russia.ru и ns1.bbl-russia.ru — не пингуются, я не знаю как это у вас есть доступ к ns1
читал уже много статей везде пишут по разному
можешь сказать вот для поддержки своего домена сколько зон должно быть включено и какие
Спасибо!
Сорри за дурной вопрос — это в каком месте вписать
Теперь вы можете вписать у регистратора — свои DNS сервера, примерно так:
ns1.adw0rd.ru 82.146.63.195
ns2.trifle.net
Большое спасибо за статью — сразу заработало — вот только про регистратора не понял
klovic, это надо прописать в разделе DNS/NS адреса, у регистратора доменных имен :)
т.е на сайте
klovic, нет, это то место, где у вас зарегистрирован домен, например R01, RU-CENTER и т.д.
т.е у провайдера
спасибо за статью
klovic, провайдер слишком общее название, а правильное название для того кто уполномочен регистрировать домена — (Регистратор)
Да я согласен — только в договоре шеф подписался — что они ему дают и сопровождают домен второго уровня — вот до сих пор никак не могу поднять бинда — все какие-то ошибки — которых я не вижу но про которые мне сообщают. Делал как было написано в этой статье — только вместо бесплатного DNS их два сервера — подскажи в файле named.conf listen надо что бы там были 127.0.0.1, 192..., и внешний адрес
Вот такая штука получается и как видишь внизу адрес внутренний а не внешний —
ns# dig @ns.zao-uralavto.ru zao-uralavto.ru
; <> DiG 9.6.1-P1 <> @ns.zao-uralavto.ru zao-uralavto.ru
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21807
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 3
;; QUESTION SECTION:
;zao-uralavto.ru. IN A
;; ANSWER SECTION:
zao-uralavto.ru. 3600 IN A 77.247.213.186
;; AUTHORITY SECTION:
zao-uralavto.ru. 3600 IN NS ns1.ural-net.ru.
zao-uralavto.ru. 3600 IN NS ns.zao-uralavto.ru.
zao-uralavto.ru. 3600 IN NS ns2.ural-net.ru.
;; ADDITIONAL SECTION:
ns.zao-uralavto.ru. 3600 IN A 77.247.213.186
ns1.ural-net.ru. 38396 IN A 77.247.209.2
ns2.ural-net.ru. 38396 IN A 77.247.208.70
;; Query time: 0 msec
;; SERVER: 192.168.1.50#53 (192.168.1.50)
;; WHEN: Tue Dec 8 15:27:55 2009
;; MSG SIZE rcvd: 159
klovic, вы прописали нс-ы у регистратора?
если б мне знать — я общаюсь с провайдером — видимо нужно требовать у шефа делать изменения к договору т.к. я не вижу что там делается — а мне говорят ошибка у тебя
А какая ошибка то говорят?
[root@gw /etc/namedb]# ./make-localhost
-bash: ./make-localhost: cannot execute binary file
что не так?
Решил этот вопрос)) перекачиванием фала заново)
Спасибо, adw0rd, за статью которая помогла разобраться в настройке bind, правда под линухом.
Только вот встретился с проблемкой, которую благополучно решил просидев за ней всю ночь. Проблема след. толка:
Настроил как советовал автор статьи, и доходя до момента
у меня сервер отказывался отвечать, в статусе запроса гордо стоял REFUSEDОказывается я не усмотрел один момент. у меня сервер раздает интернет на компьютеры в локальную сеть, разумеется без такого велосипеда как dnsmasq было не обойтись. он то и не давал запуститься named, это можно было увидеть в логах syslog-ng (блокировал порт 53)
PS: логи очень(!!!) помогают в разборе ошибок, жалею о потраченном в пустую времени. автору спасибо
Пожалуйста :)
Здравствуйте adw0rd!
Статья замечательная, очень много интересных нюансов.
Я пытаюсь адаптировать ее под свои нужды (ubuntu 9.10 + bind)
Столкнулся с такой проблемой:
rndc и bind9 запускаются без ошибок, а :~# dig @ns1.tmnz.ru tmnz.ru дает следующий результат:
; <> DiG 9.6.1-P2 <> @ns1.tmnz.ru tmnz.ru
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 22903
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;tmnz.ru. IN A
;; ANSWER SECTION:
tmnz.ru. 0 IN A 192.168.1.1
;; Query time: 2 msec
;; SERVER: 92.255.174.131#53 (92.255.174.131)
;; WHEN: Tue Feb 2 19:34:26 2010
;; MSG SIZE rcvd: 41
Файл настройки зоны:
$TTL 3600
$ORIGIN ru.
tmnz IN SOA ns1.tmnz.ru. root.tmnz.ru. (
2010020201 ; Serial
43200 ; Refresh
3600 ; Retry
604800 ; Expire
3600 ) ; Minimum TTL
$ORIGIN tmnz.ru.
@ NS ns1
@ NS ns2.trifle.net.
@ A 92.255.174.131
localhost A 127.0.0.1
ns1 A 92.255.174.131
ns2 A 195.24.128.164
www A 92.255.174.131
ww CNAME www
Примечание: эта машина во внутренней сети с адресом 192.168.1.11 и именем tmnz на которой установлен веб-сервер домена второго уровня (tmnz.ru), эта машина имеет выход в инет через шлюз роутера с адресом 192.168.1.1 и внешним реальным адресом 92.255.174.131, который необходимо сделать ns1-адресом домена tmnz.ru
Если сможете мне помочь, буду очень благодарен! (Можно не безвозмездно)! :)
У вас покачто не доступен домен, поэтому надо юзать так:
Когда (дата) вы прописали NSы домену tmnz.ru? Он прошел делегирование?
Та же история что и с
— привел ответ выше.NSы для tmnz.ru я прописал (в панели регистратора):
ns1.tmnz.ru (92.255.174.131)
ns2.trifle.net
Около 8 часов назад
С учетом того что я написал в примечании я все правильно делаю?
;; ANSWER SECTION:
tmnz.ru. 0 IN A 192.168.1.1
смущает /\
— очень хороший сервис для проверки ДНС!
спасибо, добавил в adw0rd.ru/services/
; <<>> DiG 9.6.1-P2 <<>> @92.255.174.131 tmnz.ru
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46592
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 1
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;tmnz.ru. IN A
;; ANSWER SECTION:
tmnz.ru. 3600 IN A 92.255.174.131
;; AUTHORITY SECTION:
tmnz.ru. 3600 IN NS ns2.trifle.net.
tmnz.ru. 3600 IN NS ns1.tmnz.ru.
;; ADDITIONAL SECTION:
ns1.tmnz.ru. 3600 IN A 92.255.174.131
;; Query time: 107 msec
;; SERVER: 92.255.174.131#53(92.255.174.131)
;; WHEN: Wed Feb 3 12:51:28 2010
;; MSG SIZE rcvd: 103
# dig @ns1.tmnz.ru tmnz.ru
dig: couldn't get address for 'ns1.tmnz.ru': not found
У меня ваш сервер нормально отвечает
В логе при запуске BIND возникает ошибка:
Feb 3 15:42:09 tmnz named[7869]: command channel listening on ::1#953
Feb 3 15:42:09 tmnz named[7869]: the working directory is not writable <b><--- ВОТ ЭТО</b>
Feb 3 15:42:09 tmnz named[7869]: zone tmnz.ru/IN: loaded serial 2920333826
Feb 3 15:42:09 tmnz named[7869]: running
Feb 3 15:42:09 tmnz named[7869]: zone tmnz.ru/IN: sending notifies (serial 2920333826)
Это вообще ошибка? Если Да, то о какой директории речь?
Проверил все права, вроде все правильно...
Ну и еще один вопрос. ;)
Как сделать ns2 на том же IP?
Что нужно добавить (поменять) в файл зоны?
Спасибо!
И еще вопрос ;)
Как правильно вносить MX записи?
Делаю так:
проверяю:
tmnz.ru has no MX record
Что я не так делаю?
serial поменяли? rndc зарелодили? named ребутнули? что говорит named-checkconf?
все аналогично первому, но думаю вы понимаете что не хорошо вешать все нски на один сервак?
Поменял, зарелодил, ребутнул. named-checkconf молчит, никаких ошибок:
server reload successful
:~# /etc/init.d/bind9 restart
* Stopping domain name service... bind9 [ OK ]
* Starting domain name service... bind9 [ OK ]
:~# named-checkconf
:~#
Если один НС так:
$ORIGIN ru.
tmnz IN SOA ns1.tmnz.ru. root.tmnz.ru. (
2010020307 ; Serial
43200 ; Refresh
3600 ; Retry
604800 ; Expire
3600 ) ; Minimum TTL
$ORIGIN tmnz.ru.
@ NS ns1
@ NS ns2.trifle.net.
@ A 92.255.174.131
localhost A 127.0.0.1
ns1 A 92.255.174.131
ns2 A 195.24.128.164
www CNAME tmnz.ru.
mail MX 10 tmnz.ru.
то оба НС будет так:
$ORIGIN ru.
tmnz IN SOA ns1.tmnz.ru. ns2.tmnz.ru. root.tmnz.ru. (
2010020301 ; Serial
43200 ; Refresh
3600 ; Retry
604800 ; Expire
3600 ) ; Minimum TTL
$ORIGIN tmnz.ru.
@ NS ns1
@ NS ns2
@ A 92.255.174.131
localhost A 127.0.0.1
ns1 A 92.255.174.131
ns2 A 92.255.174.131
www CNAME tmnz.ru.
mail MX 10 tmnz.ru.
Или я ошибаюсь?
Достал наверно уже своими глупыми вопросами? :)
Ну с виду все хорошо, пробуйте :)
Уже попробовал, все летает! :)
Попробовал прикрепить на эти НСы (ns1.tmnz.ru и ns2.tmnz.ru) еще один домен,все прекрасно работает!
Осталась только проблема с MX, описывал выше. Есть какие нибудь мысли?
Вам надо нечто вида:
adw0rd, спасибо огромное за поддержку! Победил я его! :)
Если кто будет читать и кому надо MX, надо вот так:
mail IN A XX.XX.XX.XX / ваш IP
Закончилась эпопея...
А теперь плавно перейду на почтовик Postfix, у тебя случайно нет статейки по этому поводу?
Есть, но она еще не дописана... может на днях допишу, потерпите? :)
Только она у меня называется «FreeBSD. Поднимаем свой почтовый сервер на базе Dovecot, Exim, Postfixadmin, Roundcube, Clamav и SpamAssassin». Я не юзаю Postfix
Использование reboot крайне не рекомендуется во FreeBSD. При ребуте происходит «жесткое» завершение работы, не выполняются shutdown-скрипты, могут некорректно отмонтироваться файловые системы. Лучше всего, использовать shutdown -r now
Спасибо, буду иметь ввиду
ужас ^_^