Categories
Linux Networking

2 NICs mit Policy Based Routing (PBR)

Es gibt viele Gründe für 2 Netzwerkkarten im Server. Sollen diese in unterschiedliche Netze angebunden werden gibt es Probleme weil normalerweise nur ein Standardgateway existiert.

Der Traffic verlässt zwar korrekt den Server über die gesetzten Routen, jedoch die Pakete an fremde Ziele verlassen den Server immer über die default-route, also u.U. nicht über das richtige Interface.

Folgend kurz die Schritte zum Einrichten eines Policy-Based Routing unter Debian/Ubuntu…

Ausgangslage

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.10.7.56    0.0.0.0         255.255.255.248 U     0      0        0 eth0
10.10.6.32    0.0.0.0         255.255.255.224 U     0      0        0 eth1

Neue Einträge anlegen

echo "1 dmz-a" >> /etc/iproute2/rt_tables
echo "2 dmz-b" >> /etc/iproute2/rt_tables

eth0 Route anlegen

ip route add 10.10.7.56/29 dev eth0 src 10.10.7.58 table dmz-a
ip route add default via 10.10.7.57 dev eth0 table dmz-a
ip rule add from 10.10.7.58/32 table dmz-a
ip rule add to 10.10.7.58/32 table dmz-a

eth1 Route anlegen

ip route add 10.10.6.32/27 dev eth1 src 10.10.6.35 table dmz-b
ip route add default via 10.10.6.33 dev eth1 table dmz-b
ip rule add from 10.10.6.35/32 table dmz-b
ip rule add to 10.10.6.35/32 table dmz-b

Das Kommando “ip route show” sollte jetzt die entsprechenden Einträge zeigen.
Theoretisch könnte man sich das PBR für eine der beiden NICs sparen wenn man dort einfach die klassische default-route setzt. Hier noch eine ausführliche Anleitung zum Thema.