## Intro - Ziel: Schreibe eine detailierte Anleitung, welche es moeglich die DNS Eintraege von bind zu aendern ohne den Server kaputt zu machen. - Motivation: Die bind Konfiguration wurde versehentlich erfolgreich zerstoert, was dazu fuehrte, dass der bind Server nicht mehr funktionierte. ## Receipt Um Aenderungen am bind9 Server beim BVV durchzufuehren muss der Syntax von bind beachtet werden. Bei Fehlern kann es sein, dass die ganze DNS Aufloesung nicht mehr funktioniert. ### Einfuehrung Alle Konfigurationsdateien fuer bind liegen im Ordner `/etc/bind/` am ns2 Server. Die Hauptkonfigurationsdatei fuer bind ist hierbei `/etc/bind/named.conf` von der Alles ausgeht. `named` ist herbei der Dienst zu `bind` zugehoerige Dienst, welcher im Hintergrund laueft; der Status der `named`-Dienstes kann geprueft werden mit: `systemctl status named`. Saemtliche Zonen fuer die von diesem `bind` Server verwalteten Domaenen sind in der Datei `/etc/bind/named.conf.local` hinterlegt; die zugehoerige Datei fuer jede Domaene wo die DNS Eintrage gesetzt werden sind hier in der Datei `/etc/bind/named.conf.local` definiert unter der Variablen `file`. Unter der hier genutzten Strukturierung sind die DNS Eintraege hinterlegt in den Dateien `/etc/bind/db..`. Zum Beispiel die DNS Eintraege fuer die Domaene `vhs-bayern.de` liegt in der Datei `/etc/bind/db.de.vhs-bayern`. ### Aenderungen der DNS Eintraege Um die DNS Eintraege einer bestimmten Domaene zu aendern, muss die jeweilige Zonen Datei geoeffnet werden; zum Beispiel `/etc/bind/db.de.vhs-bayern.de` fuer die Domaene `vhs-bayern.de`: ```conf $ORIGIN vhs-bayern.de. $TTL 60 @ IN SOA ns1.vhs-bayern.de. hostmaster.vhs-bayern.de. ( 2024121702 ; serial number (yyyymmddxx) 14400 ; refresh every 4 hours 14400 ; retry after 4 hours 604800 ; expire after 7 days 43200) ; default ttl is 12 hours IN A 49.13.175.195 ; old: 144.76.93.148 IN NS ns1.vhs-bayern.de. IN NS ns1.m-online.net. IN NS ns2.m-online.net. ;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Local Host Address ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;; localhost IN A 127.0.0.1 ;;;;;;;;;;;;;;;;;;;; ;;; NS Eintraege ;;; ;;;;;;;;;;;;;;;;;;;; newsletter.vhs-bayern.de. 1800 IN NS ns0.isprit2.de. newsletter.vhs-bayern.de. 1800 IN NS ns1.isprit2.de. ;;;;;;;;;;;;;;;;;;;; ;;; MX Eintraege ;;; ;;;;;;;;;;;;;;;;;;;; listserver.vhs-bayern.de. IN MX 10 listserver.vhs-bayern.de. ;;;vhs-bayern.de. IN MX 10 mx01.vhs-bayern.de. ns1.vhs-bayern.de. IN MX 10 mx01.vhs-bayern.de. intmx IN MX 10 domino intmx IN MX 20 domino2 mailtest.vhs-bayern.de. 60 IN MX 10 mailtest vhs-bayern.de. IN MX 0 vhsbayern-de0i.mail.protection.outlook.com. ;;;;;;;;;;;;;;;;;;;;; ;;; TXT Eintraege ;;; ;;;;;;;;;;;;;;;;;;;;; ;;vhs-bayern.de. 60 IN TXT "v=spf1 a mx ip4:62.245.128.64/27 ip4:62.245.128.96/27 include:spf.protection.outlook.com -all" vhs-bayern.de. 60 IN TXT "v=spf1 a mx ip4:20.50.178.65/32 ip4:62.245.128.64/27 ip4:62.245.128.96/27 include:spf.protection.outlook.com -all" vhs-bayern.de. 3600 IN TXT "MS=ms64478158" ;_dnsauth.vhs-bayern.de. 300 IN TXT "2024021509350769xvfne3rv45zuft4zpkil5d67tbpvkvnjlfei3862b34yrbsj" _dnsauth.vhs-bayern.de. 300 IN TXT "202411121019550lyjgntwd5v35uvf533roxftuvkf9hbv20okc4g3xt0umpn6p8" _dnsauth.www.vhs-bayern.de. 300 IN TXT "202411121019550lyjgntwd5v35uvf533roxftuvkf9hbv20okc4g3xt0umpn6p8" ;;;;;;;;;;;;;;;;;;;;;;; ;;; CNAME Eintraege ;;; ;;;;;;;;;;;;;;;;;;;;;;; autodiscover CNAME autodiscover.outlook.com. selector1._domainkey CNAME selector1-vhsbayern-de0i._domainkey.bvv1.onmicrosoft.com. selector2._domainkey CNAME selector2-vhsbayern-de0i._domainkey.bvv1.onmicrosoft.com. ;;;;;;;;;;;;;;;;;;; ;;; A Eintraege ;;; ;;;;;;;;;;;;;;;;;;; mx01 IN A 62.245.128.92 rproxy2 IN A 62.245.128.84 mail-gw1 IN A 62.245.128.85 ;analytics IN A 62.245.128.69 domino IN A 192.168.1.108 domino2 IN A 192.168.1.109 ;2009 IN A 62.245.128.90 deaktiviert 17.12.2024 ;rproxy IN A 62.245.128.65 ;eportfolio IN A 62.245.128.75 ;ksc IN A 62.245.128.71 ;ksc2 IN A 62.245.128.71 ;portal1 IN A 192.168.1.117 ;portal2 IN A 192.168.1.118 ;db2portal IN A 192.168.1.119 deaktiviert 17.12.2024 ;ntp IN A 192.168.1.110 deaktiviert 17.12.2024 ;ntp IN A 192.168.1.130 deaktiviert 17.12.2024 ns1 IN A 62.245.128.66 vpn IN A 62.245.128.125 ;ol3 IN A 62.245.128.89 deaktiviert 17.12.2024 ;icsdb2 IN A 192.168.1.131 deaktiviert 17.12.2024 ;ics1 IN A 192.168.1.132 ;ics2 IN A 192.168.1.133 icsweb1 IN A 62.245.128.70 ;Staecker fragen mailtest 60 IN A 62.245.128.94 ;? ;ttwportal 60 IN A 144.76.93.148 deaktiviert 17.12.2024 ;www.ttwportal 60 IN A 144.76.93.148 deaktiviert 17.12.2024 www 60 IN A 49.13.175.195 ;Neuer Provider old: 144.76.93.148 production IN A 49.13.175.195 ;Neuer Provider 4motion testing IN A 49.13.175.195 ;Neuer provider 4motion analytics IN A 49.13.175.195 ;Neuer Provider 4motion ``` **Wichtig zu beachten hier ist, dass bei jeder Aenderung einer dieser Zonendateien die Seriennummer (ganz oben in der Datei im ersten DNS Eintrag) *erhoeht* werden muss. Egal um welchen Wert; die Seriennummer muss nur groesser sein, als die vorherige! Uebliches Schema ist das heutige Datum mit einer nachgestellten Zaehlung fuer jede Aenderung des Tages; zum Bespiel: 2025032401. Ohne diesen Schritt wuerde der Dienst Fehlermeldungen ausgeben und nicht mehr funktionieren.** Sagen wir fuegen der obigen Datei einen DNS-Eintrag: `test IN A ` ein. Damit dieser wirksam wird muss die Seriennummer im ersten DNS Eintrag erhoeht werden: ```conf $ORIGIN vhs-bayern.de. $TTL 60 @ IN SOA ns1.vhs-bayern.de. hostmaster.vhs-bayern.de. ( --------> 2025032401 ; serial number (yyyymmddxx) <--------------- 14400 ; refresh every 4 hours 14400 ; retry after 4 hours 604800 ; expire after 7 days 43200) ; default ttl is 12 hours IN A 49.13.175.195 ; old: 144.76.93.148 IN NS ns1.vhs-bayern.de. IN NS ns1.m-online.net. IN NS ns2.m-online.net. ``` Nachdem die Anpassung durchgefuehrt wurde sollten zu Sicherheit die Konfigurationsdateien auf Richtigkeit geprueft werden: 1. Pruefe die Konfiguration der 'Master'-Datei: `named-checkconf /etc/bind/named.conf`. Keine Ausgabe bedeutet: Alles gut! 2. Pruefe die Zonendatei mit: `named-checkzone vhs-bayern.de /etc/bind/db.de.vhs-bayern`: ```sh root@ns2:/etc/bind# named-checkzone vhs-bayern.de db.de.vhs-bayern zone vhs-bayern.de/IN: loaded serial 2024121702 OK ``` Der Befehl zeigt auch die aktuelle Seriennummer der Zone an! 3. Sofern es bei den zwei vorherigen Schritten keine Fehlermeldungen gab, kann der `named`-Dienst neugestartet werden mit: `systemctl restart named` 4. Pruefe noch den Status den `named`-Dienstes mit `systemctl status named`. Wenn es keine Fehler gibt sollte der neu hinzugefuegt Eintrag funktionieren.