3.2 Routing
Gateway
Standardmäßig routet Debian alle Verbindungen über das Standardgateway.
WICHTIG
Es darf nur insgesamt ein Gateway auf einer Netzwerkschnittstelle konfiguriert sein. Alle weiteren Netzwerkschnittstellen dürfen kein Gateway konfiguriert haben, da ansonsten kein Routing mehr möglich ist!
Standardgateway anzeigen
Das aktuelle Standardgateway, sowie die dazugehörige Route, kann über das IP-Tool angezeigt werden:
ip route
Standardgateway konfigurieren
Das Standardgateway kann über das IP-Tool angepasst werden. Hierbei sind folgende Platzhalter zu ergänzen:
<gateway>: IPv4 des neuen Standardgateways (z.B. 10.8.0.1)
<dev>: Netzwerkschnittstelle des Gateways (z.B. eth0)
ip route replace default via <gateway> dev <dev>
Routingtabellen
Sollten mehrere Gateways existieren müssen für die zusätzlichen Gateways Routing Tabellen erstellt werden. Pro zusätzlicher Netzwerkschnittstelle sollte eine Tabelle erstellt werden.
Tabellen auflisten
cat /etc/iproute2/rt_tables
Tabelle erstellen
Eine neue Tabelle kann über das Hinzufügen eines Eintrages via echo in "rt_tables" erstellt werden.
Sollte es sich um die erste Tabelle handeln existiert das Verzeichnis iproute2 unter Umständen noch nicht und muss zuvor erstellt werden.
mkdir -p /etc/iproute2
Folgende Platzhalter müssen hierbei ergänzt werden:
<id>: Numerische eindeutige ID der Tabelle (1 bis 252)
<name>: Alphanumerischer eindeutiger Name der Tabelle (z.B. local)
echo "<id> <name>" >> /etc/iproute2/rt_tables
Routen in Tabelle definieren
Routen zu einzelnen Ziel-IPs oder Ziel-Subnetzen werden in der Routingtabelle über das IP-Tool definiert. Hierbei sind folgende Platzhalte zu ergänzen:
<gateway>: IP des Gateways
<dev>: Netzwerkschnittstelle des Gateways (z.B. eth0)
<table>: Name der Tabelle (z.B. local)
<dest-ip>: Ziel-IP (z.B. 10.8.0.1) oder Ziel-Subnetz inkl. CIDR (z.B. 10.8.0.0/24)
ip route add default via <gateway> dev <dev> table <table>
ip route add <dest-ip> dev <dev> table <table>
# Optional: Sollten über das Gateway noch weitere Subnetze erreichbar seien, müssen diese zusätzlich definiert werden:
ip route add <dest-ip> via <gateway> dev <dev> table <table>
Routing-Regeln definieren
Die in den Routingtabellen definierten Routen sind nur aktiv, wenn zu diesen passende Regeln über das IP-Tool definiert wurden. Hierbei sind folgende Platzhalter zu ergänzen:
<dest-ip>: Ziel-IP (z.B. 10.8.0.1) oder Ziel-Subnetz inkl. CIDR (z.B. 10.8.0.0/24)
<table>: Name der Tabelle (z.B. local)
<prio>: Priorität der Regel (z.B. 100)
ip rule add to <dest-ip> lookup <table> priority <prio>
Analyse & Fehlerbehebung
Routing prüfen
Über das IP-Tool kann geprüft werden, ob beim Routing zu einer bestimmten IP das korrekte Gateway gewählt wird. Hierbei ist folgender Platzhalter zu ergänzen:
<dest-ip>: Ziel-IP (z.B. 10.8.0.1)
ip route get <dest-ip>
Reverse-Path-Filter deaktivieren
Bei der Kommunikation über zusätzliche Netzwerkschnittstellen wird die eingehende Kommunikation eventuell blockiert. In diesem Fall muss der Reverse-Path-Filter deaktiviert werden.
sysctl -w net.ipv4.conf.all.rp_filter=2
sysctl -w net.ipv4.conf.default.rp_filter=2
Da die Änderung nur temporär ist muss sie anschließend dauerhaft im System konfiguriert werden:
cat <<EOF >> /etc/sysctl.conf
net.ipv4.conf.all.rp_filter=2
net.ipv4.conf.default.rp_filter=2
EOF