Ceci & Tati

100% работещи Master и Salve DNS сървъри, изградени с BIND-9 и Gentoo

от на окт..19, 2008, категории Линукс, Мрежата

Преди всичко искам да кажа, че примера ми е доста скромен, но напълно работещ. В него влизат 3 мрежи клас „C“ и един домейн „sharcom.org“ закупен от host.bg.

1. Инсталиране то на BIND-9 в Gentoо е сладко нещо 🙂 .

dns1 ~ # emerge -av bind

These are the packages that would be merged, in order:

Calculating dependencies… done!
[ebuild U ] net-dns/bind-9.4.1_p1 [9.3.4-r3] USE=“berkdb ipv6 ldap mysql postgres ssl -dlz -doc -idn -odbc -resolvconf (-selinux) -threads -urandom%“ 6,193 kB

Total: 1 package (1 upgrade), Size of downloads: 6,193 kB

Would you like to merge these packages? [Yes/No]

2. Master DNS.

След като съм инсталирал BIND-а на master dns и slave dns машините, редактирам „/etc/bind/named.conf“ на master dns машината.

dns1 bind # cat /etc/bind/named.conf
options {
directory „/var/bind“;

// uncomment the following lines to turn on DNS forwarding,
// and change the forwarding ip address(es) :
//forward first;
//forwarders {
// 89.215.250.10;
// 217.9.224.2;
// 89.106.96.4;
//};

// listen-on-v6 { none; };
listen-on { 127.0.0.1;
212.114.121.19;
};

// to allow only specific hosts to use the DNS server:
allow-query {
127.0.0.1;
212.114.121.0/24;
212.114.122.0/24;
212.114.123.0/24;
};

// Zabraniava rekursivnite zaiavki, osven vatre6nite.
allow-recursion {
127.0.0.1;
212.114.121.0/24;
212.114.122.0/24;
212.114.123.0/24;
};

// if you have problems and are behind a firewall:
//query-source address * port 53;
pid-file „/var/run/named/named.pid“;
};

// Briefly, a zone which has been declared delegation-only will be effectively
// limited to containing NS RRs for subdomains, but no actual data beyond its
// own apex (for example, its SOA RR and apex NS RRset). This can be used to
// filter out „wildcard“ or „synthesized“ data from NAT boxes or from
// authoritative name servers whose undelegated (in-zone) data is of no
// interest.
// See http://www.isc.org/products/BIND/delegation-only.html for more info

//zone „COM“ { type delegation-only; };
//zone „NET“ { type delegation-only; };

zone „.“ IN {
type hint;
file „named.ca“;
};

zone „localhost“ IN {
type master;
file „pri/localhost.zone“;
allow-update { none; };
notify no;
};

zone „127.in-addr.arpa“ IN {
type master;
file „pri/127.zone“;
allow-update { none; };
notify no;
};

zone „sharcom.org“ IN {
type master;
file „pri/sharcom.zone“;
allow-update { none; };
allow-transfer { 212.114.121.21; 127.0.0.1; }; //ograni4enie v transfer na zonite
allow-query { any; }; //zashtita ot spufing, zabraniava zaiavkite koito ne sa za nas
notify yes;
};

zone „10.168.192.in-addr.arpa“ {
type master;
file „pri/192.zone“;
allow-update { none; };
allow-query { any; }; //zashtita ot spufing, zabraniava zaiavkite koito ne sa za nas
notify no;
};

zone „121.114.212.in-addr.arpa“ {
type master;
file „pri/212.114.121.zone“;
allow-update { none; };
allow-transfer { 212.114.121.21; 127.0.0.1; 217.19.224.2; 217.19.224.3; }; //ograni4enie v transfer na zonite
allow-query { any; }; //zashtita ot spufing, zabraniava zaiavkite koito ne sa za nas
notify yes;
};

zone „122.114.212.in-addr.arpa“ {
type master;
file „pri/212.114.122.zone“;
allow-update { none; };
allow-transfer { 212.114.121.21; 127.0.0.1; 217.19.224.2; 217.19.224.3; }; //ograni4enie v transfer na zonite
allow-query { any; }; //zashtita ot spufing, zabraniava zaiavkite koito ne sa za nas
notify yes;
};

zone „123.114.212.in-addr.arpa“ {
type master;
file „pri/212.114.123.zone“;
allow-update { none; };
allow-transfer { 212.114.121.21; 127.0.0.1; 217.19.224.2; 217.19.224.3; }; //ograni4enie v transfer na zonite
allow-query { any; }; //zashtita ot spufing, zabraniava zaiavkite koito ne sa za nas
notify yes;
};

