Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:dns_isc_bind_centos_6

DNS ISC bind CentOS 6

DNS ISC bind ist ein DNS-Server, welcher die Namensauflösung in einem Netzwerk realisieren kann. Der DNS-Server des ISC (Internet System Consortium) ist einer der meist eingesetzten Namensserver weltweit und ebenfalls der bei den aktuell 13 weltweiten Root-Nameservern verwendete DNS-Server.

:!: Hinweis - Die nachfolgenden Ausführungen erheben keinen Anspruch auf Vollständigkeit, sondern stellen eine „Basiskonfiguration“ eins DNS-Servers für ein kleines privates Netzwerk dar!!!

Ab hier werden zur Ausführung nachfolgender Befehle root-Rechte benötigt. Um der Benutzer root zu werden, melden Sie sich bitte als root-Benutzer am System an, oder wechseln mit nachfolgendem Befehl zum Benutzer root:

$ su -
Password:

Überblick

Im nachfolgenden soll die Konfiguration eines primary DNS-Servers welcher als interner, nicht nach außen agierender DNS-Server für ein privates Netzwerk mit zwei Zonen durchgeführt werden. Nachfolgende Zonen werden dabei verwaltet:

  • DMZ - Domain: dmz.tachtler.net - IP-Adressbereich: 192.168.0.0/24
  • Intranet - Domain: intra.tachtler.net - IP-Adressbereich: 192.168.1.0/24

:!: HINWEIS - Der Einsatz von IPv6 soll NICHT genutzt werden!!!

Installation

Zur Installation eines DNS-Servers wird nachfolgendes Paket benötigt:

  • bind - ist im base-Repository von CentOS enthalten

installiert werden.

Um DNS-Abfragen gegen den DNS-Server durchführen zu können, kann das Paket

  • bind-utils - ist ebenfalls im base-Repository von CentOS enthalten

installiert werden.

Mit nachfolgendem Befehl, wird das Pakete bind installiert:

# yum install bind
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.plusline.de
 * extras: ftp.plusline.de
 * updates: ftp.plusline.de
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package bind.x86_64 32:9.7.0-5.P2.el6_0.1 set to be updated
--> Processing Dependency: libisc.so.60()(64bit) for package: 32:bind-9.7.0-5.P2.el6_0.1.x86_64
--> Processing Dependency: libisccc.so.60()(64bit) for package: 32:bind-9.7.0-5.P2.el6_0.1.x86_64
--> Processing Dependency: libdns.so.64()(64bit) for package: 32:bind-9.7.0-5.P2.el6_0.1.x86_64
--> Processing Dependency: libisccfg.so.60()(64bit) for package: 32:bind-9.7.0-5.P2.el6_0.1.x86_64
--> Processing Dependency: liblwres.so.60()(64bit) for package: 32:bind-9.7.0-5.P2.el6_0.1.x86_64
--> Processing Dependency: libbind9.so.60()(64bit) for package: 32:bind-9.7.0-5.P2.el6_0.1.x86_64
--> Running transaction check
---> Package bind-libs.x86_64 32:9.7.0-5.P2.el6_0.1 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package         Arch         Version                       Repository     Size
================================================================================
Installing:
 bind            x86_64       32:9.7.0-5.P2.el6_0.1         updates       3.5 M
Installing for dependencies:
 bind-libs       x86_64       32:9.7.0-5.P2.el6_0.1         updates       829 k

Transaction Summary
================================================================================
Install       2 Package(s)
Upgrade       0 Package(s)

Total download size: 4.3 M
Installed size: 8.5 M
Is this ok [y/N]: y
Downloading Packages:
(1/2): bind-9.7.0-5.P2.el6_0.1.x86_64.rpm                | 3.5 MB     00:03     
(2/2): bind-libs-9.7.0-5.P2.el6_0.1.x86_64.rpm           | 829 kB     00:00     
--------------------------------------------------------------------------------
Total                                           1.0 MB/s | 4.3 MB     00:04     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : 32:bind-libs-9.7.0-5.P2.el6_0.1.x86_64                   1/2 
  Installing     : 32:bind-9.7.0-5.P2.el6_0.1.x86_64                        2/2 

Installed:
  bind.x86_64 32:9.7.0-5.P2.el6_0.1                                             

Dependency Installed:
  bind-libs.x86_64 32:9.7.0-5.P2.el6_0.1                                        

Complete!

Mit nachfolgendem Befehl kann überprüft werden, welche Inhalte mit den Paket bind installiert wurden.

