# DNS Server einrichten

## andreask

Hallo!

Ich lese jetzt schon die ganze Nacht nach wie es denn wohl funktioniert einen DNS-Server zu konfigurieren. Ich dachte "so schwer kann das ja nicht sein...", naja, im Prinzip bin ich jetzt genau so schlau wie vor einigen Stunden.

Ich will folgendes erreichen:

Ich habe einen Server im LAN, und der soll für alle Clients unter einer Adresse wie: "server.lan" erreichbar sein.

Mein Problem ist z.B. dass in allen Anleitunge steht dass ich in der Konfiguration für server.lan noch den zuständigen DNS-Server angeben soll - hä? Wieso das? Den richte ich doch gerade ein, was soll ich da bitte angeben?

Ich habe auch nur diese eien Adresse, und habe auch nur eie einzige feste(interne) IP hierfür, der Server soll unter der Adresse nicht von außen ereichbar sein, das ginge ja eh nicht. 

Hat vielleicht jemand von Euch einen Tipp für mich wie ich da rangehen sollte?

Grüße

Andreas

----------

## steveb

am einfachsten würde das gehen, wenn du mit dhcpd das ganze zusammenkoppeln würdest. dann könntest du das so machen, dass dein interner dns server über dhcpd die internen adressen verwaltet und alle externen adressen einfach weiterleitet.

ich habe das ganze am laufen auf einer red hat 7.1 kiste (ein i486 mit nur 64 mb memory). wollte es auf gentoo switchen, aber hatte dann probleme mit shorewall (war einfach zu langsam) und bin wieder zurück auf red hat (habe einfach die alte disk wieder reingeschoben). wie auch immer.... hier mal ein beispiel für gentoo (du musst einige sachen anpassen. ich habe bei mir 192.168.0.x als ip adresse und leite meine externen dns aufrufe weiter zu einigen schweizer provider [bin selbst aus der schweiz]):

