DNS

BIND oppsett for server.example.net

Her er et eksempel på oppsett av BIND under Red Hat 6.2. IP for lokalnett er 192.168.1.x og jeg kaller domenet 'example.net'. Server har IP 192.168.1.201 og router 192.168.1.254. Arbeidsstasjon(er) starter på 192.168.1.1.

Eksemplet er justert for Debian sarge. Jeg har da ikke endret noe annet enn å legge til filene /etc/bind/db.example og /etc/bind/db.192 samt legge disse sonene til i /etc/bind/named.conf.local

/etc/resolv.conf:

search example.net
order hosts,bind
nameserver 192.168.1.201
nameserver 193.212.1.11
nameserver 193.212.1.10

Her er DNS-serverne til Telenor brukt som alternativ 2 og 3 (men er antakelig ikke nødvendig, jeg har dem ikke med i mitt Debian oppsett, ei heller order hosts,bind).

/etc/bind/named.conf.local :

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

zone "tuxic.net" {
        type master;
        file "/etc/bind/db.tuxic";
};

zone "192.in-addr.arpa" {
        type master;
        file "/etc/bind/db.192";
};

/etc/bind/db.192 :

;
; Zone file for 1.168.192.in-addr.arpa
;
@               IN      SOA     ns.example.net.   root.example.net. (
                        1999123001 ; serial
                        28800 ; refresh
                        14400 ; retry
                        3600000 ; expire
                        86400 ; default_ttl
                        )
@               IN      NS      ns.example.net.
201             IN      PTR     ns.example.net.
201             IN      PTR     mail.example.net.
254             IN      PTR     gw.example.net.
1               IN      PTR     client1.example.net.
$ORIGIN 0.168.192.in-addr.arpa.
$GENERATE 1-9 $ PTR ws$.domene.navn.

/etc/bind/db.example :

;
; Zone file for example.net
;
$TTL 1d
@               IN      SOA     ns.example.net.   root.example.net. (
                        1999081701 ; serial
                        28800 ; refresh
                        14400 ; retry
                        3600000 ; expire
                        86400 ; default_ttl
                        )
;
@               IN      TXT     "example.net - DNS server"
@               IN      NS      ns
@               IN      MX      10      mail.example.net.
localhost               IN      A       127.0.0.1
ns              IN      A       192.168.1.201
ns              IN      MX      10      mail
ns              IN      HINFO   "PPC" "Linux 2.2"
mail            IN      A       192.168.1.201
mail            IN      MX      10      mail
mail            IN      HINFO   "PPC" "OS2"
gw              IN      A       192.168.1.254
gw              IN      HINFO   "Cisco" "mod.777"
gw              IN      TXT     "Router"
client1         IN      A       192.168.1.1
client1         IN      MX      10      mail
client1         IN      HINFO   "Alpha" "BeOS"
; Det etterfølgende er ikke med, men er et tips jeg kom over:
$ORIGIN domene.navn.
$GENERATE 1-9 ws$ A 192.168.1.$

De siste 2 linjene er noe jeg ikke har benyttet meg av, men som kommentaren sier, er et tips for effektivt å lage entries for arbeidsstasjoner i lokalnettet (her 'ws1' til 'ws9').

Foreldet stoff

Det etterfølgende er notater fra Red Hat tiden. Gjelder ikke for in Debian sarge installasjon.

/etc/named.boot:

;
; a caching only nameserver config
;
directory                              /var/named
cache           .                      named.cache
primary         0.0.127.in-addr.arpa   named.local

/etc/named.conf:

options {
        directory "/var/named";
};
zone "." {
        type hint;
        file "named.cache";
};
zone "0.0.127.in-addr.arpa"{
        type master;
        file "127.0.0";
};
zone "1.168.192.in-addr.arpa"{
        type master;
        file "192.168.1";
        notify no;
};
zone "example.net"{
        type master;
        file "example.net";
        notify no;
};

/var/named/named.local:

@       IN      SOA     localhost. root.localhost.  (
                                      1997022700 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
        IN      NS      localhost.

1       IN      PTR     localhost.

/var/named/named.cache:

(masse DNS-servere - jeg bør kanskje tømme denne!)

/var/named/hints:

(tom - men jeg har en "riktig" versjon som da er lik named.cache)

/var/named/127.0.0:

;@               IN      SOA     localhost.      root.localhost. (
;                        1999123001 ; serial
;                        28800 ; refresh
;                        14400 ; retry
;                        3600000 ; expire
;                        86400 ; default_ttl
;                        )
;@               IN      NS      localhost.
;1               IN      PTR     localhost.
@    IN   SOA     ns.example.net.   root.example.net. (
          2000082600 ; serial
          28800 ; refresh
          14400 ; retry
          3600000 ; expire
          86400 ; default_ttl
          )
@    IN   NS      ns.example.net.
1    IN   PTR     localhost.

Dette var mitt oppsett. På klientene holder det stort sett å angi 192.168.1.201 som DNS-server i resolv.conf. Hvis jeg har unngått skrivefeil, skulle dette være et oppsett som fungerer. Hvis noen leser dette og finner feil, ville jeg sette pris på tilbakemelding! ;-)

Et eksempel oppsett på bind 8 finner du under dns seksjonen på denne siden: http://home.chello.no/~bjohans2/. Dersom du passerer Norids sone-sjekk burde du være godt på vei. Delegering av sub-domener er beskrevet her

Send reklamen der den hører hjemme :-), DNS-trick

From: Knut Berg
Date: 30 Mar 2000 09:21:54 +0200

Hei folkens, dette har jeg lyst til å fortelle dere som kjører egen dns. En enkel måte å bli kvitt reklamen på er å si at den lokale serveren er master for f.eks. doubleclick.net. Når browseren skal laste ned gif-møkka derfra, kjører den først en dns lookup til din lokal server som normalt ruter denne videre til utsiden av nettet. I dette tilfellet derimot, blir forespørselen sendt til blackhole.zone og vi vet jo hva som slipper ut av et svart hull :-). Løsningen er desverre *ikke* min, men den er god.

Opprett sonefila /var/named/blackhole.zone slik (rediger DINSERVER):

@              1D IN SOA @ ns.DINSERVER. root (
                         42        ; serial 
                         3600      ; refresh
                         1200      ; retry
                         864000         ; expiry
                         10 )      ; minimum

               1D IN NS  ns.DINSERVER.
               
; Zone with no entries.  Everything that hits this should get
; a NXDOMAIN back. Kills the lookup.
Legg til f.eks. følgende linjer i /etc/named.conf:
zone "doubleclick.net"  {
type master;
file "blackhole.zone";
};

#spionsystemet fra aureate som opptrer i visse bannere fra demo-software 
#(CuteFTP f.x)

zone "aureate.com"  {
type master;
file "blackhole.zone";
};

zone "ads.nettavisen.no"  {
type master;
file "blackhole.zone";
};

Restart nameserveren /sbin/init.d/named restart (SuSE) og sjekk Dagbladet (doubleclick) og Nettavisen. Hehe, det blir så lekkert og det er jo svært enkelt å legge til nye uønskede adresser i named.conf.

Knut