# rpm -qil bind
Name        : bind                         Relocations: (not relocatable)
Version     : 9.7.0                             Vendor: CentOS
Release     : 5.P2.el6_0.1                  Build Date: Sat 25 Jun 2011 05:48:43 AM CEST
Install Date: Mon 08 Aug 2011 10:45:31 AM CEST      Build Host: c6b6.bsys.dev.centos.org
Group       : System Environment/Daemons    Source RPM: bind-9.7.0-5.P2.el6_0.1.src.rpm
Size        : 6695969                          License: ISC
Signature   : RSA/8, Wed 06 Jul 2011 03:37:08 AM CEST, Key ID 0946fca2c105b9de
Packager    : CentOS BuildSystem <http://bugs.centos.org>
URL         : http://www.isc.org/products/BIND/
Summary     : The Berkeley Internet Name Domain (BIND) DNS (Domain Name System) server
Description :
BIND (Berkeley Internet Name Domain) is an implementation of the DNS
(Domain Name System) protocols. BIND includes a DNS server (named),
which resolves host names to IP addresses; a resolver library
(routines for applications to use when interfacing with DNS); and
tools for verifying that the DNS server is operating properly.
/etc/NetworkManager/dispatcher.d/13-named
/etc/logrotate.d/named
/etc/named
/etc/named.conf
/etc/named.iscdlv.key
/etc/named.rfc1912.zones
/etc/rc.d/init.d/named
/etc/rndc.conf
/etc/rndc.key
/etc/sysconfig/named
/usr/lib64/bind
/usr/sbin/arpaname
/usr/sbin/ddns-confgen
/usr/sbin/dnssec-dsfromkey
/usr/sbin/dnssec-keyfromlabel
/usr/sbin/dnssec-keygen
/usr/sbin/dnssec-revoke
/usr/sbin/dnssec-settime
/usr/sbin/dnssec-signzone
/usr/sbin/genrandom
/usr/sbin/isc-hmac-fixup
/usr/sbin/lwresd
/usr/sbin/named
/usr/sbin/named-checkconf
/usr/sbin/named-checkzone
/usr/sbin/named-compilezone
/usr/sbin/named-journalprint
/usr/sbin/nsec3hash
/usr/sbin/rndc
/usr/sbin/rndc-confgen
/usr/share/doc/bind-9.7.0
/usr/share/doc/bind-9.7.0/CHANGES
/usr/share/doc/bind-9.7.0/COPYRIGHT
/usr/share/doc/bind-9.7.0/Copyright
/usr/share/doc/bind-9.7.0/README
/usr/share/doc/bind-9.7.0/arm
/usr/share/doc/bind-9.7.0/arm/Bv9ARM-book.xml
/usr/share/doc/bind-9.7.0/arm/Bv9ARM.ch01.html
/usr/share/doc/bind-9.7.0/arm/Bv9ARM.ch02.html
/usr/share/doc/bind-9.7.0/arm/Bv9ARM.ch03.html
/usr/share/doc/bind-9.7.0/arm/Bv9ARM.ch04.html
/usr/share/doc/bind-9.7.0/arm/Bv9ARM.ch05.html
/usr/share/doc/bind-9.7.0/arm/Bv9ARM.ch06.html
/usr/share/doc/bind-9.7.0/arm/Bv9ARM.ch07.html
/usr/share/doc/bind-9.7.0/arm/Bv9ARM.ch08.html
/usr/share/doc/bind-9.7.0/arm/Bv9ARM.ch09.html
/usr/share/doc/bind-9.7.0/arm/Bv9ARM.ch10.html
/usr/share/doc/bind-9.7.0/arm/Bv9ARM.html
/usr/share/doc/bind-9.7.0/arm/Bv9ARM.pdf
/usr/share/doc/bind-9.7.0/arm/Makefile
/usr/share/doc/bind-9.7.0/arm/Makefile.in
/usr/share/doc/bind-9.7.0/arm/README-SGML
/usr/share/doc/bind-9.7.0/arm/dnssec.xml
/usr/share/doc/bind-9.7.0/arm/isc-logo.eps
/usr/share/doc/bind-9.7.0/arm/isc-logo.pdf
/usr/share/doc/bind-9.7.0/arm/latex-fixup.pl
/usr/share/doc/bind-9.7.0/arm/libdns.xml
/usr/share/doc/bind-9.7.0/arm/man.arpaname.html
/usr/share/doc/bind-9.7.0/arm/man.ddns-confgen.html
/usr/share/doc/bind-9.7.0/arm/man.dig.html
/usr/share/doc/bind-9.7.0/arm/man.dnssec-dsfromkey.html
/usr/share/doc/bind-9.7.0/arm/man.dnssec-keyfromlabel.html
/usr/share/doc/bind-9.7.0/arm/man.dnssec-keygen.html
/usr/share/doc/bind-9.7.0/arm/man.dnssec-revoke.html
/usr/share/doc/bind-9.7.0/arm/man.dnssec-settime.html
/usr/share/doc/bind-9.7.0/arm/man.dnssec-signzone.html
/usr/share/doc/bind-9.7.0/arm/man.genrandom.html
/usr/share/doc/bind-9.7.0/arm/man.host.html
/usr/share/doc/bind-9.7.0/arm/man.isc-hmac-fixup.html
/usr/share/doc/bind-9.7.0/arm/man.named-checkconf.html
/usr/share/doc/bind-9.7.0/arm/man.named-checkzone.html
/usr/share/doc/bind-9.7.0/arm/man.named-journalprint.html
/usr/share/doc/bind-9.7.0/arm/man.named.html
/usr/share/doc/bind-9.7.0/arm/man.nsec3hash.html
/usr/share/doc/bind-9.7.0/arm/man.nsupdate.html
/usr/share/doc/bind-9.7.0/arm/man.rndc-confgen.html
/usr/share/doc/bind-9.7.0/arm/man.rndc.conf.html
/usr/share/doc/bind-9.7.0/arm/man.rndc.html
/usr/share/doc/bind-9.7.0/arm/managed-keys.xml
/usr/share/doc/bind-9.7.0/arm/pkcs11.xml
/usr/share/doc/bind-9.7.0/draft
/usr/share/doc/bind-9.7.0/draft/draft-ietf-6man-text-addr-representation-01.txt
/usr/share/doc/bind-9.7.0/draft/draft-ietf-behave-dns64-01.txt
/usr/share/doc/bind-9.7.0/draft/draft-ietf-dnsext-axfr-clarify-13.txt
/usr/share/doc/bind-9.7.0/draft/draft-ietf-dnsext-dns-tcp-requirements-02.txt
/usr/share/doc/bind-9.7.0/draft/draft-ietf-dnsext-dnssec-bis-updates-09.txt
/usr/share/doc/bind-9.7.0/draft/draft-ietf-dnsext-dnssec-gost-06.txt
/usr/share/doc/bind-9.7.0/draft/draft-ietf-dnsext-ecc-key-07.txt
/usr/share/doc/bind-9.7.0/draft/draft-ietf-dnsext-interop3597-02.txt
/usr/share/doc/bind-9.7.0/draft/draft-ietf-dnsext-rfc2671bis-edns0-02.txt
/usr/share/doc/bind-9.7.0/draft/draft-ietf-dnsext-rfc2672bis-dname-18.txt
/usr/share/doc/bind-9.7.0/draft/draft-ietf-dnsext-rfc3597-bis-00.txt
/usr/share/doc/bind-9.7.0/draft/draft-ietf-dnsext-tsig-md5-deprecated-03.txt
/usr/share/doc/bind-9.7.0/draft/draft-ietf-dnsop-bad-dns-res-05.txt
/usr/share/doc/bind-9.7.0/draft/draft-ietf-dnsop-default-local-zones-09.txt
/usr/share/doc/bind-9.7.0/draft/draft-ietf-dnsop-inaddr-required-07.txt
/usr/share/doc/bind-9.7.0/draft/draft-ietf-dnsop-name-server-management-reqs-02.txt
/usr/share/doc/bind-9.7.0/draft/draft-ietf-dnsop-respsize-06.txt
/usr/share/doc/bind-9.7.0/draft/draft-kato-dnsop-local-zones-00.txt
/usr/share/doc/bind-9.7.0/draft/update
/usr/share/doc/bind-9.7.0/misc
/usr/share/doc/bind-9.7.0/misc/Makefile
/usr/share/doc/bind-9.7.0/misc/Makefile.in
/usr/share/doc/bind-9.7.0/misc/dnssec
/usr/share/doc/bind-9.7.0/misc/format-options.pl
/usr/share/doc/bind-9.7.0/misc/ipv6
/usr/share/doc/bind-9.7.0/misc/migration
/usr/share/doc/bind-9.7.0/misc/migration-4to9
/usr/share/doc/bind-9.7.0/misc/options
/usr/share/doc/bind-9.7.0/misc/rfc-compliance
/usr/share/doc/bind-9.7.0/misc/roadmap
/usr/share/doc/bind-9.7.0/misc/sdb
/usr/share/doc/bind-9.7.0/misc/sort-options.pl
/usr/share/doc/bind-9.7.0/named.conf.default
/usr/share/doc/bind-9.7.0/rfc
/usr/share/doc/bind-9.7.0/rfc/index.gz
/usr/share/doc/bind-9.7.0/rfc/rfc1032.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc1033.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc1034.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc1035.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc1101.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc1122.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc1123.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc1183.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc1348.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc1535.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc1536.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc1537.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc1591.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc1611.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc1612.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc1706.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc1712.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc1750.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc1876.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc1886.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc1912.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc1982.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc1995.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc1996.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc2052.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc2104.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc2119.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc2133.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc2136.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc2137.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc2163.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc2168.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc2181.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc2230.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc2308.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc2317.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc2373.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc2374.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc2375.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc2418.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc2535.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc2536.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc2537.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc2538.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc2539.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc2540.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc2541.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc2553.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc2671.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc2672.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc2673.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc2782.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc2825.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc2826.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc2845.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc2874.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc2915.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc2929.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc2930.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc2931.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc3007.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc3008.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc3071.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc3090.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc3110.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc3123.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc3152.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc3197.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc3225.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc3226.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc3258.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc3363.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc3364.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc3425.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc3445.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc3467.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc3490.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc3491.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc3492.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc3493.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc3513.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc3596.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc3597.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc3645.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc3655.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc3658.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc3755.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc3757.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc3833.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc3845.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc3901.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc4025.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc4033.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc4034.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc4035.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc4074.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc4159.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc4193.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc4255.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc4294.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc4339.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc4343.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc4367.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc4398.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc4408.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc4431.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc4470.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc4471.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc4472.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc4509.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc4634.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc4635.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc4641.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc4648.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc4697.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc4701.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc4892.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc4955.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc4956.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc5001.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc5011.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc5155.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc5205.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc5452.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc5507.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc5625.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc5702.txt.gz
/usr/share/doc/bind-9.7.0/rfc/rfc952.txt.gz
/usr/share/doc/bind-9.7.0/rfc1912.txt
/usr/share/doc/bind-9.7.0/sample
/usr/share/doc/bind-9.7.0/sample/etc
/usr/share/doc/bind-9.7.0/sample/etc/named.conf
/usr/share/doc/bind-9.7.0/sample/etc/named.rfc1912.zones
/usr/share/doc/bind-9.7.0/sample/var
/usr/share/doc/bind-9.7.0/sample/var/named
/usr/share/doc/bind-9.7.0/sample/var/named/data
/usr/share/doc/bind-9.7.0/sample/var/named/my.external.zone.db
/usr/share/doc/bind-9.7.0/sample/var/named/my.internal.zone.db
/usr/share/doc/bind-9.7.0/sample/var/named/named.ca
/usr/share/doc/bind-9.7.0/sample/var/named/named.empty
/usr/share/doc/bind-9.7.0/sample/var/named/named.localhost
/usr/share/doc/bind-9.7.0/sample/var/named/named.loopback
/usr/share/doc/bind-9.7.0/sample/var/named/slaves
/usr/share/doc/bind-9.7.0/sample/var/named/slaves/my.ddns.internal.zone.db
/usr/share/doc/bind-9.7.0/sample/var/named/slaves/my.slave.internal.zone.db
/usr/share/man/man1/arpaname.1.gz
/usr/share/man/man5/named.conf.5.gz
/usr/share/man/man5/rndc.conf.5.gz
/usr/share/man/man8/ddns-confgen.8.gz
/usr/share/man/man8/dnssec-dsfromkey.8.gz
/usr/share/man/man8/dnssec-keyfromlabel.8.gz
/usr/share/man/man8/dnssec-keygen.8.gz
/usr/share/man/man8/dnssec-revoke.8.gz
/usr/share/man/man8/dnssec-settime.8.gz
/usr/share/man/man8/dnssec-signzone.8.gz
/usr/share/man/man8/genrandom.8.gz
/usr/share/man/man8/isc-hmac-fixup.8.gz
/usr/share/man/man8/lwresd.8.gz
/usr/share/man/man8/named-checkconf.8.gz
/usr/share/man/man8/named-checkzone.8.gz
/usr/share/man/man8/named-compilezone.8.gz
/usr/share/man/man8/named-journalprint.8.gz
/usr/share/man/man8/named.8.gz
/usr/share/man/man8/nsec3hash.8.gz
/usr/share/man/man8/rndc-confgen.8.gz
/usr/share/man/man8/rndc.8.gz
/var/log/named.log
/var/named
/var/named/data
/var/named/dynamic
/var/named/named.ca
/var/named/named.empty
/var/named/named.localhost
/var/named/named.loopback
/var/named/slaves
/var/run/named

