Verwenden von iptables zum Umleiten der IP-Adresse

8

Ich habe die Anforderung auf einem Linux-System, auf dem das Linux-Gerät RSYNC verwendet, um Daten mit einem anderen Linux-Computer zu synchronisieren. Dies funktioniert im Moment einwandfrei, ich muss jedoch eine der Maschinen in ein anderes Rechenzentrum verschieben.

Ist es möglich, den Computer mithilfe von iptables so zu konfigurieren, dass alle Anrufe an (zum Beispiel) die lokale Adresse 192.168.100.230 jetzt tatsächlich an eine öffentliche Adresse im Internet gesendet werden?

Manicguitarist
quelle

Antworten:

15

Die IP-Weiterleitung muss aktiviert sein: Bearbeiten /etc/sysctl.confund sicherstellen, dass die Leitung net.ipv4.ip_forward = 1vorhanden und nicht auskommentiert ist.

Dann müssen Sie diesen Befehl ausführen:

iptables -t nat -A OUTPUT -d [ipaddress1] -j DNAT --to-destination [ipaddress2]

Wo ipaddress1ist die Adresse , die Sie wollen Umleitung ipaddress2.

Hinweis - Dieser Befehl überlebt einen Neustart nicht.

Manicguitarist
quelle
2
Um dies zu vervollständigen: iptables-save> /somepath/iptables.save Zum Start hinzufügen cron beim Start iptables-restore </somepath/iptables.save
Cybernard
Der Kommentar von @ cybernard sollte der Antwort hinzugefügt werden.
Wahnsinniger
-3

Der Client stellt eine Verbindung zur alten Adresse her 192.168.100.230, und die neue Adresse kann beispielsweise geändert werden 192.168.100.240. Sie können die Portweiterleitung mit ssh tunnel anstelle von iptables durchführen.

ssh -TNnfaq -L 192.168.100.230:22:192.168.100.240:22 user@localhost

oder

ssh -L 192.168.100.230:22:192.168.100.240:22 user@localhost # for test

Alle Anfragen senden an 192.168.100.230:22mit weiterleiten an 192.168.100.240:22. Sie brauchen nicht, rootwenn die Portnummer größer als 1024 ist.

qq274980
quelle