2026-09-06 15:12:26 +02:00
|
|
|
Wir die neue DNS-VM fuer **Technitium DNS** mit diesen Werten:
|
2026-09-06 15:04:36 +02:00
|
|
|
|
2026-09-06 15:12:26 +02:00
|
|
|
- **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]
|
2026-09-06 15:04:36 +02:00
|
|
|
|
2026-09-06 15:12:26 +02:00
|
|
|
Ich wuerde Technitium auf einer **Debian-VM** installieren.
|
2026-09-06 15:04:36 +02:00
|
|
|
|
2026-09-06 15:12:26 +02:00
|
|
|
## Proxmox: VM anlegen
|
|
|
|
|
Wenn deine Debian-ISO z. B. `debian-13.6.0-amd64-netinst.iso` heisst:
|
2026-09-06 15:04:36 +02:00
|
|
|
|
|
|
|
|
```bash
|
2026-09-06 15:12:26 +02:00
|
|
|
sudo qm create 111 \
|
2026-09-06 15:04:36 +02:00
|
|
|
--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
|
|
|
|
|
|
2026-09-06 15:12:26 +02:00
|
|
|
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
|
2026-09-06 15:04:36 +02:00
|
|
|
|
2026-09-06 15:12:26 +02:00
|
|
|
sudo qm start 111
|
|
|
|
|
sudo qm status 111
|
|
|
|
|
sudo qm config 111
|
2026-09-06 15:04:36 +02:00
|
|
|
```
|
|
|
|
|
|
2026-09-06 15:12:26 +02:00
|
|
|
## Debian-Installation
|
|
|
|
|
Im Installer wuerde ich setzen:
|
2026-09-06 15:04:36 +02:00
|
|
|
|
2026-09-06 15:12:26 +02:00
|
|
|
- Hostname: `dns-int01`
|
|
|
|
|
- statische IP: `10.100.20.55/24`
|
|
|
|
|
- Gateway: `10.100.20.1`
|
|
|
|
|
- DNS vorerst: `10.100.20.1`
|
2026-09-06 15:04:36 +02:00
|
|
|
|
2026-09-06 15:12:26 +02:00
|
|
|
Nur diese Pakete:
|
|
|
|
|
- SSH server
|
|
|
|
|
- standard system utilities
|
2026-09-06 15:04:36 +02:00
|
|
|
|
2026-09-06 15:12:26 +02:00
|
|
|
## Nach der Installation ISO auswerfen
|
2026-09-06 15:04:36 +02:00
|
|
|
```bash
|
2026-09-06 15:12:26 +02:00
|
|
|
sudo qm stop 111
|
|
|
|
|
sudo qm set 111 --delete ide2
|
|
|
|
|
sudo qm set 111 --boot order=scsi0
|
|
|
|
|
sudo qm start 111
|
2026-09-06 15:04:36 +02:00
|
|
|
```
|
|
|
|
|
|
2026-09-06 15:12:26 +02:00
|
|
|
## Basis-Setup in Debian
|
|
|
|
|
Ich gehe von `ens18` aus. Falls dein Interface anders heisst, bitte anpassen.
|
2026-09-06 15:04:36 +02:00
|
|
|
|
2026-09-06 15:12:26 +02:00
|
|
|
```bash
|
|
|
|
|
sudo hostnamectl set-hostname dns-int01
|
2026-09-06 15:04:36 +02:00
|
|
|
|
2026-09-06 15:12:26 +02:00
|
|
|
sudo cp /etc/network/interfaces /etc/network/interfaces.bak
|
2026-09-06 15:04:36 +02:00
|
|
|
|
2026-09-06 15:12:26 +02:00
|
|
|
cat <<'EOF' | sudo tee /etc/network/interfaces
|
|
|
|
|
auto lo
|
|
|
|
|
iface lo inet loopback
|
2026-09-06 15:04:36 +02:00
|
|
|
|
2026-09-06 15:12:26 +02:00
|
|
|
auto ens18
|
|
|
|
|
iface ens18 inet static
|
|
|
|
|
address 10.100.20.55/24
|
|
|
|
|
gateway 10.100.20.1
|
|
|
|
|
dns-nameservers 10.100.20.1
|
|
|
|
|
EOF
|
2026-09-06 15:04:36 +02:00
|
|
|
|
2026-09-06 15:12:26 +02:00
|
|
|
sudo systemctl restart networking
|
2026-09-06 15:04:36 +02:00
|
|
|
|
2026-09-06 15:12:26 +02:00
|
|
|
ip -4 a
|
|
|
|
|
ip route
|
|
|
|
|
cat /etc/resolv.conf
|
2026-09-06 15:04:36 +02:00
|
|
|
|
2026-09-06 15:12:26 +02:00
|
|
|
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
|
|
|
|
|
```
|
2026-09-06 15:04:36 +02:00
|
|
|
|
2026-09-06 15:12:26 +02:00
|
|
|
## Technitium DNS installieren
|
|
|
|
|
Die genaue Installationsmethode steht nicht im Kontext; das hier ist mein normales Wissen. Auf Debian ist der uebliche Weg per Script:
|
2026-09-06 15:04:36 +02:00
|
|
|
|
|
|
|
|
```bash
|
2026-09-06 15:12:26 +02:00
|
|
|
curl -sSL https://download.technitium.com/dns/install.sh | sudo bash
|
2026-09-06 15:04:36 +02:00
|
|
|
```
|
|
|
|
|
|
2026-09-06 15:12:26 +02:00
|
|
|
Danach pruefen:
|
2026-09-06 15:04:36 +02:00
|
|
|
|
2026-09-06 15:12:26 +02:00
|
|
|
```bash
|
|
|
|
|
sudo systemctl status dns --no-pager
|
|
|
|
|
ss -tulpn | grep -E ':53|:5380'
|
|
|
|
|
```
|
2026-09-06 15:04:36 +02:00
|
|
|
|
2026-09-06 15:12:26 +02:00
|
|
|
Typisch:
|
|
|
|
|
- DNS auf Port `53`
|
|
|
|
|
- Webinterface auf Port `5380`
|
2026-09-06 15:04:36 +02:00
|
|
|
|
2026-09-06 15:12:26 +02:00
|
|
|
## Webinterface
|
|
|
|
|
Dann im Browser:
|
|
|
|
|
```text
|
|
|
|
|
http://10.100.20.55:5380
|
|
|
|
|
```
|
2026-09-06 15:04:36 +02:00
|
|
|
|
2026-09-06 15:12:26 +02:00
|
|
|
## Im MikroTik vorerst noch nichts umstellen
|
|
|
|
|
Da ihr ja zuerst sauber parallel aufbauen wollt, wuerde ich jetzt nur:
|
2026-09-06 15:04:36 +02:00
|
|
|
|
2026-09-06 15:12:26 +02:00
|
|
|
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
|
2026-09-06 15:04:36 +02:00
|
|
|
|
2026-09-06 15:12:26 +02:00
|
|
|
## Optional: DHCP-Lease im MikroTik reservieren
|
|
|
|
|
Wenn du dokumentarisch eine statische Reservation willst, mit der MAC der VM:
|
2026-09-06 15:04:36 +02:00
|
|
|
|
2026-09-06 15:12:26 +02:00
|
|
|
```rsc
|
|
|
|
|
/ip dhcp-server lease add address=10.100.20.55 mac-address=AA:BB:CC:DD:EE:FF server=dhcp20 comment="dns-int01"
|
|
|
|
|
```
|
2026-09-06 15:04:36 +02:00
|
|
|
|
2026-09-06 15:12:26 +02:00
|
|
|
Technisch noetig ist das bei statischer IP in Debian nicht zwingend.
|
2026-09-06 15:04:36 +02:00
|
|
|
|
2026-09-06 15:12:26 +02:00
|
|
|
Wenn du willst, gebe ich dir als naechstes direkt noch:
|
|
|
|
|
- die **ersten Technitium-Schritte** fuer Zonen und Forwarder
|
|
|
|
|
oder
|
2026-09-06 15:39:56 +02:00
|
|
|
- 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".
|