Nepieciešamais: visas bind pakas un dnsutils
1. Instalējam BIND un dnsutils
yum install bind* dnsutils -y
vai
apt-get install bind* dnsutils -y, ja izmantojam Debian serveri.
2. konfigurējam BIND
/etc/named.conf failam būtu jāizskatās kautkā šādi:
options {
listen-on port 53 {
any;
};
listen-on-v6 port 53 {
any;
};
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
recursion no;
allow-recursion {"none";};
allow-transfer {"none";};
forwarders {
8.8.8.8;
};
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
Pievienojam pirms inklūdiem ko šādu. Manā gadijumā "svenz.lv", jo tas 2. līmeņa domains tiks rūtēts.
zone "svenz.lv" {
type master;
file "/etc/named/svenz.lv";
allow-update { none; };
};
Tālāk, /etc/named/svenz.lv fails
Šīs te rindas tā kā būtu galvenās (manā gadijumā ns1.svenz.lv, jo tādu esmu norādijis NIC'ā pie šīs IP adreses):
$TTL 86400
svenz.lv. IN SOA ns1.svenz.lv. admin.svenz.lv. ( ;pirmais ieraksts aiz SOA - primārā adrese, otrais - epasts
2006081401 ;seriālais (es nezinu, ko šis dara
28800 ;laiks sekundēs, pēc cik refrešot datus
3600 ;laiks sekundēs, kad mēģināt velreiz savienoties ar šo DNS kļūdas gadijumā
604800 ;Pēc cik ilga laika ieraksti kļūs nederīgi, ja netiks refrešoti
38400; Minimālais TTL
)
svenz.lv. IN NS ns1.svenz.lv.
ns1.svenz.lv. IN A 109.169.89.14
Tālāk jau varam norādīt pārējās adreses kā vien vēlamies, jeb piemēram, rūtēsim 1.2.3.4.5.6.savs.dns.serveris.ir.awesome.svenz.lv uz 12.0.0.1
1.2.3.4.5.6.savs.dns.serveris.ir.awesome.svenz.lv. IN A 127.0.0.1
Un tādā garā. (
Tagad atliek tikai restartēt BIND servisu, un pāraudīt, vai viss strādā. (pieņemsim, ka esat norādijuši NIC'āNS ierakstu ar hostneimu un IP)
service named restart
dig svenz.lv
un pārbaudam, vai tiek atgriezta norādītā adrese. :)
Kāds labums no šī? Ja tiek izmantoti vairāki serveri mājaslapai, tad var taisīt load balancing, bet tā - nav jāgaida DNS update, jo to jebkurā brīdī var izdarīt ar roku, kā arī nav nekādu ierobežojumu subdomēniem. Kā arī, ja taisa savu DNS serveri, vajadzētu padomāt arī par sekundāro serveri, uz kuru redirektot gadijumā, ja kautkas notiek ar pirmo, citādi, ja kautkas tiešām notiks ar pirmo, un otrā nebūs, neviens netiks jūsu lapā.
allow-transfer {“none”;}; allow-recursion {“none”;}; recursion no;
Laboja S J, labots 4x
0 #119.04.2013. 20:23
Neaizmirstat konfigurācijas failam uzlikt "named" lietotāju, citādāk būs tā kā bija S_J - paliksiet kādam parādā aliņu.
S J @ 19.04.2013. 20:57 atbildēja:
Es nopietni 2 stundas skaļi bļaustijos un lamājos. Es pat pamanijos izdzēst visus ar BIND'u saistītos failus no to pārinstalēt, bet izrādās, ka problēma bija tur, ka faili piederēja root lietotājam.
+1 #219.04.2013. 21:18
Nē nē nē nē nē, nedariet tā!!!
Nekad nevajag turēt dns serveri ar recursion, pieejamu visiem.
Pilns internets ar tādiem serveriem, kas pēc tam tiek lietoti lai ddosotu citus.
https://askubuntu.com/questions/170728/how-to-disable-external-dns-recursion
S J @ 19.04.2013. 21:25 atbildēja:
Thx, izlaboju arī rakstā.