logging{
channel info_log {
file „/var/log/named/bind_info.log“ versions 3 size 5m;
severity info;
print-time yes;
print-severity yes;
print-category yes;
};
channel warning_log {
file „/var/log/named/bind_warning.log“ versions 3 size 5m;
severity warning;
print-time yes;
print-severity yes;
print-category yes;
};

category default{
info_log; warning_log;
};
};

В „/etc/bind/pri/“ създавам следните четири файла „212.114.121.zone 212.114.122.zone 212.114.123.zone sharcom.zone“, а
в „/etc/bind/sec“ нямам нищо!

ls /etc/bind/pri/
127.zone
192.zone
212.114.121.zone
212.114.122.zone
212.114.123.zone
localhost.zone
sharcom.zone

Създавам файл „sharcom.zone“ в който ще опиша правата зона (обръщане на име към IP адрес) към домейна sharcom.org.

dns1 pri # cat sharcom.zone

$TTL 86400
@ IN SOA dns1.sharcom.org. hostmaster.sharcom.org. (
2008101101 ; serial, todays date + todays serial #
8H ; refresh, seconds
2H ; retry, seconds
2W ; expire, seconds
1D ) ; minimum, seconds
;
TXT „Sharcom.org, your DNS consultants“
NS dns1.sharcom.org.
NS dns2.sharcom.org.
MX 10 mail

sharcom.org. A 212.114.121.21
TXT „v=spf1 ip4:212.114.121.0/24:212.114.122.0/24:212.114.123.0/24 a mx ptr a:sharcom.org mx:sharcom.org include:sharcom.org ~all“
;

localhost A 127.0.0.1

dns1 A 212.114.121.19
MX 10 mail
HINFO „Gentoo“ „OS“

dns2 A 212.114.121.21
MX 10 mail
HINFO „Gentoo“ „OS“

mail A 212.114.121.21
MX 10 mail
HINFO „Gentoo“ „OS“
TXT „v=spf1 a -all“

mail2 A 212.114.121.21
MX 10 mail
HINFO „Gentoo“ „OS“
TXT „v=spf1 a -all“

blog A 212.114.121.21
MX 10 mail
HINFO „Gentoo“ „OS“
gallery A 212.114.121.21
MX 10 mail
HINFO „Gentoo“ „OS“
gsm A 212.114.121.21
MX 10 mail
HINFO „Gentoo“ „OS“
cs-stats A 212.114.121.21
MX 10 mail
HINFO „Gentoo“ „OS“
www A 212.114.121.21
MX 10 mail
HINFO „Gentoo“ „OS“
order-bg A 212.114.121.21
MX 10 mail
HINFO „Gentoo“ „OS“

bongo A 212.114.122.10
testi A 212.114.123.10

Създавам файл „212.114.121.zone“ в който ще опиша обратната зона към мрежа: 212.114.121.0/24.

dns1 pri # cat 212.114.121.zone
$TTL 86400
@ IN SOA dns1.sharcom.org. hostmaster.sharcom.org. (
2008101101 ; Serial, todays date + todays serial
8H ; Refresh
2H ; Retry
2W ; Expire
1D) ; Minimum TTL
;
NS dns1.sharcom.org.
NS dns2.sharcom.org.
NS ns.interbgc.com.
NS ns1.interbgc.com.
;

19 PTR dns1.sharcom.org.
21 PTR dns2.sharcom.org.

Създавам файл „212.114.122.zone“ в който ще опиша обратната зона към мрежа: 212.114.122.0/24.

dns1 pri # cat 212.114.122.zone
$TTL 86400
@ IN SOA dns1.sharcom.org. hostmaster.sharcom.org. (
2008101101 ; Serial, todays date + todays serial
8H ; Refresh
2H ; Retry
2W ; Expire
1D) ; Minimum TTL
;
NS dns1.sharcom.org.
NS dns2.sharcom.org.
NS ns.interbgc.com.
NS ns1.interbgc.com.
;

10 PTR bongo.sharcom.org.

Създавам файл „212.114.123.zone“ в който ще опиша обратната зона към мрежа: 212.114.123.0/24.

dns1 pri # cat 212.114.123.zone
$TTL 86400
@ IN SOA dns1.sharcom.org. hostmaster.sharcom.org. (
2008101101 ; Serial, todays date + todays serial
8H ; Refresh
2H ; Retry
2W ; Expire
1D) ; Minimum TTL
;
NS dns1.sharcom.org.
NS dns2.sharcom.org.
NS ns.interbgc.com.
NS ns1.interbgc.com.
;

10 PTR testi.sharcom.org.

3. Slave DNS.

Редактирам „/etc/bind/named.conf“ на slave dns машината.