```
# /etc/bind/named.conf

# Security info:

# http://www.linuxsecurity.com/resource_files/server_security/bind-8.x.txt

// Set up our ACLs

acl "xfer" {

   // Allow no transfers.  If we have other

   // name servers, place them here.

   none;

};

//acl "bogon" {

// Filter out the bogon networks.  These are networks 

// listed by IANA as test, RFC1918, Multicast, experi-

// mental, etc.  If you see DNS queries or updates with

// a source address within these networks, this is likely

// of malicious origin.

//   0.0.0.0/8;

//   1.0.0.0/8;

//   2.0.0.0/8;

//   169.254.0.0/16;

//   192.0.2.0/24;

//   10.0.0.0/8;

//   172.16.0.0/12;

//   192.168.0.0/16;

//   224.0.0.0/3;

//   240.0.0.0/4;

//};

acl "trusted" {

   192.168.0.0/24;            // xxxxx.local ip range: 192.168.0.0/255.255.255.0

   localhost;

   127.0.0.1;

}

acl "xxxxx-pub" {

// my public ip range: xxx.xxx.xxx.xxx - xxx.xxx.xxx.xxx

   xxx.xxx.xxx.xxx/xx;

}

key DHCP_UPDATER {

   algorithm HMAC-MD5.SIG-ALG.REG.INT;

   secret xxxxxxxxxxxxxxxxxxxxxxxx;

};

options {

   directory "/var/bind";

   // uncomment the following lines to turn on DNS forwarding,

   // and change the forwarind ip address(es) :

   forward first;

   forwarders {

      62.2.32.5;         // ns.cablecom.ch.  

      193.192.227.3;      // ns1.sunrise.ch.  

      212.40.0.10;      // ns1.datacomm.ch. 

      130.59.10.30;      // scsnms.switch.ch.

      195.186.1.110;      // dns1.bluewin.ch.

      62.2.32.250;      // ns2.cablecom.net.

      212.40.5.50;      // ns2.datacomm.ch. 

      195.141.56.5;      // ns2.sunrise.ch.  

      130.59.1.30;      // scsnms.switch.ch.

      130.59.211.10;      // merapi.switch.ch.

      195.186.1.111;      // dns2.bluewin.ch.

      195.186.4.110;      // dns3.bluewin.ch.

      195.186.4.111;      // dns4.bluewin.ch.

   };

   listen-on-v6 { none; };

        listen-on port 53 {

      192.168.0.254;   // gateway.xxxxx.local

      127.0.0.1;      // localhost

      localhost;      // 127.0.0.1

   };

   // to allow only specific hosts to use the DNS server:

   allow-query {

      trusted;      // trusted clients

      xxxxx-pub;      // xx pub

   };

   allow-transfer {

      // Zone tranfers limited to members of the

      // "xfer" ACL

      xfer;

   };

        allow-recursion {

      trusted;      // trusted clients

      xxxxx-pub;      // xx pub

   };

   blackhole {

      // Deny anything from the bogon networks as

      // detailed in the "bogon" ACL.

      bogon;

   };

   // if you have problems and are behind a firewall:

   //query-source address * port 53;

   pid-file "/var/run/named/named.pid";

   // misc stuff

   version "Hay hacker, why you want to know my version? Get away from me.";

   auth-nxdomain yes;

};

// Link in our zones

zone "." IN {

   type hint;

   file "named.ca";

};

// Allow queries for the localhost network, but not zone transfers.

// Every name server, both slave and master, will be a master

// for this zone.

zone "localhost" IN {

   type master;

   file "pri/localhost";

   allow-update {

      none;

   };

   notify no;

};

// Allow queries for the 127/8 network, but not zone transfers.

// Every name server, both slave and master, will be a master

// for this zone.

zone "127.in-addr.arpa" IN {

   type master;

   file "pri/127";

   allow-update {

      none;

   };

   notify no;

};

// Allow queries for the 192/24 network, but allow only

// updates to key DHCP_UPDATER.

zone "0.168.192.in-addr.arpa" IN {

   type master;

   file "pri/192.168.0";

   allow-update {

      key DHCP_UPDATER;   

   };

   notify no;

   // notify yes;

   // also-notify {

   //   192.168.0.x;

   // };

};

  

// Allow queries for the xxxxx.local network, but allow

// only updates to key DHCP_UPDATER.

zone "xxxxx.local" IN {

   type master;   

   file "pri/xxxxx.local";

   allow-update {

      key DHCP_UPDATER;   

   };

   notify no;

   // notify yes;

   // also-notify {

   //   192.168.0.x;

   // };

};
```

```
; Zone file for 127

$ORIGIN 127.in-addr.arpa.

$TTL 1W

@         1D IN SOA   localhost. root.localhost. (

               2002081601   ; serial

               3H      ; refresh

               15M      ; retry

               1W      ; expiry

               1D )      ; minimum

         1D IN NS   localhost.

*         1D IN PTR   localhost.
```

```
; Zone file for 192.168.0

$TTL    86400

@              IN      SOA     gateway.xxxxx.local. root.xxxxx.local. (

                                             2003052501 ; Serial, todays date + todays serial

                                             28800      ; Refresh, seconds

                                             14400      ; Retry, seconds

                                             3600000    ; Expire, seconds

                                             86400 )    ; Minimum TTL, seconds

                       NS      gateway.xxxxx.local.

1                      PTR     gate.xxxxx.local.

11                     PTR     gentoo.xxxxx.local.

12                     PTR     gentoo-eth1.xxxxx.local.

13                     PTR     gentoo-via.xxxxx.local.

15                     PTR     work.xxxxx.local.

16                     PTR     woodstock.xxxxx.local.

17                     PTR     snoopy.xxxxx.local.

18                     PTR     sds.xxxxx.local.

19                     PTR     sds-gentoo.xxxxx.local.

108                    PTR     ns1.xxxxx.local.

109                    PTR     rib-ns1.xxxxx.local.

110                    PTR     rib-ns2.xxxxx.local.

111                    PTR     ns2.xxxxx.local.

115                    PTR     spok.xxxxx.local.

116                    PTR     cpqpl2500_eth1.xxxxx.local.

117                    PTR     cpqpl2500.xxxxx.local.

118                    PTR     vmnetwaresrv51.xxxxx.local.

120                    PTR     dom6.xxxxx.local.

125                    PTR     vulcan.xxxxx.local.

185                    PTR     zhbas001.xxxxx.local.

250                    PTR     visionunit-gw.xxxxx.local.

251                    PTR     lj8150dn.xxxxx.local.

252                    PTR     adsl-bridge.xxxxx.local.

253                    PTR     adsl.xxxxx.local.

254                    PTR     gateway.xxxxx.local. 
```

