Umleitung des Netzwerkverkehrs auf eine neue IP Adresse mit IPtables

Bei der Migration bzw. Umzug von Diensten z.B. HTTP von einer alten Maschine auf eine neue Maschine kann eine zeitlich eingerichtete Umleitung sehr nützlich sein.
Gründe für eine Umleitung sind z.B.:

  • Benutzer verwenden die IP-Adresse anstatt des Domainnames
  • Andere Dienste oder Rechner verwenden die IP-Adresse anstatt des Domainnames
  • Die Umstellung des DNS-Namens auf eine andere IP-Adresse dauert länger bis alle DNS-Caches aktualisiert sind.

Wir gehen beim System davon aus, daß iptables noch nicht verwendet wird und insbesondere kein NAT eingerichtet ist.
Für die Umleitung benutzen wir die PREROUTING und POSTROUTING Chain benutzt und benutzen IPtables mit dem Masquerade Feature.
Forwarding aktivieren:

echo „1“ > /proc/sys/net/ipv4/ip_forward

 
Allen Netzwerkverkehr auf neue IP Adresse umleiten:

iptables -t nat -A PREROUTING -p tcp –dport 80 -j DNAT –to-destination x.x.x.x:80

 
Masquerade mit IPtables:

iptables -t nat -A POSTROUTING -j MASQUERADE

 
Optional kann man auch die Regel auf ein definiertes Quellnetzwerk bzw. -IP Adresse einschränken

iptables -t nat -A PREROUTING -s 192.168.1.1 -p tcp –dport 80 -j DNAT –to-destination x.x.x.x:80

oder:

iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p tcp –dport 80 -j DNAT –to-destination x.x.x.x:80

Der Netzwerkverkehr wird nun von Port 80 (HTTP Port) auf die IP-Adresse x.x.x.x umgeleitet.
Auf dem Host x.x.x.x kann man mit tcpdump die Pakete vom Host, auf dem die Umleitung eingerichtet ist, beobachten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.