www ~ # cat /etc/bind/named.conf
options {
directory „/var/bind“;

// uncomment the following lines to turn on DNS forwarding,
// and change the forwarding ip address(es) :
//forward first;
//forwarders {
// 123.123.123.123;
// 123.123.123.123;
// 212.114.155.3;
//};

// listen-on-v6 { none; };
listen-on { 127.0.0.1;
212.114.121.21;
};

// to allow only specific hosts to use the DNS server:
allow-query {
127.0.0.1;
212.114.121.0/24;
212.114.122.0/24;
212.114.123.0/24;
};

// Zabraniava rekursivnite zaiavki, osven vatre6nite.
allow-recursion {
127.0.0.1;
212.114.121.0/24;
212.114.122.0/24;
212.114.123.0/24;
};

// if you have problems and are behind a firewall:
//query-source address * port 53;
pid-file „/var/run/named/named.pid“;
};

// Briefly, a zone which has been declared delegation-only will be effectively
// limited to containing NS RRs for subdomains, but no actual data beyond its
// own apex (for example, its SOA RR and apex NS RRset). This can be used to
// filter out „wildcard“ or „synthesized“ data from NAT boxes or from
// authoritative name servers whose undelegated (in-zone) data is of no
// interest.
// See http://www.isc.org/products/BIND/delegation-only.html for more info

//zone „COM“ { type delegation-only; };
//zone „NET“ { type delegation-only; };

zone „.“ IN {
type hint;
file „named.ca“;
};

zone „localhost“ IN {
type master;
file „pri/localhost.zone“;
allow-update { none; };
notify no;
};

zone „127.in-addr.arpa“ IN {
type master;
file „pri/127.zone“;
allow-update { none; };
notify no;
};

zone „sharcom.org“ in{
type slave;
file „sec/sharcom.zone“;
masters {212.114.121.19;};
allow-query { any; }; //zashtita ot spufing, zabraniava zaiavkite koito ne sa za nas
};

zone „121.114.212.in-addr.arpa“ in{
type slave;
file „sec/212.114.121.zone“;
masters {212.114.121.19;};
allow-query { any; }; //zashtita ot spufing, zabraniava zaiavkite koito ne sa za nas
};

zone „122.114.212.in-addr.arpa“ in{
type slave;
file „sec/212.114.122.zone“;
masters {212.114.121.19;};
allow-query { any; }; //zashtita ot spufing, zabraniava zaiavkite koito ne sa za nas
};

zone „123.114.212.in-addr.arpa“ in{
type slave;
file „sec/212.114.123.zone“;
masters {212.114.121.19;};
allow-query { any; }; //zashtita ot spufing, zabraniava zaiavkite koito ne sa za nas
};

logging{
channel info_log {
file „/var/log/named/bind_info.log“ versions 3 size 5m;
severity info;
print-time yes;
print-severity yes;
print-category yes;
};
channel warning_log {
file „/var/log/named/bind_warning.log“ versions 3 size 5m;
severity warning;
print-time yes;
print-severity yes;
print-category yes;
};

category default{
info_log; warning_log;
};
};

След като заредите Slave DNS-а той автоматично си издърпва файловете със зони от Master DNS-а и ги запаметява в „/etc/bind/sec“.

www sec # pwd
/etc/bind/sec
www sec # ls
212.114.121.zone 212.114.122.zone 212.114.123.zone sharcom.zone

4. https://admin.host.bg

Предполагам че няма смисъл да обяснявам какво е това домейн и как става неговото закупуване 🙂 .

Логвам се в тяхната система.
snapshot2.png

Избирам менюто „домейн инфо“.
snapshot3.png

След което отивам в „Създаване/промяна на собствени nameserver-и“.
snapshot4.png

Добавям моите два DNS сървъра (master and slave).
snapshot5.png

След което се връщам в „домейн инфо“ и в менюто „Name-сървъри“ добавям моите два DNS сървъра, като „Nameserver 1“ и „Nameserver 2“ и почивах 24 часа.

5. Обратно резолване (преобразуване IP-адрес във име).
Така като са настроени двата DNS-а, обратното резолване ще работи за хората които го ползват (това са моите клиенти). Но на вън дали работи, може да се разбере от следния тест?

http://www.db.ripe.net/cgi-bin/delcheck/delcheck2.cgi

Избирам една от трите мрежи и пробвам.
snapshot61.png

snapshot71.png

snapshot81.png

От теста се вижда че почети всичко е направено перфектно 🙂 и обратното резолване работи.


Вашият коментар

*
За да докажете че не сте бот, въведете този код
Anti-Spam Image

Нещто не намирате ли?

Потърси в блога ми:

Моля Ви не прекалявайте с информацията!