Mit nachfolgendem Befehl, wird das Pakete bind-utils installiert:

# yum install bind-utils
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.plusline.de
 * extras: ftp.plusline.de
 * updates: ftp.plusline.de
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package bind-utils.x86_64 32:9.7.0-5.P2.el6_0.1 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package          Arch         Version                      Repository     Size
================================================================================
Installing:
 bind-utils       x86_64       32:9.7.0-5.P2.el6_0.1        updates       174 k

Transaction Summary
================================================================================
Install       1 Package(s)
Upgrade       0 Package(s)

Total download size: 174 k
Installed size: 433 k
Is this ok [y/N]: y
Downloading Packages:
bind-utils-9.7.0-5.P2.el6_0.1.x86_64.rpm                 | 174 kB     00:00     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : 32:bind-utils-9.7.0-5.P2.el6_0.1.x86_64                  1/1 

Installed:
  bind-utils.x86_64 32:9.7.0-5.P2.el6_0.1                                       

Complete!

Mit nachfolgendem Befehl kann überprüft werden, welche Inhalte mit den Paket bind-utils installiert wurden.

# rpm -qil bind-utils
Name        : bind-utils                   Relocations: (not relocatable)
Version     : 9.7.0                             Vendor: CentOS
Release     : 5.P2.el6_0.1                  Build Date: Sat 25 Jun 2011 05:48:43 AM CEST
Install Date: Mon 08 Aug 2011 10:48:37 AM CEST      Build Host: c6b6.bsys.dev.centos.org
Group       : Applications/System           Source RPM: bind-9.7.0-5.P2.el6_0.1.src.rpm
Size        : 443409                           License: ISC
Signature   : RSA/8, Wed 06 Jul 2011 03:37:12 AM CEST, Key ID 0946fca2c105b9de
Packager    : CentOS BuildSystem <http://bugs.centos.org>
URL         : http://www.isc.org/products/BIND/
Summary     : Utilities for querying DNS name servers
Description :
Bind-utils contains a collection of utilities for querying DNS (Domain
Name System) name servers to find out information about Internet
hosts. These tools will provide you with the IP addresses for given
host names, as well as other information about registered domains and
network addresses.

You should install bind-utils if you need to get information from DNS name
servers.
/usr/bin/dig
/usr/bin/host
/usr/bin/nslookup
/usr/bin/nsupdate
/usr/share/man/man1/dig.1.gz
/usr/share/man/man1/host.1.gz
/usr/share/man/man1/nslookup.1.gz
/usr/share/man/man1/nsupdate.1.gz

Dienst/Deamon-Start einrichten

Um einen DNS-Server, welcher als Dienst/Deamon als Hintergrundprozess läuft, auch nach einem Neustart des Servers zur Verfügung zu haben, soll der Dienst/Daemon mit dem Server mit gestartet werden, was mit nachfolgendem Befehl realisiert werden kann:

# chkconfig named on

Eine Überprüfung, ob beim Neustart des Server der named-Dienst/Deamon wirklich mit gestartet wird, kann mit nachfolgendem Befehl erfolgen und sollte eine Anzeige, wie ebenfalls nachfolgend dargestellt ausgeben:

# chkconfig --list | grep named
named           0:off   1:off   2:on    3:on    4:on    5:on    6:off

IPv6 deaktivieren

Der Einsatz von IPv6 soll nicht durchgeführt werden. Deshalb müssen nachfolgende Konfigurationsdateien wie folgt angepasst werden:

  • /etc/sysconfig/named
  • /etc/named.conf

Folgende Ergänzung in der Konfigurationsdatei /etc/sysconfig/named muss durchgeführt werden, um den named-Dienst/Daemon ohne die Nutzung von IPv6 zu starten (komplette Konfigurationsdatei):

# BIND named process options
# ~~~~~~~~~~~~~~~~~~~~~~~~~~
# Currently, you can use the following options:
#
# ROOTDIR="/var/named/chroot"  --  will run named in a chroot environment.
#                            you must set up the chroot environment 
#                            (install the bind-chroot package) before
#                            doing this.
#       NOTE:
#         Those directories are automatically mounted to chroot if they are
#         empty in the ROOTDIR directory. It will simplify maintenance of your
#         chroot environment.
#          - /var/named
#          - /etc/pki/dnssec-keys
#          - /etc/named
#          - /usr/lib64/bind or /usr/lib/bind (architecture dependent)
#
#         Those files are mounted as well if target file doesn't exist in
#         chroot.
#          - /etc/named.conf
#          - /etc/rndc.conf
#          - /etc/rndc.key
#          - /etc/named.rfc1912.zones
#          - /etc/named.dnssec.keys
#          - /etc/named.iscdlv.key
#
#       Don't forget to add "$AddUnixListenSocket /var/named/chroot/dev/log"
#       line to your /etc/rsyslog.conf file. Otherwise your logging becomes
#       broken when rsyslogd daemon is restarted (due update, for example).
#
# OPTIONS="whatever"     --  These additional options will be passed to named
#                            at startup. Don't add -t here, use ROOTDIR instead.
#
# KEYTAB_FILE="/dir/file"    --  Specify named service keytab file (for GSS-TSIG)
 
# Tachtler
OPTIONS="-4"

Effektiv werden am Ende der Konfigurationsdatei nachfolgende Zeilen angefügt:

# Tachtler
OPTIONS="-4"

Folgende Änderung in der Konfigurationsdatei /etc/named.conf muss durchgeführt werden, um den named-Dienst/Daemon ohne die Nutzung von IPv6 zu starten (komplette Konfigurationsdatei):

//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
 
options {
        listen-on port 53 { 127.0.0.1; };
        // Tachtler
        // default: listen-on-v6 port 53 { ::1; };
        // listen-on-v6 port 53 { ::1; };
        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";
        allow-query     { localhost; };
        recursion yes;
 
        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;
 
        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";
};
 
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
 
zone "." IN {
        type hint;
        file "named.ca";
};
 
include "/etc/named.rfc1912.zones";

Effektiv werden in der Konfigurationsdatei nachfolgende Zeilen geändert, sprich das „lauschen“ auf Port 53 via IPv6 wird auskommentiert:

        // Tachtler
        // default: listen-on-v6 port 53 { ::1; };
        // listen-on-v6 port 53 { ::1; };

Um die Unterstützung von IPv6 in CentOS ab der Version 6.0 zu deaktivieren, kann die Beschriebung unter nachfolgendem Link genutzt werden:

iptables Regel

Damit der DNS-Server auch erreichbar ist und nicht die Weitergabe der Namensauflösungsinformationen vom Paketfilter iptables blockiert wird, muss nachfolgende Regel zum iptables-Regelwerk hinzugefügt werden.

Um die aktuellen iptables-Regeln erweitern zu können, sollten diese erst einmal aufgelistet werden, was mit nachfolgendem Befehl durchgeführt werden kann:

# iptables -L -nv --line-numbers
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1    23732 6343K ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
2        0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           
3       12   693 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
4        6   360 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22  
5       86  2752 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1        0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 

Chain OUTPUT (policy ACCEPT 22420 packets, 17M bytes)
num   pkts bytes target     prot opt in     out     source               destination

