IPv6 im Web Stack: Nginx/Apache Dual Stack richtig konfigurieren

IPv6 gewinnt zunehmend an Bedeutung, da IPv4-Adressen knapp werden und moderne Clients bevorzugt IPv6 nutzen. Ein Web Stack sollte daher Dual-Stack-fähig sein, d. h. sowohl IPv4 als auch IPv6 unterstützen. In diesem Leitfaden erfahren Einsteiger, IT-Studierende und Junior Network Engineers, wie Nginx und Apache korrekt für Dual Stack konfiguriert werden, um Webseiten über beide Protokolle erreichbar zu machen.

Voraussetzungen

  • Linux-Server mit Root- oder Sudo-Rechten
  • Aktuell installierter Webserver: Nginx ≥1.19 oder Apache ≥2.4
  • IPv4- und IPv6-Adressen für den Server verfügbar
  • DNS-Einträge für A (IPv4) und AAAA (IPv6) Records gesetzt

Netzwerk-Setup für Dual Stack

Damit der Server über IPv6 erreichbar ist, muss die Netzwerkschnittstelle korrekt konfiguriert sein.

Beispiel IPv4 und IPv6 Konfiguration (Netplan)

sudo nano /etc/netplan/01-netcfg.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: no
      addresses:
        - 192.168.200.10/24
        - 2001:db8:abcd:1::10/64
      gateway4: 192.168.200.1
      gateway6: 2001:db8:abcd:1::1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4, 2001:4860:4860::8888, 2001:4860:4860::8844]
sudo netplan apply

DNS-Einträge

Die Domain muss sowohl über IPv4 als auch IPv6 erreichbar sein.

  • A-Record: meinedomain.de A 192.168.200.10
  • AAAA-Record: meinedomain.de AAAA 2001:db8:abcd:1::10
  • Optional Subdomains ebenfalls mit A/AAAA Records

Nginx Dual Stack konfigurieren

Nginx kann sowohl auf IPv4 als auch auf IPv6 hören, indem die entsprechenden listen-Direktiven genutzt werden.

Beispiel Server Block

sudo nano /etc/nginx/sites-available/meinedomain.conf
server {
    listen 80;
    listen [::]:80;
server_name meinedomain.de www.meinedomain.de;

root /var/www/meinedomain;
index index.html index.php;

access_log /var/log/nginx/meinedomain_access.log;
error_log /var/log/nginx/meinedomain_error.log;

location / {
try_files $uri $uri/ =404;
}

}

sudo ln -s /etc/nginx/sites-available/meinedomain.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

HTTPS Dual Stack

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
server_name meinedomain.de www.meinedomain.de;

ssl_certificate /etc/letsencrypt/live/meinedomain.de/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/meinedomain.de/privkey.pem;

root /var/www/meinedomain;
index index.html index.php;

}

Apache Dual Stack konfigurieren

Apache kann ebenfalls auf IPv4 und IPv6 gleichzeitig lauschen, indem Listen und VirtualHost-Direktiven angepasst werden.

IPv4 und IPv6 aktivieren

sudo nano /etc/apache2/ports.conf
Listen 80
Listen [::]:80
Listen 443
Listen [::]:443

VirtualHost für Dual Stack

sudo nano /etc/apache2/sites-available/meinedomain.conf
<VirtualHost *:80 [::]:80>
    ServerName meinedomain.de
    ServerAlias www.meinedomain.de
DocumentRoot /var/www/meinedomain

ErrorLog ${APACHE_LOG_DIR}/meinedomain_error.log
CustomLog ${APACHE_LOG_DIR}/meinedomain_access.log combined


ServerName meinedomain.de
ServerAlias www.meinedomain.de

DocumentRoot /var/www/meinedomain

SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/meinedomain.de/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/meinedomain.de/privkey.pem

ErrorLog ${APACHE_LOG_DIR}/meinedomain_ssl_error.log
CustomLog ${APACHE_LOG_DIR}/meinedomain_ssl_access.log combined

sudo a2ensite meinedomain.conf
sudo apache2ctl configtest
sudo systemctl reload apache2

Firewall und Ports

Die Firewall muss IPv4- und IPv6-Traffic auf Port 80 und 443 zulassen.

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow proto ipv6 to any port 80,443
sudo ufw reload
sudo ufw status

Testing Dual Stack

IPv4 prüfen

curl -4 -I https://meinedomain.de

IPv6 prüfen

curl -6 -I https://meinedomain.de

DNS-Abfrage

dig +short meinedomain.de A
dig +short meinedomain.de AAAA

Netzwerk und Subnetze

Eine saubere IP-Planung erleichtert das Monitoring und die Erreichbarkeit von Dual-Stack-Servern.

IPv4-Subnetz

Beispiel: 192.168.200.10/24

<math>
Subnetzadresse = 192.168.200.10 & 255.255.255.0 = 192.168.200.0
Broadcastadresse = 192.168.200.0 | ~255.255.255.0 = 192.168.200.255
</math>

IPv6-Subnetz

Beispiel: 2001:db8:abcd:1::10/64

<math>
Subnetzadresse = 2001:db8:abcd:1:: & ffff:ffff:ffff:ffff:: = 2001:db8:abcd:1::0
Broadcastadresse = 2001:db8:abcd:1:ffff:ffff:ffff:ffff
</math>

Best Practices

  • Immer sowohl IPv4 als auch IPv6 konfigurieren
  • DNS-Einträge für A- und AAAA-Records korrekt setzen
  • HTTPS für beide Protokolle aktivieren
  • Firewall für IPv4- und IPv6-Traffic öffnen
  • Server-Logs für Dual Stack separat überwachen
  • Netzwerk-Subnetze sauber planen, um Routingprobleme zu vermeiden
  • Monitoring einrichten, um Erreichbarkeit und Latenz für beide Protokolle zu prüfen
  • Regelmäßig DNS-Propagation überprüfen und testen

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

  • Professionelle Konfiguration von Routern und Switches

  • Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen

  • Erstellung von Topologien und Simulationen in Cisco Packet Tracer

  • Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG

  • Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible

  • Erstellung von Skripten für wiederkehrende Netzwerkaufgaben

  • Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege

  • Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Related Articles