```
; Zone file for localhost 

$TTL 1W

@       IN      SOA     ns.localhost. root.localhost.  (

                                      2002081601 ; Serial

                                      28800      ; Refresh

                                      14400      ; Retry

                                      604800     ; Expire - 1 week

                                      86400 )    ; Minimum

      IN      NS      ns

localhost.   IN   A   127.0.0.1 
```

```
; Zone file for xxxxx.local

$TTL    86400

@              IN      SOA     gateway.xxxxx.local. root.xxxxx.local.  (

                                             2003052501 ; Serial, todays date + todays serial

                                             28800      ; Refresh, seconds

                                             14400      ; Retry, seconds

                                             3600000    ; Expire, seconds

                                             86400 )    ; Minimum TTL, seconds

                       TXT     "xxxxx local"

                       NS      gateway                  ; Inet Address of name server

gate                   A       192.168.0.1

                       TXT     "SMTP/POP3 gateway"

gentoo                 A       192.168.0.11

gentoo-eth1            A       192.168.0.12

gentoo-via             A       192.168.0.13

work                   A       192.168.0.15

woodstock              A       192.168.0.16

snoopy                 A       192.168.0.17

sds                    A       192.168.0.18

sds-gentoo             A       192.168.0.19

ns1                    A       192.168.0.108

                       TXT     "Name server 1"

domino01               CNAME   ns1

redhat                 CNAME   ns1

rib-ns1                A       192.168.0.109

                       TXT     "Remote Insight Lights-Out Edition"

rib-ns2                A       192.168.0.110

                       TXT     "Remote Insight Lights-Out Edition"

ns2                    A       192.168.0.111

                       TXT     "Name server 2"

spok                   A       192.168.0.115

                       TXT     "Linux test server with PHP/MySQL"

cpqpl2500_eth1         A       192.168.0.116

                       TXT     "Compaq Proliant 2500 [eth1]"

cpqpl2500              A       192.168.0.117

                       TXT     "Compaq Proliant 2500 [eth0]"

vmnetwaresrv51         A       192.168.0.118

                       TXT     "Novell NetWare 5 Server"

dom6                   A       192.168.0.120

                       TXT     "IBM/Lotus Domino R6"

faxserver              CNAME   dom6

vulcan                 A       192.168.0.125

                       TXT     "Test Server [ASUS P2L97-DS (eth0:0)]"

zhbas001               A       192.168.0.185

                       TXT     "IBM/Lotus Domino R4"

xxxxxxxxxx-gw          A       192.168.0.250

                       TXT     "ZyXEL Prestige 782R"

sdsl                   CNAME   xxxxxxxxxx-gw

   

lj8150dn               A       192.168.0.251

                       TXT     "HP LaserJet Series 8150"

adsl-bridge            A       192.168.0.252

                       TXT     "Interface to ADSL (bridged)"

adsl                   A       192.168.0.253

                       TXT     "ZyXEL Prestige 642R"

gateway                A       192.168.0.254

                       TXT     "Internet gateway/router [HP Vectra 486/66XM]"
```