Nachfolgende Befehle, fügen folgende iptables-Regeln dem iptables-Regelwerk nach der Position 4 hinzu, ohne das der Paketfilter angehalten werden muss:

  • -A INPUT -p tcp --dport 53 -j ACCEPT
  • -A INPUT -p udp --dport 53 -j ACCEPT

und hier die Befehle:

# iptables -I INPUT 5 -p tcp --dport 53 -j ACCEPT
# iptables -I INPUT 5 -p udp --dport 53 -j ACCEPT

Ein erneute Abfrage des iptables-Regelwerts, sollte dann nachfolgend dargestellte Ausgabe ergeben, was mit folgendem Befehl durchgeführt werden kann:

# iptables -L -nv --line-numbers
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1      119  9860 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
2        0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           
3        0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
4        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22 
5        0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:53 
6        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:53 
7        1    32 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1        0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 

Chain OUTPUT (policy ACCEPT 6 packets, 936 bytes)
num   pkts bytes target     prot opt in     out     source               destination

Die neuen Zeilen sind an Position 5 und Postition 6 zu sehen, hier nachfolgend zur Verdeutlichung noch einmal dargestellt (nur relevanter Ausschnitt):

...
5        0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:53
6        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:53
...

Um diese iptables-Regel dauerhaft, auch nach einem Neustart des Server, weiterhin im iptables-Regelwerk zu speichern, muss nachfolgend dargestellter Befehl abschließend noch ausgeführt werden:

# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]

Erster Start

Falls alle voranstehenden Schritte wie beschrieben durchgeführt wurden, Installation, IPv6 deaktivieren, sollte dem ersten Start nichts im Wege stehen und dies mit nachfolgendem Befehl durchgeführt werden:

# service named start
Starting named:                                            [  OK  ]

DNS-Server Überprüfung

Ob der DNS-Server, sprich der named-Dienst/Deamon auch tatsächlich als Hintergrundprozess läuft, kann mit nachfolgendem Befehl überprüft werden (Es sollte eine Ausgabe wie nachfolgend dargestellt, erfolgen - es kommt auf die zweite Zeile an!):

# ps auxwwwf | grep named
root      7062  0.0  0.1 103148   828 pts/0    S+   12:17   0:00                      \_ grep named
named     7050  0.0  2.3 158768 11684 ?        Ssl  12:15   0:00 /usr/sbin/named -u named -4

Eine weitere Überprüfung, ob der erste Start erfolgreich war, kann durch Einsicht der LOG-Dateien

  • /var/named/data/named.run
  • /var/log/messages

durchgeführt werden.

Ausgabe der LOG-Datei /var/named/data/named.run mit nachfolgendem Befehl, die Ausgabe sollte wie nachfolgend dargestellt aussehen:

# cat /var/named/data/named.run 
zone 0.in-addr.arpa/IN: loaded serial 0
zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0
zone localhost.localdomain/IN: loaded serial 0
zone localhost/IN: loaded serial 0
zone managed-keys.bind/IN/_meta: loaded serial 4
running

Ausgabe der LOG-Datei /var/log/messages mit nachfolgendem Befehl, die Ausgabe sollte wie nachfolgend dargestellt aussehen:

Aug  8 12:15:19 rechner20 named[7050]: starting BIND 9.7.0-P2-RedHat-9.7.0-5.P2.el6_0.1 -u named -4
Aug  8 12:15:19 rechner20 named[7050]: built with '--build=x86_64-unknown-linux-gnu' '--host=x86_64-unknown-linux-gnu' 
'--target=x86_64-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' 
'--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' 
'--libexecdir=/usr/libexec' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' 
'--with-libtool' '--localstatedir=/var' '--enable-threads' '--enable-ipv6' '--with-pic' '--disable-static' 
'--disable-openssl-version-check' '--with-dlz-ldap=yes' '--with-dlz-postgres=yes' '--with-dlz-mysql=yes' 
'--with-dlz-filesystem=yes' '--with-gssapi=yes' '--disable-isc-spnego' 'build_alias=x86_64-unknown-linux-gnu' 
'host_alias=x86_64-unknown-linux-gnu' 'target_alias=x86_64-redhat-linux-gnu' 'CFLAGS= -O2 -g -pipe -Wall -Wp,-D_
FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' 'CPPFLAGS= -DDIG_SIGCHASE'
Aug  8 12:15:19 rechner20 named[7050]: adjusted limit on open files from 1024 to 1048576
Aug  8 12:15:19 rechner20 named[7050]: found 1 CPU, using 1 worker thread
Aug  8 12:15:19 rechner20 named[7050]: using up to 4096 sockets
Aug  8 12:15:20 rechner20 named[7050]: loading configuration from '/etc/named.conf'
Aug  8 12:15:20 rechner20 named[7050]: reading built-in trusted keys from file '/etc/named.iscdlv.key'
Aug  8 12:15:20 rechner20 named[7050]: using default UDP/IPv4 port range: [1024, 65535]
Aug  8 12:15:20 rechner20 named[7050]: using default UDP/IPv6 port range: [1024, 65535]
Aug  8 12:15:20 rechner20 named[7050]: no IPv6 interfaces found
Aug  8 12:15:20 rechner20 named[7050]: listening on IPv4 interface lo, 127.0.0.1#53
Aug  8 12:15:20 rechner20 named[7050]: generating session key for dynamic DNS
Aug  8 12:15:20 rechner20 named[7050]: using built-in trusted-keys for view _default
Aug  8 12:15:20 rechner20 named[7050]: automatic empty zone: 127.IN-ADDR.ARPA
Aug  8 12:15:20 rechner20 named[7050]: automatic empty zone: 254.169.IN-ADDR.ARPA
Aug  8 12:15:20 rechner20 named[7050]: automatic empty zone: 2.0.192.IN-ADDR.ARPA
Aug  8 12:15:20 rechner20 named[7050]: automatic empty zone: 255.255.255.255.IN-ADDR.ARPA
Aug  8 12:15:20 rechner20 named[7050]: automatic empty zone: 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA
Aug  8 12:15:20 rechner20 named[7050]: automatic empty zone: D.F.IP6.ARPA
Aug  8 12:15:20 rechner20 named[7050]: automatic empty zone: 8.E.F.IP6.ARPA
Aug  8 12:15:20 rechner20 named[7050]: automatic empty zone: 9.E.F.IP6.ARPA
Aug  8 12:15:20 rechner20 named[7050]: automatic empty zone: A.E.F.IP6.ARPA
Aug  8 12:15:20 rechner20 named[7050]: automatic empty zone: B.E.F.IP6.ARPA
Aug  8 12:15:20 rechner20 named[7050]: using built-in trusted-keys for view _meta
Aug  8 12:15:20 rechner20 named[7050]: set up managed-keys.bind meta-zone
Aug  8 12:15:20 rechner20 named[7050]: command channel listening on 127.0.0.1#953
Aug  8 12:15:20 rechner20 named[7050]: the working directory is not writable
Aug  8 12:15:20 rechner20 named[7050]: zone 0.in-addr.arpa/IN: loaded serial 0
Aug  8 12:15:20 rechner20 named[7050]: zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
Aug  8 12:15:20 rechner20 named[7050]: zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0
Aug  8 12:15:20 rechner20 named[7050]: zone localhost.localdomain/IN: loaded serial 0
Aug  8 12:15:20 rechner20 named[7050]: zone localhost/IN: loaded serial 0
Aug  8 12:15:20 rechner20 named[7050]: zone managed-keys.bind/IN/_meta: loaded serial 4
Aug  8 12:15:20 rechner20 named[7050]: running

Lokale DNS-Abfrage

Ob der DNS-Server auch auf DNS-Anfragen auf dem lokalen loopback Interface lauscht bzw. diese Beantwortet, kann mit nachfolgendem Befehl Überprüft werden:

# dig @127.0.0.1 tachtler.net

; <<>> DiG 9.7.0-P2-RedHat-9.7.0-5.P2.el6_0.1 <<>> @127.0.0.1 tachtler.net
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50164
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 0

;; QUESTION SECTION:
;tachtler.net.                  IN      A

;; ANSWER SECTION:
tachtler.net.           3600    IN      A       88.217.171.167

;; AUTHORITY SECTION:
tachtler.net.           172799  IN      NS      server1-ns2.udagdns.net.
tachtler.net.           172799  IN      NS      server1-ns3.udagdns.net.
tachtler.net.           172799  IN      NS      server1-ns1.udagdns.net.

