Inhaltsverzeichnis
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:
installiert werden.
Um DNS-Abfragen gegen den DNS-Server durchführen zu können, kann das Paket
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
:
- Primary Nameserver
- für die Zonen
- dmz.tachtler.net
- intra.tachtler.net
- nicht für die Zone
- tachtler.net
- Namensauflösung forward und reverse
- nur für ein internes Netzwerk, keine externen Anfragen zur Beantwortung
- Es sollen immer die root-Server für nicht autoritativen Anfragen benutzt werden
- Der Einsatz von views, welche aktuell jedoch auf identische Dateien verweisen!
- 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!