```
# dhcpd.conf

# German description for DHCP with dynamic update of DNS:

# http://www.pl-forum.de/t_netzwerk/dhcpunddns.html

# option definitions common to all supported networks...

option domain-name "xxxxx.local";

option domain-name-servers 192.168.0.254, gateway.xxxxx.local, localhost;

default-lease-time 300;

max-lease-time 360;

# If this DHCP server is the official DHCP server for the local

# network, the authoritative directive should be uncommented.

authoritative;

# Use this to send dhcp log messages to a different log file (you also

# have to hack syslog.conf to complete the redirection).

log-facility local7;

# Dynamic DNS update

// ddns-update-style interim;               # can be 'none', 'ad-hoc', or 'interim'

ddns-update-style ad-hoc;               # can be 'none', 'ad-hoc', or 'interim'

ddns-domainname "xxxxx.local";               # name of the domain

ddns-rev-dominname "in-addr.arpa";            # reverse domain name

update-static-leases true;               # update static adresses in DNS as well

# xxxxx.local network (192.168.0.1 - 192.168.0.254)

subnet 192.168.0.0 netmask 255.255.255.0 {

   range 192.168.0.50 192.168.0.100;         # Internal DHCP range

   range dynamic-bootp 192.168.0.101 192.168.0.105;   # BOOTP range

   option nntp-server 192.168.0.108;         # NTP

   option domain-name-servers 192.168.0.254 localhost;   # DNS servers

   option netbios-node-type 8;            # WINS hybrid type (WINS - broadcast)

   option netbios-name-servers 192.168.0.254 localhost;   # WINS name servers

   option domain-name "xxxxx.local";         # Domain name

   option routers 192.168.0.254 gateway.xxxxx.local;   # Router

   option subnet-mask 255.255.255.0;

   option broadcast-address 192.168.0.255;

   default-lease-time 300;

   max-lease-time 360;

   #######################################################

   # Set the KEY, secret = key generated by dnssec-keygen

   # wich zones schould be updated in DNS

   # secred key created with: dnssec-keygen -a HMAC-MD5 -b 128 -n USER DHCP_UPDATER

   key DHCP_UPDATER {

      algorithm HMAC-MD5.SIG-ALG.REG.INT;

      secret xxxxxxxxxxxxxxxxxxxxxxxx;

   }

   #

   zone xxxxx.local. {

      primary 192.168.0.254;

      key DHCP_UPDATER;

   }

   #

   zone 0.168.192.in-addr.arpa. {

      primary 192.168.0.254;

      key DHCP_UPDATER;

   }

   #######################################################

   #######################################################

   # I N T E R N A L  C L I E N T S

   #######################################################

   # Use DNS names, to force a DNS lookup

   #######################################################

   #

   #######################################################

   # gentoo eth0

   host gentoo {

      hardware ethernet 00:a0:24:a8:42:b4;

      fixed-address 192.168.0.11;

   }

   #######################################################

   # gentoo eth1 [with via-rhine NIC]

   host gentoo-via {

      hardware ethernet 00:50:2c:00:91:e2;

      fixed-address 192.168.0.13;

   }

   #######################################################

   # gentoo eth1 [with BCM4401 NIC]

   host gentoo-eth1 {

      hardware ethernet 00:e0:18:f6:72:e3;

      fixed-address 192.168.0.12;

   }

   #######################################################

   # xxxxxx

   host work {

      hardware ethernet 00:a0:24:a8:42:b3;

      fixed-address 192.168.0.15;

   }

   #######################################################

   # xxxxxxx

   host woodstock {

      hardware ethernet 00:03:47:74:ec:06;

      fixed-address 192.168.0.16;

   }

   #######################################################

   # xxxxx

   host snoopy {

      hardware ethernet 00:03:47:74:eb:cb;

      fixed-address 192.168.0.17;

   }

   #######################################################

   # xxxxxxxx

   host sds {

      hardware ethernet 00:10:4b:67:11:9c;

      fixed-address 192.168.0.18;

   }

   #######################################################

   # xxxxxxxx

   host sds-gentoo {

      hardware ethernet 00:40:95:49:0c:c2;

      fixed-address 192.168.0.19;

   }

   #######################################################

   # END

   #######################################################

   #######################################################

   # R E S E R V E D  F O R  S E R V E R S / S E R V I C E

   #######################################################

   # Use IP addresses, allowing them to use BOOTP and

   # other services.

   #######################################################

   #

   #######################################################

   # Server for POP3 retrieval and SMTP relay

   host gate {

      hardware ethernet 00:a0:24:a8:42:29;

      fixed-address 192.168.0.1;

   }

   #######################################################

   # Compaq Proliant ML330e (eth0:0)

   host ns1 {

      hardware ethernet 00:50:8b:e8:7c:88;

      fixed-address 192.168.0.108;

   }

   #######################################################

   # Compaq Remote Insight Lights-Out Edition (in NS1)

   # S/N: P432A0EFFLW3GB, RIB name: RIB0002A5743ECA

   host rib-ns1 {

      hardware ethernet 00:02:a5:74:3e:ca;

      fixed-address 192.168.0.109;

   }

   #######################################################

   # Compaq Remote Insight Lights-Out Edition (in NS2)

   # S/N: P432A0EFFLW2CS, RIB name: RIB0002A5742AE6

   host rib-ns2 {

      hardware ethernet 00:02:a5:74:2a:e6;

      fixed-address 192.168.0.110;

   }

   #######################################################

   # Compaq Proliant ML330e (eth0:0)

   host ns2 {

      hardware ethernet 00:50:8b:e8:7a:fb;

      fixed-address 192.168.0.111;

   }

   #######################################################

   # ASUS P2B-DS (eth0:0)

   host spok {

      hardware ethernet 00:a0:24:a8:5a:a2;

      fixed-address 192.168.0.115;

   }

   #######################################################

   # Compaq Proliant 2500 (eth1)

   host cpqpl2500_eth1 {

      hardware ethernet 00:80:5F:A6:EE:7F;

      fixed-address 192.168.0.116;

   }

   #######################################################

   # Compaq Proliant 2500 (eth0)

   host cpqpl2500 {

      hardware ethernet 00:50:8b:5b:1f:bf;

      fixed-address 192.168.0.117;

   }

   #######################################################

   # Novell NetWare 5 Server

   host vmnetwaresrv51 {

      hardware ethernet 00:e0:18:54:4a:4c;

      fixed-address 192.168.0.118;

   }

   #######################################################

   # IBM/Lotus Domin R6 Server

   host dom6 {

      hardware ethernet 00:50:8B:03:EC:97;

      fixed-address 192.168.0.120;

   }

   #######################################################

   # ASUS P2L97-DS (eth0:0)

   host vulcan {

      hardware ethernet 00:10:4b:67:11:9c;

      fixed-address 192.168.0.125;

   }

   #######################################################

   # IBM/Lotus Domino R4 Server

   host zhbas001 {

      hardware ethernet 00:a0:24:a8:45:50;

      fixed-address 192.168.0.185;

   }

   #######################################################

   # ZyXEL Prestige 782R SDSL

   host xxxxxxxxxx-gw {

      hardware ethernet 00:a0:c5:2e:d5:a4;

      fixed-address 192.168.0.250;

   }

   #######################################################

   # HP JetDirect card for HP LaserJet 8150 Series

   host lj8150dn {

      hardware ethernet 00:01:e6:30:66:4d;

      fixed-address 192.168.0.251;

   }

   #######################################################

   # Bridge to ZyXEL Prestige 642R ADSL (eth2 in gateway)

   host adsl-bridge {

      hardware ethernet 00:80:adD:83:0c:8e;

      fixed-address 192.168.0.252;

   }

   #######################################################

   # ZyXEL Prestige 642R ADSL

   host adsl {

      hardware ethernet 00:a0:c5:2c:3e:4d;

      fixed-address 192.168.0.253;

   }

   #######################################################

   # HP Vectra 486/66XM

   host gateway {

      hardware ethernet 08:00:09:51:65:bd;

      fixed-address 192.168.0.254;

   }

   #######################################################

   # END

   #######################################################

}

#######################################################

# Cable modem range

subnet xxx.xxx.x.x netmask 255.255.0.0 {

   not authoritative;

}

#######################################################

#######################################################

# ADSL modem range

subnet xxx.xxx.xxx.xxx netmask 255.255.0.0 {

   not authoritative;

}

####################################################### 
```