;; Query time: 722 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Aug  8 12:31:07 2011
;; MSG SIZE  rcvd: 132

Interface Überprüfung

Ob und an welchen Interface der DNS-Server „lauscht“, bzw. DNS-Anfragen beantwortet, kann mit nachfolgendem Befehl überprüft werden:

# netstat -tulpen | grep named
tcp        0      0 127.0.0.1:53                0.0.0.0:*                   LISTEN      25         20476      7050/named          
tcp        0      0 127.0.0.1:953               0.0.0.0:*                   LISTEN      25         20479      7050/named          
udp        0      0 127.0.0.1:53                0.0.0.0:*                               25         20475      7050/named

Basis-Konfiguration

Nachfolgende Konfiguration ist eine Beispielkonfiguration, welche auf bestimmte Ansichten und Bedürfnisse zugeschnitten ist. Dies Konfiguration erhebt keinen Anspruch auf Vollständigkeit.

Nachfolgend soll die Konfigurationsdatei

  • /etc/named.conf

angepasst werden und die Konfigurationsdateien

  • /var/named/dynamic/dmz.tachtler.net.zone.db
  • /var/named/dynamic/0.168.192.zone.db
  • /var/named/dynamic/intra.tachtler.net.zone.db
  • /var/named/dynamic/1.168.192.zone.db

erstellt werden

:!: WICHTIG - Nachfolgend wird beschrieben, welche ZIELE die HIER nachstehende Konfigurationsdatei hat bzw. erfüllen soll!!!

Folgende Zielsetzung hat die nachstehende Konfigurationsdatei /etc/named.conf:

  1. Primary Nameserver
  2. für die Zonen
    • dmz.tachtler.net
    • intra.tachtler.net
  3. nicht für die Zone
    • tachtler.net
  4. Namensauflösung forward und reverse
  5. nur für ein internes Netzwerk, keine externen Anfragen zur Beantwortung
  6. Es sollen immer die root-Server für nicht autoritativen Anfragen benutzt werden
  7. Der Einsatz von views, welche aktuell jedoch auf identische Dateien verweisen!
  8. Vorerst noch kein eigenes DNSSEC, nur DNSSEC als resolver!

/etc/named.conf

Die jeweiligen Kommentare erklären die nachfolgend durchgeführten Einstellung (komplette Konfigurationsdatei):

//
// Tachtler - named.conf
//
 
// acl -----------------------------------------------------------------
 
acl primary {
        127.0.0.1/32;
        192.168.0.20/32;
};
 
acl dmz {
        192.168.0.0/24;
};
 
acl intra {
        192.168.1.0/24;
};
 
acl edmz {
        88.217.171.167/32;
};
 
// options -------------------------------------------------------------
 
options {
        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";
        /*
         * With problems while censorship with ISP no forwards will
         * be defined. Asking the root-server!
         *
         * // DNS-Server which will asked when local answers not found.
         * forwarders { 212.18.3.5; 212.18.0.5; };
         * // Route the questions to the Forwarders first, not only.
         * forward first;
         */
        // No notification form this DNS-Server to anyone.
        notify no;
        /*
         * If there is a firewall between you and nameservers you want
         * to talk to, you might need to uncomment the query-source
         * directive below.  Previous versions of BIND always asked
         * questions using port 53, but BIND 8.1 uses an unprivileged
         * port by default.
         */
        query-source address * port *;
        // No answer, when asking for bind-version.
        version "";
        // Accept no old questions and configurations.
        auth-nxdomain no;
        // Allow these HOSTs to ask ordinary DNS questions.     
        allow-query { localhost; dmz; intra; edmz; };
        // Allow these HOSTs to ask recursiv DNS questions.
        allow-recursion { localhost; dmz; intra; edmz; };
        // Local interfaces to listen on
        listen-on port 53 { primary; };
        // Enable zonetransfer to these HOSTs.
        allow-transfer { primary; };
        // Local address for zone transfers.
        transfer-source 192.168.0.20;
        // Warn only, if names not correct, like DKIM for e-mail.
        check-names master warn;
        // Recursion to other nameserver and reslovers.
        recursion yes;
        // Enable zones with no zone files.
        empty-zones-enable yes;
 
        // DNSSEC-Options for dns resolver!
        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;
 
        /* Path to ISC DLV key */
        // TODO
        bindkeys-file "/etc/named.iscdlv.key";
 
        /* Path to dynamic content */
        managed-keys-directory "/var/named/dynamic";
};
 
// logging -------------------------------------------------------------
 
//TODO
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
 
// zones ---------------------------------------------------------------
 
view "localhost" {
 
        // Only following clients can resolv the zone informations.
        match-clients { "localhost"; };
        // Only following destination can resolv the zon informations.
        match-destinations { "localhost"; };
 
        // Recursion to other nameserver and reslovers.
        recursion yes;
 
        /*
         * All view MUST contain the root zone with the worldwide root 
         * server definitions.
         * 
         * Updating the root zone could be done with follwing command:
         * # dig NS . @a.root-servers.net > /var/named/named.ca
         */
        zone "." IN {
                type hint;
                file "named.ca";
        };
 
        /*
         * All view MUST contain the definitions for all the localhost
         * names and addresses, as recommended in RFC1912.
         */
        include "/etc/named.rfc1912.zones";
 
        zone "dmz.tachtler.net" IN {
                type master; 
                file "dynamic/dmz.tachtler.net.zone.db";
                allow-update { none; };
        };
 
        zone "intra.tachtler.net" IN {
                type master; 
                file "dynamic/intra.tachtler.net.zone.db";
                allow-update { none; };
        };
 
        zone "0.168.192.in-addr.arpa" IN {
                type master;
                file "dynamic/0.168.192.zone.db";
                allow-update { none; };
        };
 
        zone "1.168.192.in-addr.arpa" IN {
                type master;
                file "dynamic/1.168.192.zone.db";
                allow-update { none; };
        };
 
};
 
view "dmz" {
 
        // Only following clients can resolv the zone informations.
        match-clients { "dmz"; };
        // Only following destination can resolv the zon informations.
        match-destinations { "dmz"; };
 
        // Recursion to other nameserver and reslovers.
        recursion yes;
 
        /*
         * All view MUST contain the root zone with the worldwide root 
         * server definitions.
         * 
         * Updating the root zone could be done with follwing command:
         * # dig NS . @a.root-servers.net > /var/named/named.ca
         */
        zone "." IN {
                type hint;
                file "named.ca";
        };
 
        /*
         * All view MUST contain the definitions for all the localhost
         * names and addresses, as recommended in RFC1912.
         */
        include "/etc/named.rfc1912.zones";
 
        zone "dmz.tachtler.net" IN {
                type master; 
                file "dynamic/dmz.tachtler.net.zone.db";
                allow-update { none; };
        };
 
        zone "intra.tachtler.net" IN {
                type master; 
                file "dynamic/intra.tachtler.net.zone.db";
                allow-update { none; };
        };
 
        zone "0.168.192.in-addr.arpa" IN {
                type master;
                file "dynamic/0.168.192.zone.db";
                allow-update { none; };
        };
 
        zone "1.168.192.in-addr.arpa" IN {
                type master;
                file "dynamic/1.168.192.zone.db";
                allow-update { none; };
        };
 
};
 
view "intra" {
 
        // Only following clients can resolv the zone informations.
        match-clients { "intra"; };
        // Only following destination can resolv the zon informations.
        match-destinations { "intra"; };
 
        // Recursion to other nameserver and reslovers.
        recursion yes;
 
        /*
         * All view MUST contain the root zone with the worldwide root 
         * server definitions.
         * 
         * Updating the root zone could be done with follwing command:
         * # dig NS . @a.root-servers.net > /var/named/named.ca
         */
        zone "." IN {
                type hint;
                file "named.ca";
        };
 
        /*
         * All view MUST contain the definitions for all the localhost
         * names and addresses, as recommended in RFC1912.
         */
        include "/etc/named.rfc1912.zones";
 
        zone "dmz.tachtler.net" IN {
                type master; 
                file "dynamic/dmz.tachtler.net.zone.db";
                allow-update { none; };
        };
 
        zone "intra.tachtler.net" IN {
                type master; 
                file "dynamic/intra.tachtler.net.zone.db";
                allow-update { none; };
        };
 
        zone "0.168.192.in-addr.arpa" IN {
                type master;
                file "dynamic/0.168.192.zone.db";
                allow-update { none; };
        };
 
        zone "1.168.192.in-addr.arpa" IN {
                type master;
                file "dynamic/1.168.192.zone.db";
                allow-update { none; };
        };
 
};
 
