Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: IT-News, Tutorials, Reviews, Gaming - skV-NET. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

  • »rittmeister« ist der Autor dieses Themas

Beiträge: 1 033

Registrierungsdatum: 22. Oktober 2007

Danksagungen: 3916

  • Nachricht senden

1

Freitag, 14. Juni 2019, 05:50

Traffic von Port an neuen Server weiterleiten

Trotz guter Planung und der Verwendung von DNS Einträgen statt IP Adressen lässt es sich bei einem Serverumzug oder einer Migration bei der die IP des neuen Host ändert fast nicht vermeiden dass ein Teil des Traffics vorübergehend noch auf dem alten Server landet. Um die Folgen davon zu eliminieren bzw. abzuschwächen kann dieser Traffic mittels iptables weitergeleitet werden.

Den Ausschlag diese kleine Anleitung zu schreiben hat der Umzug unseres Teamspeak 3 Servers auf einen neuen Host gegeben. Da der TS3 Server mit einer NPL Lizenz zwar grundsätzlich auf mehreren authorisierten IP Adressen läuft, aber jeweils nur auf einer gleichzeitig konnte der präferenzierte Plan mit einem Parallelbetrieb in einer Übergangsphase nicht umgesetzt werden. Deshalb soll der TS3 Server nur noch auf der neuen Infrastruktur laufen und für Clients welche auf die alte IP verbinden wird der Traffic automatisch vom alten Host zwischen TS3 Client und neuem TS3 Server "durchgeschleust".

Was dabei beachtet werden muss:

- Der User bemerkt nicht dass er weitergeleitet wurde, ihm wird im Teamspeak 3 Server immer noch die alte IP auf welche er connected hat angezeigt
- Für den neuen Host haben alle weitergeleiteten Pakete den alten Host als Absender und nicht die des Endusers

Quellcode

1
echo "1" > /proc/sys/net/ipv4/ip_forward

oder

Quellcode

1
sysctl net.ipv4.ip_forward=1


Quellcode

1
2
3
iptables -A PREROUTING -t nat -i eth0 -p udp --dport 9987 -j DNAT --to-destination 10.10.100.100:9987
iptables -A FORWARD -p udp -d 10.10.100.100 --dport 9987 -j ACCEPT
iptables -A POSTROUTING -t nat -j MASQUERADE

Bei mehreren Ports einfach Zeilen 1+2 ensprechend angepasst erneut ausführen.

Für andere Dienste/Anwendungszwecke müssen In- und Output Adressen ggf. angepasst werden. Statt eth0 als Input kann z.B auch eine IP verwendet werden oder der Traffic auch auf einen Zielport welcher ungleich dem Quellport ist weitergeleitet werden. Das Protokoll, in diesem Fall UDP muss natürlich auch stimmen. Es kann auch komplett aller Traffic portunabhängig weitergeleitet werden, aber aufpassen dass ihr euch nicht selber aussperrt dadurch 8)


Falls Kernel Module fehlen:

Quellcode

1
Networking Support -> Networking Options -> Network packet filtering framework (Netfilter) -> Core Netfilter Configuration ->  -*- Netfilter Xtables support (required for ip_tables) 

und

Quellcode

1
Networking Support -> Networking Options -> Network packet filtering framework (Netfilter) -> IP: Netfilter Configuration -> <*> IP tables support (required for filtering/masq/NAT)


Dies äussert sich durch Fehlermeldungen wie

Quellcode

1
iptables v1.6.1: can't initialize iptables table `nat': Table does not exist (do you need to insmod?) Perhaps iptables or your kernel needs to be upgraded.

beim anlegen der Rules.

Es haben sich bereits 2 registrierte Benutzer bedankt.

Benutzer, die sich für diesen Beitrag bedankt haben:

s-master (14.06.2019), Judge of Death (14.06.2019)

Social Bookmarks


Thema bewerten