Konfigurasjonsinformasjon
BIND vil bli konfigurert til å
kjøre i et chroot
fengsel som en uprivilegert bruker (named). Denne konfigurasjonen er sikrere ved
at en DNS kompromittering bare kan påvirke noen få filer i
named bruker sin HOME mappe.
Opprett den uprivilegerte brukeren og gruppen named:
groupadd -g 20 named &&
useradd -c "BIND Owner" -g named -s /bin/false -u 20 named &&
install -d -m770 -o named -g named /srv/named
Sett opp noen filer, mapper og enheter som trengs av BIND:
mkdir -p /srv/named &&
cd /srv/named &&
mkdir -p dev etc/named/{slave,pz} usr/lib/engines var/run/named &&
mknod /srv/named/dev/null c 1 3 &&
mknod /srv/named/dev/urandom c 1 9 &&
chmod 666 /srv/named/dev/{null,urandom} &&
cp /etc/localtime etc
rndc.conf filen inneholder
informasjon for å kontrollere named operasjoner med
rndc verktøyet.
Generer en nøkkel for bruk i named.conf og rndc.conf med rndc-confgen kommandoen:
rndc-confgen -a -b 512 -t /srv/named
Opprett named.conf filen som
named vil lese
plasseringen av sonefiler, root navneservere og sikre DNS nøkler:
cat >> /srv/named/etc/named.conf << "EOF"
options {
directory "/etc/named";
pid-file "/var/run/named.pid";
statistics-file "/var/run/named.stats";
};
zone "." {
type hint;
file "root.hints";
};
zone "0.0.127.in-addr.arpa" {
type master;
file "pz/127.0.0";
};
// Bind 9 now logs by default through syslog (except debug).
// These are the default logging rules.
logging {
category default { default_syslog; default_debug; };
category unmatched { null; };
channel default_syslog {
syslog daemon; // send to syslog's daemon
// facility
severity info; // only send priority info
// and higher
};
channel default_debug {
file "named.run"; // write to named.run in
// the working directory
// Note: stderr is used instead
// of "named.run"
// if the server is started
// with the '-f' option.
severity dynamic; // log at the server's
// current debug level
};
channel default_stderr {
stderr; // writes to stderr
severity info; // only send priority info
// and higher
};
channel null {
null; // toss anything sent to
// this channel
};
};
EOF
Lag en sonefil med følgende innhold:
cat > /srv/named/etc/named/pz/127.0.0 << "EOF"
$TTL 3D
@ IN SOA ns.local.domain. hostmaster.local.domain. (
1 ; Serial
8H ; Refresh
2H ; Retry
4W ; Expire
1D) ; Minimum TTL
NS ns.local.domain.
1 PTR localhost.
EOF
Opprett root.hints fil med følgende
kommandoer:
Note
Det må utvises forsiktighet for å sikre at det ikke er ledende
mellomrom i denne filen.
cat > /srv/named/etc/named/root.hints << "EOF"
. 6D IN NS A.ROOT-SERVERS.NET.
. 6D IN NS B.ROOT-SERVERS.NET.
. 6D IN NS C.ROOT-SERVERS.NET.
. 6D IN NS D.ROOT-SERVERS.NET.
. 6D IN NS E.ROOT-SERVERS.NET.
. 6D IN NS F.ROOT-SERVERS.NET.
. 6D IN NS G.ROOT-SERVERS.NET.
. 6D IN NS H.ROOT-SERVERS.NET.
. 6D IN NS I.ROOT-SERVERS.NET.
. 6D IN NS J.ROOT-SERVERS.NET.
. 6D IN NS K.ROOT-SERVERS.NET.
. 6D IN NS L.ROOT-SERVERS.NET.
. 6D IN NS M.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET. 6D IN A 198.41.0.4
A.ROOT-SERVERS.NET. 6D IN AAAA 2001:503:ba3e::2:30
B.ROOT-SERVERS.NET. 6D IN A 170.247.170.2
B.ROOT-SERVERS.NET. 6D IN AAAA 2801:1b8:10::b
C.ROOT-SERVERS.NET. 6D IN A 192.33.4.12
C.ROOT-SERVERS.NET. 6D IN AAAA 2001:500:2::c
D.ROOT-SERVERS.NET. 6D IN A 199.7.91.13
D.ROOT-SERVERS.NET. 6D IN AAAA 2001:500:2d::d
E.ROOT-SERVERS.NET. 6D IN A 192.203.230.10
E.ROOT-SERVERS.NET. 6D IN AAAA 2001:500:a8::e
F.ROOT-SERVERS.NET. 6D IN A 192.5.5.241
F.ROOT-SERVERS.NET. 6D IN AAAA 2001:500:2f::f
G.ROOT-SERVERS.NET. 6D IN A 192.112.36.4
G.ROOT-SERVERS.NET. 6D IN AAAA 2001:500:12::d0d
H.ROOT-SERVERS.NET. 6D IN A 198.97.190.53
H.ROOT-SERVERS.NET. 6D IN AAAA 2001:500:1::53
I.ROOT-SERVERS.NET. 6D IN A 192.36.148.17
I.ROOT-SERVERS.NET. 6D IN AAAA 2001:7fe::53
J.ROOT-SERVERS.NET. 6D IN A 192.58.128.30
J.ROOT-SERVERS.NET. 6D IN AAAA 2001:503:c27::2:30
K.ROOT-SERVERS.NET. 6D IN A 193.0.14.129
K.ROOT-SERVERS.NET. 6D IN AAAA 2001:7fd::1
L.ROOT-SERVERS.NET. 6D IN A 199.7.83.42
L.ROOT-SERVERS.NET. 6D IN AAAA 2001:500:9f::42
M.ROOT-SERVERS.NET. 6D IN A 202.12.27.33
M.ROOT-SERVERS.NET. 6D IN AAAA 2001:dc3::35
EOF
root.hints filen er en liste over
rotnavn servere. Denne filen må oppdateres med jevne mellomrom
med dig verktøyet.
En gjeldende kopi av root.hints kan bli hentet fra https://www.internic.net/domain/named.root.
For detaljer, se "BIND 9 Administrator Reference Manual".
Opprett eller modifiser resolv.conf
for å bruke den nye navneserveren med følgende kommandoer:
Note
Erstatt <yourdomain.com> med ditt
eget gyldige domenenavn.
cp /etc/resolv.conf /etc/resolv.conf.bak &&
cat > /etc/resolv.conf << "EOF"
search <yourdomain.com>
nameserver 127.0.0.1
EOF
Angi tillatelser for chroot fengselet med følgende
kommando:
chown -R named:named /srv/named
Teste BIND
Test ut den nye BIND 9
installasjonen. Spør først den lokale vertsadressen med
dig:
dig -x 127.0.0.1
Prøv nå et eksternt navneoppslag, og legg merke til
hastighetsforskjellen i gjentatte oppslag på grunn av caching.
Kjør dig kommandoen
to ganger på samme adresse:
dig www.linuxfromscratch.org &&
dig www.linuxfromscratch.org
Du kan se nesten øyeblikkelige resultater med den navngitte cache
oppslag. Rådfør deg med BIND
Administrator Reference Manual (se nedenfor) for ytterligere
konfigurasjonsalternativer.