Gestern musste ich wegen meines Serverumzugs ein paar Ports auf die IP-Adresse des neuen Servers weiterleiten. So konnte ich verhindern, dass Clients keine Verbindung mehr zum (alten) Server herstellen konnten weil die entsprechende Software dort nicht mehr lief, sondern nur noch auf dem neuen Server mit der neuen IP-Adresse.

Zuerst werden die Forwarding-Funktionalitäten aktiviert:

sudo sysctl net.ipv4.ip_forward=1

… und dann die entsprechende Weiterleitungsregel in die IPtables geschrieben:

sudo iptables -t nat -A PREROUTING -p tcp --dport 5222 -j DNAT --to-destination 2.2.2.2:5222

In dieser Beispielregel wird der TCP-Port 5222 der lokalen Maschine (XMPP Client Port) auf denselben Port eines Servers mit der IP-Adresse 2.2.2.2 weitergeleitet.

Jetzt noch Masquerading aktivieren und die Weiterleitung steht:

sudo iptables -t nat -A POSTROUTING -j MASQUERADE