view "edmz" {
 
        // Only following clients can resolv the zone informations.
        match-clients { "edmz"; };
        // Only following destination can resolv the zon informations.
        match-destinations { "edmz"; };
 
        // Recursion to other nameserver and reslovers.
        recursion yes;
 
        /*
         * All view MUST contain the root zone with the worldwide root 
         * server definitions.
         * 
         * Updating the root zone could be done with follwing command:
         * # dig NS . @a.root-servers.net > /var/named/named.ca
         */
        zone "." IN {
                type hint;
                file "named.ca";
        };
 
        /*
         * All view MUST contain the definitions for all the localhost
         * names and addresses, as recommended in RFC1912.
         */
        include "/etc/named.rfc1912.zones";
 
        zone "dmz.tachtler.net" IN {
                type master; 
                file "dynamic/dmz.tachtler.net.zone.db";
                allow-update { none; };
        };
 
        zone "intra.tachtler.net" IN {
                type master; 
                file "dynamic/intra.tachtler.net.zone.db";
                allow-update { none; };
        };
 
        zone "0.168.192.in-addr.arpa" IN {
                type master;
                file "dynamic/0.168.192.zone.db";
                allow-update { none; };
        };
 
        zone "1.168.192.in-addr.arpa" IN {
                type master;
                file "dynamic/1.168.192.zone.db";
                allow-update { none; };
        };
 
};
 
// keys ----------------------------------------------------------------
 
include "/etc/rndc.key";
 
// controls ------------------------------------------------------------
 
controls {
        inet 127.0.0.1 port 953
                allow { primary; } keys { rndc-key; };
};

/var/named/dynamic/dmz.tachtler.net.zone.db

Nachfolgend wir der Inhalt der Zone dmz.tachtler.net - Forward-Namensauflösung dargestellt (komplette Konfigurationsdatei):

