Wir die neue DNS-VM fuer **Technitium DNS** mit diesen Werten: - **VM-ID:** `111` - **IP:** `10.100.20.55` - **VLAN:** `20` - **RAM:** `2 GB` - **vCPU:** `2` - **Disk:** `16 GB` - **Dienst:** Technitium DNS - **Host-/Netzmodell:** interne Dienst-VM in VLAN20, passend zu deiner Architektur [1] Ich wuerde Technitium auf einer **Debian-VM** installieren. ## Proxmox: VM anlegen Wenn deine Debian-ISO z. B. `debian-13.6.0-amd64-netinst.iso` heisst: ```bash sudo qm create 111 \ --name dns-int01 \ --memory 2048 \ --cores 2 \ --cpu x86-64-v2-AES \ --machine q35 \ --bios ovmf \ --scsihw virtio-scsi-single \ --net0 virtio,bridge=vmbr0,tag=20 sudo qm set 111 --scsi0 local-lvm:16 sudo qm set 111 --efidisk0 local-lvm:1,pre-enrolled-keys=1 sudo qm set 111 --ide2 local:iso/debian-13.6.0-amd64-netinst.iso,media=cdrom sudo qm set 111 --boot order=ide2\;scsi0 sudo qm set 111 --vga std sudo qm start 111 sudo qm status 111 sudo qm config 111 ``` ## Debian-Installation Im Installer wuerde ich setzen: - Hostname: `dns-int01` - statische IP: `10.100.20.55/24` - Gateway: `10.100.20.1` - DNS vorerst: `10.100.20.1` Nur diese Pakete: - SSH server - standard system utilities ## Nach der Installation ISO auswerfen ```bash sudo qm stop 111 sudo qm set 111 --delete ide2 sudo qm set 111 --boot order=scsi0 sudo qm start 111 ``` ## Basis-Setup in Debian Ich gehe von `ens18` aus. Falls dein Interface anders heisst, bitte anpassen. ```bash sudo hostnamectl set-hostname dns-int01 sudo cp /etc/network/interfaces /etc/network/interfaces.bak cat <<'EOF' | sudo tee /etc/network/interfaces auto lo iface lo inet loopback auto ens18 iface ens18 inet static address 10.100.20.55/24 gateway 10.100.20.1 dns-nameservers 10.100.20.1 EOF sudo systemctl restart networking ip -4 a ip route cat /etc/resolv.conf sudo apt update sudo apt full-upgrade -y sudo apt install -y curl wget vim sudo qemu-guest-agent ca-certificates sudo systemctl start qemu-guest-agent timedatectl ``` ## Technitium DNS installieren Die genaue Installationsmethode steht nicht im Kontext; das hier ist mein normales Wissen. Auf Debian ist der uebliche Weg per Script: ```bash curl -sSL https://download.technitium.com/dns/install.sh | sudo bash ``` Danach pruefen: ```bash sudo systemctl status dns --no-pager ss -tulpn | grep -E ':53|:5380' ``` Typisch: - DNS auf Port `53` - Webinterface auf Port `5380` ## Webinterface Dann im Browser: ```text http://10.100.20.55:5380 ``` ## Im MikroTik vorerst noch nichts umstellen Da ihr ja zuerst sauber parallel aufbauen wollt, wuerde ich jetzt nur: 1. VM bauen 2. Technitium installieren 3. Zonen/Eintraege dort erfassen 4. gegen `10.100.20.55` testen 5. spaeter DHCP oder Router-Forwarding umstellen ## Optional: DHCP-Lease im MikroTik reservieren Wenn du dokumentarisch eine statische Reservation willst, mit der MAC der VM: ```rsc /ip dhcp-server lease add address=10.100.20.55 mac-address=AA:BB:CC:DD:EE:FF server=dhcp20 comment="dns-int01" ``` Technisch noetig ist das bei statischer IP in Debian nicht zwingend. Wenn du willst, gebe ich dir als naechstes direkt noch: - die **ersten Technitium-Schritte** fuer Zonen und Forwarder oder - die **MikroTik-Umstellung**, sobald die DNS-VM bereit ist. Klar - hier ist eine saubere Zusammenfassung fuer die Doku. # DNS-VM `dns-int01` - SSH- und sudo-Basissetup ## System - Hostname: `dns-int01` - IP: `10.100.20.49` - OS: Debian 13 - Rolle: interne DNS-VM - Zugriff vom Admin-Client aus `10.100.50.50` --- ## Ausgangslage Beim ersten Test war der Benutzer `dns-int01` noch **nicht korrekt fuer sudo berechtigt**. ### Beobachtung ```bash sudo -i [sudo] Passwort für dns-int01: 'dns-int01' ist nicht in der sudoers-Datei. ``` Zusätzlich war ein direkter SSH-Login als `root` nicht möglich: ```bash ssh root@10.100.20.49 Permission denied ``` Das ist grundsätzlich positiv zu bewerten, da Root-Login per SSH damit bereits nicht offen war. --- ## Korrektur sudo Danach wurde der Benutzer `dns-int01` erfolgreich fuer `sudo` nutzbar gemacht. ### Verifikation Login als Benutzer: ```bash ssh dns-int01@10.100.20.49 ``` Anschliessend: ```bash sudo -i ``` Ergebnis: - Wechsel auf Root-Shell erfolgreich - `sudo` funktioniert nun fuer `dns-int01` --- ## SSH-Key-Login eingerichtet Fuer den Benutzer `dns-int01` wurde der SSH-Key-Zugang vorbereitet. ### Durchgefuehrte Schritte ```bash mkdir -p /home/dns-int01/.ssh chmod 700 /home/dns-int01/.ssh nano /home/dns-int01/.ssh/authorized_keys chmod 600 /home/dns-int01/.ssh/authorized_keys ``` ### Bedeutung - Verzeichnis `.ssh` erstellt - Berechtigungen korrekt gesetzt - Public Key in `authorized_keys` hinterlegt - Dateirechte fuer OpenSSH passend gesetzt --- ## SSH-Server-Konfiguration angepasst Die SSH-Server-Konfiguration wurde bearbeitet: ```bash sudo nano /etc/ssh/sshd_config ``` Danach wurde die Konfiguration validiert und neu geladen: ```bash sudo sshd -t sudo systemctl reload ssh ``` ### Ergebnis - `sshd_config` syntaktisch gueltig - SSH-Dienst erfolgreich neu geladen - neue SSH-Einstellungen aktiv --- ## Funktionstest SSH-Key-Login Nach der Anpassung wurde die Verbindung erneut getestet: ```bash ssh dns-int01@10.100.20.49 ``` ### Ergebnis - Login funktionierte **ohne Passwortabfrage** - damit ist der SSH-Key-Login erfolgreich eingerichtet Das sieht man daran, dass beim letzten Verbindungsaufbau keine Passwortabfrage mehr erschien und die Sitzung direkt geöffnet wurde. --- # Aktueller Stand ## Erfolgreich umgesetzt - Benutzer `dns-int01` kann `sudo` verwenden - SSH-Zugriff auf `dns-int01` funktioniert - Root-Login per SSH ist nicht erfolgreich - SSH-Key-Authentifizierung fuer `dns-int01` funktioniert - SSH-Konfiguration wurde geprüft und neu geladen ## Aktueller Betriebszustand - administrativer Zugriff erfolgt ueber Benutzer `dns-int01` - Privilegienerweiterung erfolgt mit `sudo` - SSH-Zugriff per Key ist aktiv - Passwortbasierter Login fuer den normalen Benutzer war zuvor noch moeglich, danach wurde Key-Login erfolgreich getestet --- # Empfohlene Doku-Notiz ## Admin-Zugriff auf `dns-int01` - SSH nur ueber Benutzer `dns-int01` - kein direkter Root-Login per SSH - administrative Rechte ueber `sudo` - SSH-Key fuer Admin-Zugriff eingerichtet - SSH-Konfiguration nach Anpassung mit `sshd -t` validiert und per `systemctl reload ssh` aktiviert --- # Sinnvolle naechste Schritte Falls noch nicht erfolgt, fuer die Doku bzw. Umsetzung als naechstes festhalten: 1. `PasswordAuthentication no` in `sshd_config` final setzen, falls noch nicht bereits so konfiguriert 2. optional `PermitRootLogin no` explizit dokumentieren 3. Technitium DNS installieren 4. feste Netzkonfiguration und DNS-Rolle der VM dokumentieren 5. Backup- und Restore-Konzept fuer DNS-Konfiguration festlegen Wenn du willst, formatiere ich dir das im naechsten Schritt noch direkt als: - XWiki-Format - Markdown - oder als knappe Betriebsdokumentation mit "Ziel / Umsetzung / Verifikation / Offene Punkte".