ich glaube das ist so ziemlich das wichtigste. evt musst du einige sachen anpassen. ich bin mir nicht sicher, was ich alles noch für fehler (vor allem syntax fehler) aus den verschiedenen config files behoben habe, seit ich diesen alten backup mal gemacht habe. bin einfach jetzt zuuuuu müde, um noch alles bis ins letzte detail zu überprüfen aber ich denke mir du kommst damit sicherlich weiter....

entschuldigung, dass ich einige angaben mit xxxx überschrieben habe, aber ich habe keine lust noch mehr angriffe auf mein öffendliches netz (habe einen kleinen block von öffendlichen ip adressen) noch mehr zu überprüfen. habe echt genug von all diesen möchtegern hackern und ich weiss nicht was...

gruss

SteveB

ps: wenn du fragen hast, einfach nochmals ne meldung schreiben. ich antworte gerne  :Wink: 

----------

## Deever

Manche leute scheinen nicht so lange wie möglich leben zu wollen...installier dnsmasq und gut ist!  :Wink: 

dev

----------

## billatq

I don't speak German, but thanks for those configuration files. It helped me figure out how to set up my own configuration in my dorm.

----------

## bazik

 *steveb wrote:*   

> am einfachsten würde das gehen, wenn du...

 

djbdns anstatt BIND nimmst  :Smile: 

