<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.ixheim.de/index.php?action=history&amp;feed=atom&amp;title=Rocky_ns</id>
	<title>Rocky ns - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ixheim.de/index.php?action=history&amp;feed=atom&amp;title=Rocky_ns"/>
	<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Rocky_ns&amp;action=history"/>
	<updated>2026-06-28T20:31:39Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Xinux Wiki</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Rocky_ns&amp;diff=70257&amp;oldid=prev</id>
		<title>Thomas.will: Die Seite wurde neu angelegt: „= DNS – BIND9 auf Rocky Linux =  Der Nameserver übernimmt im Labor die Namensauflösung für die gesamte Infrastruktur. Er läuft in der DMZ und ist sowohl…“</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Rocky_ns&amp;diff=70257&amp;oldid=prev"/>
		<updated>2026-05-20T06:03:19Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „= DNS – BIND9 auf Rocky Linux =  Der Nameserver übernimmt im Labor die Namensauflösung für die gesamte Infrastruktur. Er läuft in der DMZ und ist sowohl…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= DNS – BIND9 auf Rocky Linux =&lt;br /&gt;
&lt;br /&gt;
Der Nameserver übernimmt im Labor die Namensauflösung für die gesamte Infrastruktur. Er läuft in der DMZ und ist sowohl aus dem LAN als auch aus dem WAN erreichbar. Rekursive Anfragen – also Anfragen nach Domains die er nicht selbst kennt – leitet er an den Forwarder im Schulungsnetz weiter.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
* dnf install -y bind bind-utils&lt;br /&gt;
&lt;br /&gt;
== Dienst steuern ==&lt;br /&gt;
* systemctl enable --now named&lt;br /&gt;
* systemctl restart named&lt;br /&gt;
* systemctl status named&lt;br /&gt;
&lt;br /&gt;
= Konfiguration =&lt;br /&gt;
&lt;br /&gt;
== /etc/named.conf ==&lt;br /&gt;
;Die zentrale Konfigurationsdatei steuert das Verhalten des Nameservers: auf welchen Interfaces er lauscht, wer ihn befragen darf und welche Zonen er kennt.&lt;br /&gt;
* vi /etc/named.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
options {&lt;br /&gt;
        listen-on port 53 { any; };&lt;br /&gt;
        listen-on-v6 port 53 { none; };&lt;br /&gt;
        forwarders      { 192.168.HS.88; };&lt;br /&gt;
        directory       &amp;quot;/var/named&amp;quot;;&lt;br /&gt;
        dump-file       &amp;quot;/var/named/data/cache_dump.db&amp;quot;;&lt;br /&gt;
        statistics-file &amp;quot;/var/named/data/named_stats.txt&amp;quot;;&lt;br /&gt;
        memstatistics-file &amp;quot;/var/named/data/named_mem_stats.txt&amp;quot;;&lt;br /&gt;
        secroots-file   &amp;quot;/var/named/data/named.secroots&amp;quot;;&lt;br /&gt;
        recursing-file  &amp;quot;/var/named/data/named.recursing&amp;quot;;&lt;br /&gt;
        allow-query     { any; };&lt;br /&gt;
        allow-recursion { 10.88.2XX.0/24; 172.26.2XX.0/24; 127.0.0.1; };&lt;br /&gt;
        allow-transfer  { 127.0.0.1; };&lt;br /&gt;
        dnssec-validation no;&lt;br /&gt;
        managed-keys-directory &amp;quot;/var/named/dynamic&amp;quot;;&lt;br /&gt;
        geoip-directory &amp;quot;/usr/share/GeoIP&amp;quot;;&lt;br /&gt;
        pid-file &amp;quot;/run/named/named.pid&amp;quot;;&lt;br /&gt;
        session-keyfile &amp;quot;/run/named/session.key&amp;quot;;&lt;br /&gt;
        include &amp;quot;/etc/crypto-policies/back-ends/bind.config&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
logging {&lt;br /&gt;
        channel default_debug {&lt;br /&gt;
                file &amp;quot;data/named.run&amp;quot;;&lt;br /&gt;
                severity dynamic;&lt;br /&gt;
        };&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;.&amp;quot; IN {&lt;br /&gt;
        type hint;&lt;br /&gt;
        file &amp;quot;named.ca&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
include &amp;quot;/etc/named.rfc1912.zones&amp;quot;;&lt;br /&gt;
include &amp;quot;/etc/named.root.key&amp;quot;;&lt;br /&gt;
include &amp;quot;/etc/named.conf.local&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Erklärungen ===&lt;br /&gt;
;listen-on port 53 { any; };&lt;br /&gt;
:Der Nameserver lauscht auf allen Interfaces – so ist er sowohl aus der DMZ als auch von außen erreichbar.&lt;br /&gt;
;forwarders { 192.168.HS.88; };&lt;br /&gt;
:Anfragen die der Server nicht selbst beantworten kann werden an den Forwarder im Schulungsnetz weitergegeben.&lt;br /&gt;
;allow-query { any; };&lt;br /&gt;
:Jeder darf den Nameserver nach seinen Zonen befragen – er ist öffentlich erreichbar.&lt;br /&gt;
;allow-recursion { 10.88.2XX.0/24; 172.26.2XX.0/24; 127.0.0.1; };&lt;br /&gt;
:Nur interne Netze dürfen rekursive Anfragen stellen – verhindert dass der Server als offener Resolver missbraucht wird.&lt;br /&gt;
;allow-transfer { 127.0.0.1; };&lt;br /&gt;
:Zonentransfers (AXFR) sind nur lokal erlaubt – kein Secondary DNS im Labor.&lt;br /&gt;
;dnssec-validation no;&lt;br /&gt;
:DNSSEC-Validierung ist deaktiviert – vereinfacht den Laborbetrieb.&lt;br /&gt;
&lt;br /&gt;
== /etc/named.conf.local ==&lt;br /&gt;
;Eigene Zonen werden nicht in named.conf eingetragen sondern in einer separaten Datei – übersichtlicher und leichter zu warten.&lt;br /&gt;
* vi /etc/named.conf.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zone &amp;quot;it2XX.int&amp;quot; {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;it2XX.int&amp;quot;;&lt;br /&gt;
        };&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;2XX.88.10.in-addr.arpa&amp;quot; {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;2XX.88.10.in-addr.arpa&amp;quot;;&lt;br /&gt;
        };&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration prüfen ===&lt;br /&gt;
;Syntaxfehler in named.conf werden damit gefunden bevor named neu gestartet wird&lt;br /&gt;
* named-checkconf&lt;br /&gt;
&lt;br /&gt;
= Zonendateien =&lt;br /&gt;
&lt;br /&gt;
Die Zonendateien liegen unter &amp;lt;code&amp;gt;/var/named/&amp;lt;/code&amp;gt;. SELinux erwartet sie dort – andere Pfade führen zu Berechtigungsfehlern.&lt;br /&gt;
&lt;br /&gt;
== Forward-Zone ==&lt;br /&gt;
;Die Forward-Zone löst Hostnamen in IP-Adressen auf.&lt;br /&gt;
* vi /var/named/it2XX.int&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$TTL 86400      ; 1 Tag&lt;br /&gt;
@                       IN SOA  ns.it2XX.int. technik.it2XX.int. (&lt;br /&gt;
                               2025062501 ; serial&lt;br /&gt;
                               14400      ; refresh (4 hours)&lt;br /&gt;
                               3600       ; retry (1 hour)&lt;br /&gt;
                               3600000    ; expire (5 weeks 6 days 16 hours)&lt;br /&gt;
                               300        ; minimum (5 min)&lt;br /&gt;
                               )&lt;br /&gt;
                        NS      ns.it2XX.int.&lt;br /&gt;
&lt;br /&gt;
fw                      IN      A       10.88.2XX.1&lt;br /&gt;
ns                      IN      A       10.88.2XX.21&lt;br /&gt;
www                     IN      A       10.88.2XX.11&lt;br /&gt;
ldap                    IN      A       10.88.2XX.31&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Check ===&lt;br /&gt;
* named-checkzone it2XX.int /var/named/it2XX.int&lt;br /&gt;
 zone it2XX.int/IN: loaded serial 2025062501&lt;br /&gt;
 OK&lt;br /&gt;
&lt;br /&gt;
== Reverse-Zone ==&lt;br /&gt;
;Die Reverse-Zone löst IP-Adressen in Hostnamen auf – wird z.B. von SSH und Logging-Diensten verwendet.&lt;br /&gt;
* vi /var/named/2XX.88.10.in-addr.arpa&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$TTL 86400&lt;br /&gt;
@                       IN SOA  ns.it2XX.int. technik.it2XX.int. (&lt;br /&gt;
                               2025062501 ; serial&lt;br /&gt;
                               14400      ; refresh (4 hours)&lt;br /&gt;
                               3600       ; retry (1 hour)&lt;br /&gt;
                               3600000    ; expire (5 weeks 6 days 16 hours)&lt;br /&gt;
                               300        ; minimum (5 min)&lt;br /&gt;
                               )&lt;br /&gt;
                        NS      ns.it2XX.int.&lt;br /&gt;
&lt;br /&gt;
1                       IN      PTR     fw.it2XX.int.&lt;br /&gt;
21                      IN      PTR     ns.it2XX.int.&lt;br /&gt;
11                      IN      PTR     www.it2XX.int.&lt;br /&gt;
31                      IN      PTR     ldap.it2XX.int.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Check ===&lt;br /&gt;
* named-checkzone 2XX.88.10.in-addr.arpa /var/named/2XX.88.10.in-addr.arpa&lt;br /&gt;
 zone 2XX.88.10.in-addr.arpa/IN: loaded serial 2025062501&lt;br /&gt;
 OK&lt;br /&gt;
&lt;br /&gt;
= Firewall =&lt;br /&gt;
;DNS muss auf dem ns-Server selbst freigegeben werden&lt;br /&gt;
* firewall-cmd --permanent --zone=public --add-service=dns&lt;br /&gt;
* firewall-cmd --reload&lt;br /&gt;
&lt;br /&gt;
= Neustart =&lt;br /&gt;
* systemctl restart named&lt;br /&gt;
&lt;br /&gt;
= Finaler Check =&lt;br /&gt;
;Forward-Zone&lt;br /&gt;
* dig @127.0.0.1 it2XX.int -t axfr&lt;br /&gt;
;Reverse-Zone&lt;br /&gt;
* dig @127.0.0.1 2XX.88.10.in-addr.arpa -t axfr&lt;br /&gt;
;Einzelne Einträge testen&lt;br /&gt;
* dig @127.0.0.1 www.it2XX.int&lt;br /&gt;
* dig @127.0.0.1 -x 10.88.2XX.11&lt;br /&gt;
&lt;br /&gt;
= Resolver auf dem ns-Server setzen =&lt;br /&gt;
* vi /etc/resolv.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nameserver 127.0.0.1&lt;br /&gt;
search it2XX.int&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Logs =&lt;br /&gt;
;Laufende Logs&lt;br /&gt;
* journalctl -fu named&lt;br /&gt;
;Letzte 20 Zeilen&lt;br /&gt;
* journalctl -n 20 -u named&lt;br /&gt;
&lt;br /&gt;
= Ports prüfen =&lt;br /&gt;
* ss -lntpu | grep named&lt;/div&gt;</summary>
		<author><name>Thomas.will</name></author>
	</entry>
</feed>