Rocky ns
Installation
DATEN
| Parameter | Wert | Erläuterung |
|---|---|---|
| Disk | 20GB | Vorgabe übernehmen |
| CPU | 4 Cores | Kerne |
| Ram | 4 GB | Speicher |
| Netzwerk (NIC) | DMZ | Interface-Zuweisung in VirtualBox |
| Admin | root | Passwort: radler |
| User | kit | Passwort: kit |
| IP | 10.88.2XX.21/24 | Statische IP |
| CIDR | 24 | Classless Inter-Domain Routing Präfixlänge |
| GW | 10.88.2XX.1 | GATEWAY |
| NS | 192.168.HS.88 | Resolver |
| FQDN | ns.it2XX.int | Fully Qualified Domain Name |
| DOM | it2XX.int | Domain Name |
Hostname
- hostnamectl set-hostname FQDN
Netzwerk
- nmcli con mod enp0s3 ipv4.addresses IP/CIDR
- nmcli con mod enp0s3 ipv4.gateway GW
- nmcli con mod enp0s3 ipv4.dns NS
- nmcli con mod enp0s3 ipv4.method manual
- nmcli con mod enp0s3 ipv4.dns-search DOM
- nmcli con mod enp0s3 connection.autoconnect yes
- nmcli con up enp0s3
Hintergrund
- Die Verbindungen findet ihr hier
- DIR: /etc/NetworkManager/system-connections/
- In unserem Fall
- cat /etc/NetworkManager/system-connections/enp0s3.nmconnection
[connection] id=enp0s3 uuid=40ff96e5-0c0d-31de-9bf0-f75da265425b type=ethernet autoconnect-priority=-999 interface-name=enp0s3 timestamp=1784278716 [ethernet] [ipv4] address1=192.168.3.127/24 dns=192.168.20.1; dns-search=it.int; gateway=192.168.3.254 method=manual [ipv6] addr-gen-mode=eui64 method=auto [proxy]
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 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.
Installation
- dnf install -y bind bind-utils
Dienst steuern
- systemctl enable --now named
- systemctl restart named
- systemctl status named
Konfiguration
/etc/named.conf
- Die zentrale Konfigurationsdatei steuert das Verhalten des Nameservers
- auf welchen Interfaces er lauscht, wer ihn befragen darf und welche Zonen er kennt.
- vi /etc/named.conf
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { none; };
forwarders { 192.168.HS.88; };
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";
secroots-file "/var/named/data/named.secroots";
recursing-file "/var/named/data/named.recursing";
allow-query { any; };
allow-recursion { 10.88.2XX.0/24; 172.26.2XX.0/24; 127.0.0.1; };
allow-transfer { 127.0.0.1; };
dnssec-validation no;
managed-keys-directory "/var/named/dynamic";
geoip-directory "/usr/share/GeoIP";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
include "/etc/crypto-policies/back-ends/bind.config";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
include "/etc/named.conf.local";
Erklärungen
- listen-on port 53 { any; };
- Der Nameserver lauscht auf allen Interfaces – so ist er sowohl aus der DMZ als auch von außen erreichbar.
- forwarders { 192.168.HS.88; };
- Anfragen die der Server nicht selbst beantworten kann werden an den Forwarder im Schulungsnetz weitergegeben.
- allow-query { any; };
- Jeder darf den Nameserver nach seinen Zonen befragen – er ist öffentlich erreichbar.
- allow-recursion { 10.88.2XX.0/24; 172.26.2XX.0/24; 127.0.0.1; };
- Nur interne Netze dürfen rekursive Anfragen stellen – verhindert dass der Server als offener Resolver missbraucht wird.
- allow-transfer { 127.0.0.1; };
- Zonentransfers (AXFR) sind nur lokal erlaubt – kein Secondary DNS im Labor.
- dnssec-validation no;
- DNSSEC-Validierung ist deaktiviert – vereinfacht den Laborbetrieb.
/etc/named.conf.local
- Eigene Zonen werden nicht in named.conf eingetragen sondern in einer separaten Datei – übersichtlicher und leichter zu warten.
- vi /etc/named.conf.local
zone "it2XX.int" {
type master;
file "it2XX.int";
};
zone "2XX.88.10.in-addr.arpa" {
type master;
file "2XX.88.10.in-addr.arpa";
};
Konfiguration prüfen
- Syntaxfehler in named.conf werden damit gefunden bevor named neu gestartet wird
- named-checkconf
Zonendateien
Die Zonendateien liegen unter /var/named/. SELinux erwartet sie dort – andere Pfade führen zu Berechtigungsfehlern.
Forward-Zone
- Die Forward-Zone löst Hostnamen in IP-Adressen auf.
- vi /var/named/it2XX.int
$TTL 86400 ; 1 Tag
@ IN SOA ns.it2XX.int. technik.it2XX.int. (
2025062501 ; serial
14400 ; refresh (4 hours)
3600 ; retry (1 hour)
3600000 ; expire (5 weeks 6 days 16 hours)
300 ; minimum (5 min)
)
NS ns.it2XX.int.
fw IN A 10.88.2XX.1
ns IN A 10.88.2XX.21
www IN A 10.88.2XX.11
ldap IN A 10.88.2XX.31
contain IN A 10.88.2XX.39
Check
- named-checkzone it2XX.int /var/named/it2XX.int
zone it2XX.int/IN: loaded serial 2025062501 OK
Reverse-Zone
- Die Reverse-Zone löst IP-Adressen in Hostnamen auf – wird z.B. von SSH und Logging-Diensten verwendet.
- vi /var/named/2XX.88.10.in-addr.arpa
$TTL 86400
@ IN SOA ns.it2XX.int. technik.it2XX.int. (
2025062501 ; serial
14400 ; refresh (4 hours)
3600 ; retry (1 hour)
3600000 ; expire (5 weeks 6 days 16 hours)
300 ; minimum (5 min)
)
NS ns.it2XX.int.
1 IN PTR fw.it2XX.int.
21 IN PTR ns.it2XX.int.
11 IN PTR www.it2XX.int.
31 IN PTR ldap.it2XX.int.
39 IN PTR container.it2XX.int.
Check
- named-checkzone 2XX.88.10.in-addr.arpa /var/named/2XX.88.10.in-addr.arpa
zone 2XX.88.10.in-addr.arpa/IN: loaded serial 2025062501 OK
Firewall
- DNS muss auf dem ns-Server selbst freigegeben werden
- firewall-cmd --permanent --zone=public --add-service=dns
- firewall-cmd --reload
Neustart
- systemctl restart named
Finaler Check
- Forward-Zone
- dig @127.0.0.1 it2XX.int -t axfr
- Reverse-Zone
- dig @127.0.0.1 2XX.88.10.in-addr.arpa -t axfr
- Einzelne Einträge testen
- dig @127.0.0.1 www.it2XX.int
- dig @127.0.0.1 -x 10.88.2XX.11
Resolver auf dem ns-Server setzen
- nmcli con mod enp0s3 ipv4.dns 127.0.0.1
- nmcli con mod enp0s3 ipv4.dns-search it2XX.int
- nmcli con up enp0s3
Logs
- Laufende Logs
- journalctl -fu named
- Letzte 20 Zeilen
- journalctl -n 20 -u named
Ports prüfen
- ss -lntpu | grep named
Auf der Firewall auch den Nameserver umstellen
- nmcli con mod enp0s3 ipv4.dns 10.88.2XX.21
- nmcli con mod enp0s3 ipv4.dns-search it2XX.int
- nmcli con up enp0s3