Und sicherer ist es auch noch.   :Rolling Eyes: 

----------

## catwisel

@bazik 

ich möchte auch einen DNS Server konfigurieren und habe diesen djbdns net-dns/djbdns runtergeladen, nun weiss ich nicht wie ich diesen konfigurieren muss , d.h wo ich was eingeben muss 

kannst du mir weiter helfen??

Bin leider noch winwürg lastig

----------

## stream

Schau dir mal das HowTo ( http://www.better-com.de/de/dnshowto ) an.   :Wink: 

----------

## catwisel

Besten Dank für den Tip, hat super geklappt  :Very Happy: 

----------

## DarKRaveR

Ich denke das was steveb geschrieben hat mit dhcp usw. ist zwar chic (ich hasse dhcp, es sei denn er ist für die statischen fälle weil leute zu dumm sind ihr windows zu konfigurieren) aber totaler overkill.

Du mußt eigentlich nru eines tun:

im dns eien zone einrichten, zum beispiel local.

Eine Zonefile einrichten, dort eintragen, dass dein DNS für diese zone authorative ist, damit die lookups nicht nach draußen geforwardet werden und das lookup auch sonst funktioniert.

Noch eine ACL damit der Zugriff geregelt wird (von außen sollen keien lookups kommen oder wenn der server auch noch richtige zones bedient mit vies für intern und extern splitten.

Wenn ein client dann in der zone local nachschaut wird dein DNS weil er sich selbst für authorative (als zuständig) hält die adresse entsprechend liefern, der rest wird von außerhalb geholt.

Wenn Du auf dem Server selbst lookup in der zone local machen willst wirds dirty.

du mußt den lokalen rechner in die resolv.conf packen, was leider unschön ist und wovon abgeraten wird, geht aber nicht anders, wenn du nicht mehrere DNS Server hast, ansonsten ist es besser die aufgaben entsprechend zu teilen.

Bei weiteren Fragen einfach melden

----------

## Cr0t

 *Deever wrote:*   

> Manche leute scheinen nicht so lange wie möglich leben zu wollen...installier dnsmasq und gut ist! 
> 
> dev

 

DNSMASQ is ja locker. Ich finde sogar der Integrite DHCP Server is besser!

----------

