Einleitung
Subnetting ist eine fundamentale Technik im Netzwerkmanagement, die es ermöglicht, große Netzwerke in kleinere, logische Segmente zu unterteilen. Sowohl IPv4 als auch IPv6 verwenden Subnetting, jedoch mit unterschiedlichen Ansätzen und Adressräumen. Dieses Tutorial behandelt die praktische Konfiguration von IPv4- und IPv6-Subnetzen unter Linux und Windows, mit besonderem Fokus auf /64-Subnetze bei IPv6.
IPv4-Subnetting wird hauptsächlich zur effizienten Nutzung des begrenzten Adressraums verwendet, während IPv6-Subnetting bei der Organisation großer Netzwerkstrukturen hilft. Die Beherrschung beider Protokolle ist essentiell für moderne Netzwerkadministratoren.
Systemvoraussetzungen
| Komponente | Minimum | Empfohlen |
|---|---|---|
| CPU | 1 vCPU / 1 Core | 2+ vCPU / 2+ Cores |
| RAM | 512 MB | 2 GB |
| Festplatte | 2 GB | 10 GB |
| Linux | Ubuntu 18.04+, CentOS 7+, Debian 9+ | Ubuntu 22.04+, Rocky Linux 8+ |
| Windows | Windows Server 2016+, Windows 10 | Windows Server 2022, Windows 11 |
Benötigte Ports und Firewall-Konfiguration
Für die Subnetting-Konfiguration werden folgende Ports benötigt:
- ICMP/ICMPv6: Für Ping-Tests (Protokoll-Nummer 1 für IPv4, 58 für IPv6)
- SSH (22/tcp): Für Remote-Administration unter Linux
- RDP (3389/tcp): Für Remote-Administration unter Windows
- DHCPv6 (546/547 UDP): Falls DHCPv6 verwendet wird
Vorbereitung
Linux-System vorbereiten
Aktualisieren Sie zunächst Ihr System:
# Ubuntu/Debian
sudo apt update && sudo apt upgrade -y
sudo apt install -y iproute2 net-tools iputils-ping traceroute
# CentOS/RHEL/Rocky Linux
sudo dnf update -y
sudo dnf install -y iproute net-tools iputils traceroute
Windows-System vorbereiten
Öffnen Sie die PowerShell als Administrator und aktivieren Sie IPv6, falls deaktiviert:
# IPv6-Status prüfen
Get-NetAdapterBinding -ComponentID ms_tcpip6
# IPv6 aktivieren (falls deaktiviert)
Enable-NetAdapterBinding -Name "*" -ComponentID ms_tcpip6
IPv4-Subnetting verstehen und konfigurieren
IPv4-Subnetting-Grundlagen
IPv4 verwendet 32-Bit-Adressen, die in 4 Oktette unterteilt sind. Subnetting erfolgt über Subnetzmasken:
- /24 (255.255.255.0): 254 verwendbare Host-Adressen
- /25 (255.255.255.128): 126 verwendbare Host-Adressen
- /26 (255.255.255.192): 62 verwendbare Host-Adressen
- /27 (255.255.255.224): 30 verwendbare Host-Adressen
IPv4-Subnetz unter Linux konfigurieren
# Aktuelle Netzwerkkonfiguration anzeigen
ip addr show
# IPv4-Adresse mit Subnetz konfigurieren
sudo ip addr add 192.168.10.10/24 dev eth0
# Standard-Gateway setzen
sudo ip route add default via 192.168.10.1
# Konfiguration persistent machen (Ubuntu/Debian)
sudo nano /etc/netplan/01-netcfg.yaml
Netplan-Konfiguration für Ubuntu:
network:
version: 2
renderer: networkd
ethernets:
eth0:
addresses:
- 192.168.10.10/24
- 192.168.20.10/25
gateway4: 192.168.10.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
# Netplan-Konfiguration anwenden
sudo netplan apply
IPv4-Subnetz unter Windows konfigurieren
# Aktuelle Netzwerkkonfiguration anzeigen
Get-NetIPConfiguration
# IPv4-Adresse konfigurieren
New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress 192.168.10.10 -PrefixLength 24 -DefaultGateway 192.168.10.1
# DNS-Server konfigurieren
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses 8.8.8.8,8.8.4.4
# Zusätzliche Subnetz-IP hinzufügen
New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress 192.168.20.10 -PrefixLength 25
IPv6-Subnetting verstehen und konfigurieren
IPv6-Subnetting-Grundlagen
IPv6 verwendet 128-Bit-Adressen mit standardmäßig /64-Subnetzen:
- /64: Standard-Subnetzgröße für End-Netzwerke
- /48: Typische Zuteilung für Organisationen
- /56: Häufig für kleinere Organisationen verwendet
- /128: Host-Route (einzelne Adresse)
/64-Subnetz auswählen und konfigurieren
Beispiel für ein /64-IPv6-Subnetz: 2001:db8:1::/64
IPv6-Subnetz unter Linux konfigurieren
# IPv6-Status prüfen
cat /proc/sys/net/ipv6/conf/all/disable_ipv6
# IPv6 aktivieren (falls deaktiviert)
echo 0 | sudo tee /proc/sys/net/ipv6/conf/all/disable_ipv6
# IPv6-Adresse im /64-Subnetz konfigurieren
sudo ip -6 addr add 2001:db8:1::10/64 dev eth0
# IPv6-Standard-Route setzen
sudo ip -6 route add default via 2001:db8:1::1
# Weitere IPv6-Adressen im selben /64-Subnetz hinzufügen
sudo ip -6 addr add 2001:db8:1::20/64 dev eth0
sudo ip -6 addr add 2001:db8:1::30/64 dev eth0
Netplan-Konfiguration für IPv6:
network:
version: 2
renderer: networkd
ethernets:
eth0:
addresses:
- 192.168.10.10/24
- 2001:db8:1::10/64
- 2001:db8:1::20/64
gateway4: 192.168.10.1
gateway6: 2001:db8:1::1
nameservers:
addresses: [8.8.8.8, 8.8.4.4, 2001:4860:4860::8888]
IPv6-Subnetz unter Windows konfigurieren
# IPv6-Konfiguration anzeigen
Get-NetIPAddress -AddressFamily IPv6
# IPv6-Adresse im /64-Subnetz konfigurieren
New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress 2001:db8:1::10 -PrefixLength 64
# IPv6-Gateway setzen
New-NetRoute -InterfaceAlias "Ethernet" -DestinationPrefix "::/0" -NextHop 2001:db8:1::1
# Weitere IPv6-Adressen im /64-Subnetz hinzufügen
New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress 2001:db8:1::20 -PrefixLength 64
New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress 2001:db8:1::30 -PrefixLength 64
# IPv6-DNS-Server konfigurieren
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses 2001:4860:4860::8888,2001:4860:4860::8844
Erweiterte Subnetting-Konfiguration
VLAN-basierte Subnetze unter Linux
# VLAN-Interface erstellen
sudo ip link add link eth0 name eth0.100 type vlan id 100
sudo ip link set eth0.100 up
# IPv4 und IPv6 auf VLAN-Interface konfigurieren
sudo ip addr add 192.168.100.10/24 dev eth0.100
sudo ip -6 addr add 2001:db8:100::10/64 dev eth0.100
# VLAN-Konfiguration in Netplan
network:
version: 2
vlans:
eth0.100:
id: 100
link: eth0
addresses:
- 192.168.100.10/24
- 2001:db8:100::10/64
Mehrere Subnetze gleichzeitig konfigurieren
# Script für mehrere Subnetz-Konfigurationen
#!/bin/bash
# IPv4-Subnetze konfigurieren
SUBNETS_IPV4=(
"192.168.10.10/24"
"192.168.20.10/25"
"10.0.1.10/28"
)
# IPv6-Subnetze konfigurieren (/64)
SUBNETS_IPV6=(
"2001:db8:1::10/64"
"2001:db8:2::10/64"
"2001:db8:3::10/64"
)
INTERFACE="eth0"
for subnet in "${SUBNETS_IPV4[@]}"; do
sudo ip addr add $subnet dev $INTERFACE
echo "IPv4 hinzugefügt: $subnet"
done
for subnet in "${SUBNETS_IPV6[@]}"; do
sudo ip -6 addr add $subnet dev $INTERFACE
echo "IPv6 hinzugefügt: $subnet"
done
Firewall-Regeln setzen
Linux Firewall (ufw/iptables)
# UFW für IPv4 und IPv6 konfigurieren
sudo ufw enable
# Spezifische Subnetze erlauben
sudo ufw allow from 192.168.10.0/24
sudo ufw allow from 2001:db8:1::/64
# SSH für alle konfigurierten Subnetze erlauben
sudo ufw allow ssh
# ICMP/ICMPv6 für Ping-Tests erlauben
sudo ufw allow in on eth0 to any port 22
sudo iptables -A INPUT -p icmp -j ACCEPT
sudo ip6tables -A INPUT -p icmpv6 -j ACCEPT
Windows Firewall
# IPv4-Subnetz in Windows Firewall erlauben
New-NetFirewallRule -DisplayName "Allow IPv4 Subnet" -Direction Inbound -RemoteAddress 192.168.10.0/24 -Action Allow
# IPv6-Subnetz in Windows Firewall erlauben
New-NetFirewallRule -DisplayName "Allow IPv6 Subnet" -Direction Inbound -RemoteAddress 2001:db8:1::/64 -Action Allow
# ICMP für IPv4 und IPv6 erlauben
New-NetFirewallRule -DisplayName "Allow ICMPv4" -Direction Inbound -Protocol ICMPv4 -Action Allow
New-NetFirewallRule -DisplayName "Allow ICMPv6" -Direction Inbound -Protocol ICMPv6 -Action Allow
Dienste konfigurieren und aktivieren
Systemd-networkd unter Linux
# NetworkManager deaktivieren und systemd-networkd aktivieren
sudo systemctl disable NetworkManager
sudo systemctl enable systemd-networkd
sudo systemctl enable systemd-resolved
# Dienste starten
sudo systemctl start systemd-networkd
sudo systemctl start systemd-resolved
# Status prüfen
sudo systemctl status systemd-networkd
Netzwerkdienste unter Windows
# Netzwerkdienste prüfen und neu starten
Restart-Service -Name "Dnscache"
Restart-Service -Name "DHCP"
# IPv6-Dienste aktivieren
Set-Service -Name "iphlpsvc" -StartupType Automatic
Start-Service -Name "iphlpsvc"
Installation verifizieren
Konnektivitätstests durchführen
# IPv4-Konnektivität testen
ping -c 4 192.168.10.1
ping -c 4 8.8.8.8
# IPv6-Konnektivität testen
ping6 -c 4 2001:db8:1::1
ping6 -c 4 2001:4860:4860::8888
# Routing-Tabellen prüfen
ip route show
ip -6 route show
# Netzwerk-Interfaces prüfen
ip addr show
ip -6 addr show
# Windows-Konnektivitätstests
Test-Connection -ComputerName 192.168.10.1 -Count 4
Test-Connection -ComputerName 8.8.8.8 -Count 4
# IPv6-Tests
Test-Connection -ComputerName "2001:db8:1::1" -Count 4
ping 2001:4860:4860::8888
# Netzwerkkonfiguration anzeigen
Get-NetIPConfiguration
Get-NetIPAddress
Get-NetRoute
Erweiterte Diagnose-Tools
# Netzwerk-Stack-Diagnose unter Linux
ss -tuln
netstat -rn
ip neighbor show
# Traceroute für IPv4 und IPv6
traceroute 8.8.8.8
traceroute6 2001:4860:4860::8888
Troubleshooting
Häufige IPv4-Probleme
Problem: IP-Adresse wird nicht übernommen
# Lösung: Interface neu starten
sudo ip link set eth0 down
sudo ip link set eth0 up
# Oder NetworkManager neu starten
sudo systemctl restart NetworkManager
Problem: Routing funktioniert nicht
# Routing-Tabelle prüfen
ip route show
# Standard-Gateway neu setzen
sudo ip route del default
sudo ip route add default via 192.168.10.1
Häufige IPv6-Probleme
Problem: IPv6 ist deaktiviert
# IPv6-Status prüfen
cat /proc/sys/net/ipv6/conf/all/disable_ipv6
# IPv6 aktivieren
echo 0 | sudo tee /proc/sys/net/ipv6/conf/all/disable_ipv6
echo 0 | sudo tee /proc/sys/net/ipv6/conf/default/disable_ipv6
Problem: Duplicate Address Detection (DAD) Fehler
# DAD-Status prüfen
ip -6 addr show
# Interface neu konfigurieren
sudo ip -6 addr del 2001:db8:1::10/64 dev eth0
sudo ip -6 addr add 2001:db8:1::10/64 dev eth0
Windows-spezifische Probleme
Problem: IPv6-Konnektivität funktioniert nicht
# IPv6-Binding prüfen
Get-NetAdapterBinding -ComponentID ms_tcpip6
# IPv6 zurücksetzen
netsh int ipv6 reset
netsh winsock reset
# Neustart erforderlich
Restart-Computer
Allgemeine Diagnose-Befehle
# Linux: Umfassende Netzwerk-Diagnose
sudo dmesg | grep -i network
journalctl -u systemd-networkd
journalctl -u NetworkManager
# Paket-Capture für detaillierte Analyse
sudo tcpdump -i eth0 -n
# Windows: Netzwerk-Diagnose
Get-NetAdapter
Get-NetIPConfiguration -Detailed
Test-NetConnection -ComputerName 8.8.8.8 -TraceRoute
# Event-Logs prüfen
Get-WinEvent -LogName System | Where-Object {$_.LevelDisplayName -eq "Error"}
Updates und Wartung
Regelmäßige Wartungsaufgaben
# Linux: System-Updates
sudo apt update && sudo apt upgrade -y # Debian/Ubuntu
sudo dnf update -y # RHEL/CentOS
# Netzwerk-Tools aktualisieren
sudo apt install --only-upgrade iproute2 net-tools
# Konfiguration sichern
sudo cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.backup
# Windows: System-Updates prüfen
Get-WindowsUpdate
Install-WindowsUpdate -AcceptAll -AutoReboot
# Netzwerk-Konfiguration exportieren
Get-NetIPConfiguration | Export-Csv -Path "C:\backup\network-config.csv"
Monitoring und Überwachung
# Script für regelmäßige Konnektivitätsprüfung
#!/bin/bash
LOG_FILE="/var/log/network-check.log"
echo "$(date): Starte Netzwerk-Check" >> $LOG_FILE
# IPv4-Tests
if ping -c 1 8.8.8.8 >/dev/null 2>&1; then
echo "$(date): IPv4 OK" >> $LOG_FILE
else
echo "$(date): IPv4 FEHLER" >> $LOG_FILE
fi
# IPv6-Tests
if ping6 -c 1 2001:4860:4860::8888 >/dev/null 2>&1; then
echo "$(date): IPv6 OK" >> $LOG_FILE
else
echo "$(date): IPv6 FEHLER" >> $LOG_FILE
fi
Fazit und nächste Schritte
In diesem Tutorial haben Sie gelernt, wie Sie IPv4- und IPv6-Subnetze unter Linux und Windows konfigurieren. Die wichtigsten Erkenntnisse:
- IPv4-Subnetting maximiert die Effizienz begrenzter Adressräume
- IPv6 /64-Subnetze sind der Standard für End-Netzwerke
- Beide Protokolle können parallel betrieben werden (Dual-Stack)
- Proper Firewall-Konfiguration ist essentiell für die Sicherheit
- Regelmäßige Tests und Monitoring gewährleisten stabile Netzwerke
Empfohlene nächste Schritte:
- Experimentieren Sie mit komplexeren Subnetting-Szenarien
- Implementieren Sie automatisierte Netzwerk-Monitoring-Lösungen
- Erforschen Sie erweiterte IPv6-Features wie Privacy Extensions
- Konfigurieren Sie DHCP-Server für beide Protokolle
- Implementieren Sie Network Address Translation (NAT) für IPv4
- Lernen Sie über IPv6-Transition-Mechanismen (6to4, Teredo, etc.)
Mit diesem Wissen können Sie professionelle Netzwerkinfrastrukturen aufbauen und verwalten, die sowohl aktuellen als auch zukünftigen Anforderungen gerecht werden.