$TTL 3H
@                               IN SOA  rechner20       hostmaster.tachtler.net.        (
                                2011080901      ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
 
                                NS      rechner20
 
rechner01                       A       192.168.0.1
 
rechner10                       A       192.168.0.10
rechner20                       A       192.168.0.20
 
ns                              CNAME   rechner20

/var/named/dynamic/0.168.192.zone.db

Nachfolgend wir der Inhalt der Zone 0.168.192.in-addr.arpa - Reverse-Namensauflösung dargestellt (komplette Konfigurationsdatei):

$TTL 3H
@                               IN SOA  rechner20.dmz.tachtler.net.     hostmaster.tachtler.net.        (
                                2011080901      ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
 
                                NS      rechner20.dmz.tachtler.net.
 
1                               PTR     rechner01.dmz.tachtler.net.
 
10                              PTR     rechner10.dmz.tachtler.net.
20                              PTR     rechner20.dmz.tachtler.net.

/var/named/dynamic/intra.tachtler.net.zone.db

Nachfolgend wir der Inhalt der Zone intra.tachtler.net - Forward-Namensauflösung dargestellt (komplette Konfigurationsdatei):

$TTL 3H
@                               IN SOA  rechner20.dmz.tachtler.net.     hostmaster.tachtler.net.        (
                                2011080901      ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
 
                                NS      rechner20.dmz.tachtler.net.
 
rechner01                       A       192.168.1.1
rechner02                       A       192.168.1.2

/var/named/dynamic/1.168.192.zone.db

Nachfolgend wir der Inhalt der Zone 1.168.192.in-addr.arpa - Reverse-Namensauflösung dargestellt (komplette Konfigurationsdatei):

$TTL 3H
@                               IN SOA  rechner20.dmz.tachtler.net.     hostmaster.tachtler.net.        (
                                2011080901      ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
 
                                NS      rechner20.dmz.tachtler.net.
 
1                               PTR     rechner01.intra.tachtler.net.
2                               PTR     rechner02.intra.tachtler.net.

:!: WICHTIG - Nach Anschluss der oben gezeigten Konfigurationen, solle der DNS-Server neu gestartet werden!!!

Neustart Basiskonfiguration

Der Neustart des DNS-Servers, kann mit nachfolgendem Befehl durchführt werden:

# service named restart
Stopping named:                                            [  OK  ]
Starting named:                                            [  OK  ]

Nachfolgende Ausgabe sollte in etwa in der Log-Datei /var/log/messages erscheinen und kann mit nachfolgendem Befehl zur Anzeige gebracht werden (mit der Tastenkombination [Shift/Hochstellen+g] kann bis zum Ende der LOG-Datei gesprungen werden) - (nur relevanter Ausschnitt):

# less /var/log/messages
Aug  9 14:04:10 rechner20 named[4426]: received control channel command 'stop'
Aug  9 14:04:10 rechner20 named[4426]: shutting down: flushing changes
Aug  9 14:04:10 rechner20 named[4426]: stopping command channel on 127.0.0.1#953
Aug  9 14:04:10 rechner20 named[4426]: no longer listening on 127.0.0.1#53
Aug  9 14:04:10 rechner20 named[4426]: no longer listening on 10.0.0.20#53
Aug  9 14:04:10 rechner20 named[4426]: exiting
Aug  9 14:04:10 rechner20 named[4478]: starting BIND 9.7.0-P2-RedHat-9.7.0-5.P2.el6_0.1 -u named -4
Aug  9 14:04:10 rechner20 named[4478]: built with '--build=x86_64-unknown-linux-gnu' '--host=x86_64-unknown-linux-gnu'
'--target=x86_64-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' 
'--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' 
'--libexecdir=/usr/libexec' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' 
'--with-libtool' '--localstatedir=/var' '--enable-threads' '--enable-ipv6' '--with-pic' '--disable-static' 
'--disable-openssl-version-check' '--with-dlz-ldap=yes' '--with-dlz-postgres=yes' '--with-dlz-mysql=yes' 
'--with-dlz-filesystem=yes' '--with-gssapi=yes' '--disable-isc-spnego' 'build_alias=x86_64-unknown-linux-gnu' 
'host_alias=x86_64-unknown-linux-gnu' 'target_alias=x86_64-redhat-linux-gnu' 'CFLAGS= -O2 -g -pipe -Wall -Wp,-D_
FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' 'CPPFLAGS= -DDIG_SIGCHASE'
Aug  9 14:04:10 rechner20 named[4478]: adjusted limit on open files from 1024 to 1048576
Aug  9 14:04:10 rechner20 named[4478]: found 1 CPU, using 1 worker thread
Aug  9 14:04:10 rechner20 named[4478]: using up to 4096 sockets
Aug  9 14:04:10 rechner20 named[4478]: loading configuration from '/etc/named.conf'
Aug  9 14:04:10 rechner20 named[4478]: using default UDP/IPv4 port range: [1024, 65535]
Aug  9 14:04:10 rechner20 named[4478]: using default UDP/IPv6 port range: [1024, 65535]
Aug  9 14:04:10 rechner20 named[4478]: no IPv6 interfaces found
Aug  9 14:04:10 rechner20 named[4478]: listening on IPv4 interface lo, 127.0.0.1#53
Aug  9 14:04:10 rechner20 named[4478]: listening on IPv4 interface eth0, 10.0.0.20#53
Aug  9 14:04:10 rechner20 named[4478]: generating session key for dynamic DNS
Aug  9 14:04:10 rechner20 named[4478]: using built-in trusted-keys for view localhost
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view localhost: 127.IN-ADDR.ARPA
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view localhost: 254.169.IN-ADDR.ARPA
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view localhost: 2.0.192.IN-ADDR.ARPA
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view localhost: 255.255.255.255.IN-ADDR.ARPA
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view localhost: 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view localhost: D.F.IP6.ARPA
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view localhost: 8.E.F.IP6.ARPA
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view localhost: 9.E.F.IP6.ARPA
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view localhost: A.E.F.IP6.ARPA
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view localhost: B.E.F.IP6.ARPA
Aug  9 14:04:10 rechner20 named[4478]: using built-in trusted-keys for view dmz
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view dmz: 127.IN-ADDR.ARPA
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view dmz: 254.169.IN-ADDR.ARPA
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view dmz: 2.0.192.IN-ADDR.ARPA
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view dmz: 255.255.255.255.IN-ADDR.ARPA
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view dmz: 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view dmz: D.F.IP6.ARPA
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view dmz: 8.E.F.IP6.ARPA
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view dmz: 9.E.F.IP6.ARPA
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view dmz: A.E.F.IP6.ARPA
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view dmz: B.E.F.IP6.ARPA
Aug  9 14:04:10 rechner20 named[4478]: using built-in trusted-keys for view intra
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view intra: 127.IN-ADDR.ARPA
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view intra: 254.169.IN-ADDR.ARPA
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view intra: 2.0.192.IN-ADDR.ARPA
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view intra: 255.255.255.255.IN-ADDR.ARPA
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view intra: 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view intra: D.F.IP6.ARPA
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view intra: 8.E.F.IP6.ARPA
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view intra: 9.E.F.IP6.ARPA
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view intra: A.E.F.IP6.ARPA
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view intra: B.E.F.IP6.ARPA
Aug  9 14:04:10 rechner20 named[4478]: using built-in trusted-keys for view edmz
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view edmz: 127.IN-ADDR.ARPA
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view edmz: 254.169.IN-ADDR.ARPA
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view edmz: 2.0.192.IN-ADDR.ARPA
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view edmz: 255.255.255.255.IN-ADDR.ARPA
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view edmz: 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view edmz: D.F.IP6.ARPA
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view edmz: 8.E.F.IP6.ARPA
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view edmz: 9.E.F.IP6.ARPA
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view edmz: A.E.F.IP6.ARPA
Aug  9 14:04:10 rechner20 named[4478]: automatic empty zone: view edmz: B.E.F.IP6.ARPA
Aug  9 14:04:10 rechner20 named[4478]: using built-in trusted-keys for view _meta
Aug  9 14:04:10 rechner20 named[4478]: set up managed-keys.bind meta-zone
Aug  9 14:04:10 rechner20 named[4478]: command channel listening on 127.0.0.1#953
Aug  9 14:04:10 rechner20 named[4478]: the working directory is not writable
Aug  9 14:04:10 rechner20 named[4478]: zone 0.in-addr.arpa/IN/localhost: loaded serial 0
Aug  9 14:04:10 rechner20 named[4478]: zone 0.0.10.in-addr.arpa/IN/localhost: loaded serial 2011080904
Aug  9 14:04:10 rechner20 named[4478]: zone 1.0.10.in-addr.arpa/IN/localhost: loaded serial 2011080902
Aug  9 14:04:10 rechner20 named[4478]: zone 1.0.0.127.in-addr.arpa/IN/localhost: loaded serial 0
Aug  9 14:04:10 rechner20 named[4478]: zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN/localhost: loaded serial 0
Aug  9 14:04:10 rechner20 named[4478]: zone localhost.localdomain/IN/localhost: loaded serial 0
Aug  9 14:04:10 rechner20 named[4478]: zone localhost/IN/localhost: loaded serial 0
Aug  9 14:04:10 rechner20 named[4478]: zone dmz.tachtler.net/IN/localhost: loaded serial 2011080904
Aug  9 14:04:10 rechner20 named[4478]: zone intra.tachtler.net/IN/localhost: loaded serial 2011080902
Aug  9 14:04:10 rechner20 named[4478]: zone 0.in-addr.arpa/IN/dmz: loaded serial 0
Aug  9 14:04:10 rechner20 named[4478]: zone 0.0.10.in-addr.arpa/IN/dmz: loaded serial 2011080904
Aug  9 14:04:10 rechner20 named[4478]: zone 1.0.10.in-addr.arpa/IN/dmz: loaded serial 2011080902
Aug  9 14:04:10 rechner20 named[4478]: zone 1.0.0.127.in-addr.arpa/IN/dmz: loaded serial 0
Aug  9 14:04:10 rechner20 named[4478]: zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN/dmz: loaded serial 0
Aug  9 14:04:10 rechner20 named[4478]: zone localhost.localdomain/IN/dmz: loaded serial 0
Aug  9 14:04:10 rechner20 named[4478]: zone localhost/IN/dmz: loaded serial 0
Aug  9 14:04:10 rechner20 named[4478]: zone dmz.tachtler.net/IN/dmz: loaded serial 2011080904
Aug  9 14:04:10 rechner20 named[4478]: zone intra.tachtler.net/IN/dmz: loaded serial 2011080902
Aug  9 14:04:10 rechner20 named[4478]: zone 0.in-addr.arpa/IN/intra: loaded serial 0
Aug  9 14:04:10 rechner20 named[4478]: zone 0.0.10.in-addr.arpa/IN/intra: loaded serial 2011080904
Aug  9 14:04:10 rechner20 named[4478]: zone 1.0.10.in-addr.arpa/IN/intra: loaded serial 2011080902
Aug  9 14:04:10 rechner20 named[4478]: zone 1.0.0.127.in-addr.arpa/IN/intra: loaded serial 0
Aug  9 14:04:10 rechner20 named[4478]: zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN/intra: loaded serial 0
Aug  9 14:04:10 rechner20 named[4478]: zone localhost.localdomain/IN/intra: loaded serial 0
Aug  9 14:04:10 rechner20 named[4478]: zone localhost/IN/intra: loaded serial 0
Aug  9 14:04:10 rechner20 named[4478]: zone dmz.tachtler.net/IN/intra: loaded serial 2011080904
Aug  9 14:04:10 rechner20 named[4478]: zone intra.tachtler.net/IN/intra: loaded serial 2011080902
Aug  9 14:04:10 rechner20 named[4478]: zone 0.in-addr.arpa/IN/edmz: loaded serial 0
Aug  9 14:04:10 rechner20 named[4478]: zone 0.0.10.in-addr.arpa/IN/edmz: loaded serial 2011080904
Aug  9 14:04:10 rechner20 named[4478]: zone 1.0.10.in-addr.arpa/IN/edmz: loaded serial 2011080902
Aug  9 14:04:10 rechner20 named[4478]: zone 1.0.0.127.in-addr.arpa/IN/edmz: loaded serial 0
Aug  9 14:04:10 rechner20 named[4478]: zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN/edmz: loaded serial 0
Aug  9 14:04:10 rechner20 named[4478]: zone localhost.localdomain/IN/edmz: loaded serial 0
Aug  9 14:04:10 rechner20 named[4478]: zone localhost/IN/edmz: loaded serial 0
Aug  9 14:04:10 rechner20 named[4478]: zone dmz.tachtler.net/IN/edmz: loaded serial 2011080904
Aug  9 14:04:10 rechner20 named[4478]: zone intra.tachtler.net/IN/edmz: loaded serial 2011080902
Aug  9 14:04:10 rechner20 named[4478]: zone managed-keys.bind/IN/_meta: loaded serial 21
Aug  9 14:04:10 rechner20 named[4478]: running

Chroot-Konfiguration

Um den DNS-Server in eine sogenannte chroot-Umgebung zu bringen, ist eine Möglichkeit, die Installation es Paketes

  • bind-chroot

durchzuführen.

Installation

Mit nachfolgender Befehl, kann das Paket bind-chroot installiert werden:

# yum install bind-chroot
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.plusline.de
 * extras: ftp.plusline.de
 * updates: ftp.plusline.de
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package bind-chroot.x86_64 32:9.7.0-5.P2.el6_0.1 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package           Arch         Version                     Repository     Size
================================================================================
Installing:
 bind-chroot       x86_64       32:9.7.0-5.P2.el6_0.1       updates        65 k

Transaction Summary
================================================================================
Install       1 Package(s)
Upgrade       0 Package(s)

Total download size: 65 k
Installed size: 0  
Is this ok [y/N]: y
Downloading Packages:
bind-chroot-9.7.0-5.P2.el6_0.1.x86_64.rpm                |  65 kB     00:00     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : 32:bind-chroot-9.7.0-5.P2.el6_0.1.x86_64                 1/1 

Installed:
  bind-chroot.x86_64 32:9.7.0-5.P2.el6_0.1                                      

Complete!

Mit nachfolgendem Befehl kann überprüft werden, welche Inhalte mit den Paket bind-chroot installiert wurden.

# rpm -qil bind-chroot
Name        : bind-chroot                  Relocations: /var/named/chroot 
Version     : 9.7.0                             Vendor: CentOS
Release     : 5.P2.el6_0.1                  Build Date: Sat 25 Jun 2011 05:48:43 AM CEST
Install Date: Wed 10 Aug 2011 09:19:01 AM CEST      Build Host: c6b6.bsys.dev.centos.org
Group       : System Environment/Daemons    Source RPM: bind-9.7.0-5.P2.el6_0.1.src.rpm
Size        : 0                                License: ISC
Signature   : RSA/8, Wed 06 Jul 2011 03:37:09 AM CEST, Key ID 0946fca2c105b9de
Packager    : CentOS BuildSystem <http://bugs.centos.org>
URL         : http://www.isc.org/products/BIND/
Summary     : A chroot runtime environment for the ISC BIND DNS server, named(8)
Description :
This package contains a tree of files which can be used as a
chroot(2) jail for the named(8) program from the BIND package.
Based on the code from Jan "Yenya" Kasprzak <kas@fi.muni.cz>
/var/named/chroot
/var/named/chroot/dev
/var/named/chroot/dev/null
/var/named/chroot/dev/random
/var/named/chroot/dev/zero
/var/named/chroot/etc
/var/named/chroot/etc/localtime
/var/named/chroot/etc/named
/var/named/chroot/etc/named.conf
/var/named/chroot/etc/pki/dnssec-keys
/var/named/chroot/usr/lib64/bind
/var/named/chroot/var
/var/named/chroot/var/log
/var/named/chroot/var/named
/var/named/chroot/var/run
/var/named/chroot/var/run/named
/var/named/chroot/var/tmp

Konfiguration

Die einzige Konfiguration, welche von Hand nachträglich durchgeführt werden muss, die zum Betrieb einer chroot-Umgebung nötig ist, ist die Konfiguration des SYSLOG-Dienstes/Deamons

  • in CentOS ab der Version 6.0

ist dies

  • rsyslog

Alle Anpassungen in der nachfolgenden Konfigurationsdatei sind durch nachfolgende Zeichenkette gekennzeichnet:

# Tachtler

Die nachfolgende Konfigurationsdatei

  • /etc/rsyslog.conf

muss wie nachfolgend dargestellt, erweitert werden (nur relevanter Ausschnitt):

#rsyslog v3 config file
 
# if you experience problems, check
# http://www.rsyslog.com/troubleshoot for assistance
 
#### MODULES ####
 
$ModLoad imuxsock.so    # provides support for local system logging (e.g. via logger command)
$ModLoad imklog.so      # provides kernel logging support (previously done by rklogd)
#$ModLoad immark.so     # provides --MARK-- message capability
 
# Provides UDP syslog reception
#$ModLoad imudp.so
#$UDPServerRun 514
 
# Provides TCP syslog reception
#$ModLoad imtcp.so  
#$InputTCPServerRun 514
 
 
#### GLOBAL DIRECTIVES ####
 
# Use default timestamp format
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
 
# File syncing capability is disabled by default. This feature is usually not required, 
# not useful and an extreme performance hit
#$ActionFileEnableSync on
 
# Tachtler
$AddUnixListenSocket /var/named/chroot/dev/log
 
#### RULES ####
...

:!: WICHTIG - Um die voranstehenden Änderungen wirksam werden zu lassen, ist ein Neustart des SYSLOG-Dienstes/Daemons - rsyslog notwendig!!!

Ein Neustart des SYSLOG-Dienstes/Daemons kann durch nachfolgenden Befehl ausgeführt werden:

# service rsyslog restart
Shutting down system logger:                               [  OK  ]
Starting system logger:                                    [  OK  ]

:!: WICHTIG - Es sind KEINE weiteren Konfiguration explizit für eine chroot-Umgebung erforderlich !!!

Nachfolgend soll jedoch kurz erläutert werden, was für Konfigurationen durch die Installation des Paketes bind-chroot automatisch durchgeführt worden sind.

/etc/sysconfig/named

Durch die Installation des Paketes bind-chroot, wurde die Konfigurationsdatei /etc/sysconfig/named um die nachfolgende Zeile erweitert (nur relevanter Ausschnitt):

...
ROOTDIR=/var/named/chroot

Mount-Points

Das Geheimnis, wie unter CentOS in der Version 6.0 eine chroot-Umgebung realisiert wurde, liegt in der Art und Weise, wie bestehenden Konfigurationen unter z.B. /var/named oder auch die t.B. Konfigurationsdateien /etc/named.conf in die chroot-Umgebung verschoben werden.

Es wird mit dem Befehl mount und der Befehls-Option –bind das „mounten“ in die chroot-Umgebung realisiert. Nachfolgende Abfrage verdeutlicht die zusätzlichen Mount-Point, welche im Start-Script - /etc/init.d/named hinterlegt sind.

# df -ah | tail -n 9
/etc/named            5.3G  857M  4.2G  17% /var/named/chroot/etc/named
/var/named            5.3G  857M  4.2G  17% /var/named/chroot/var/named
/etc/named.conf       5.3G  857M  4.2G  17% /var/named/chroot/etc/named.conf
/etc/named.rfc1912.zones
                      5.3G  857M  4.2G  17% /var/named/chroot/etc/named.rfc1912.zones
/etc/rndc.key         5.3G  857M  4.2G  17% /var/named/chroot/etc/rndc.key
/usr/lib64/bind       5.3G  857M  4.2G  17% /var/named/chroot/usr/lib64/bind
/etc/named.iscdlv.key
                      5.3G  857M  4.2G  17% /var/named/chroot/etc/named.iscdlv.key

:!: HINWEIS - Es wird beim Starten des named-Dienstes/Daemons das „mounten“ der Mount-Points durchgeführt!

:!: HINWEIS - Beim Stoppen des named-Dienstes/Daemons, werden die Mount-Points wieder „unmounted“!

Neustart Chroot-Konfiguration

Der Neustart des DNS-Servers, kann mit nachfolgendem Befehl durchführt werden:

# service named restart
Stopping named:                                            [  OK  ]
Starting named:                                            [  OK  ]

:!: HINWEIS - Es wird beim starten NICHT protokolliert, dass in eine chroot-Umgebung gestartet wird!!!

Nachfolger Befehl, zeigt durch Abfrage des Prozess-Status des named-Dienstes/Daemons an, das dieser in einer chroot-Umgebung gestartet wurden, was in der zweiten Zeile nachfolgender Ausgabe an dem Startzusatz

  • -t /var/named/chroot

zu erkennen ist:

# ps auxwwwf | grep named
root      2317  0.0  0.1 103148   828 pts/0    S+   09:54   0:00                      \_ grep named
named     2127  0.0  4.2 163408 21588 ?        Ssl  09:26   0:00 /usr/sbin/named -u named -4 -t /var/named/chroot

Nützlich Befehle

Nachfolgend befindet sich eine Liste mit nützlichen Befehlen rund um DNS- und die DNS-Server-Verwaltung. Die Liste erhebt keinen Anspruch auf Vollständigkeit:

DNS-Server Konfigurationsdatei auf Fehler überprüfen:

# /usr/sbin/named-checkconf /etc/named.conf

:!: HINWEIS - Der Parameter /etc/named.conf kann weggelassen werden, ist die „default“ Konfigurationsdatei!!!

DNS-Server Konfigurationsdatei auf Fehler überprüfen - alt: in chroot-Umgebung:

# /usr/sbin/named-checkconf -t /var/named/chroot /etc/named.conf

DNS-Server Konfigurationsdatei auf Fehler überprüfen - und Ausgabe der Konfigurationsdatei, mit „includes“ und ohne Kommentare:

# /usr/sbin/named-checkconf -p /etc/named.conf

DNS-Server Zonenkonfigurationsdatei auf Fehler überprüfen:

# named-checkzone dmz.tachtler.net /var/named/dynamic/dmz.tachtler.net.zone.db

DNS-Server alle Zonenkonfigurationsdateien neu einlesen, ohne den DNS-Server neu starten zu müssen:

# rndc reload

Neue Zonendatei für hint - root-Nameserver holen und abspeichern:

# dig NS . @a.root-servers.net > /var/named/named.ca

Version des Verwendeten DNS-Servers abfragen (bind):

# dig txt chaos version.bind.

Auflisten aller DNS-Einträge einer Zone - hier z.B. tachtler.net:

# dig axfr tachtler.net

Logging für jede Anfrage einschalten und ausschalten:

# rndc querylog

:!: HINWEIS Es kann nach dem einschalten ein tail -f /var/named/data/named.run durchgeführt werden, um jede Abfrage zu sehen!

Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information
tachtler/dns_isc_bind_centos_6.txt · Zuletzt geändert: 2014/10/19 22:28 von klaus