Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Bidirektionale IP- UND Port-Translation: Wie lauten die konkreten iptables-Befehle?

Frage Linux Linux Netzwerk

Mitglied: Server-Nutzer

Server-Nutzer (Level 1) - Jetzt verbinden

06.12.2014 um 10:40 Uhr, 1957 Aufrufe, 6 Kommentare, 2 Danke

Hallo liebe Expertinnen und Experten.

Folgende Frage beschäftigt mich bezüglich IP- bzw. Port-Übersetzungen leider erneut (siehe http://www.administrator.de/frage/bidirektionale-ip-und-port-translatio ...).
Die dort vorgeschlagene Lösung war aus div. Gründen nicht das, was ich suche.

Ich weiß, dass es z.B. in Routern NAT gibt, z.B. um <externe-IP:443> zu <interne-IP:443> oder <externe-IP:8080> zu <interne-IP:80> hin und her zu übersetzen.

Wie lauten die konkreten iptables-Befehle, um auf einem (Root)vServer im Internet die (hier erfundene) IP 156.128.132.100 und z.B. Port 443 (156.128.132.100:443) auf sagen wir 103.95.199.67:10443 in bidirektionaler Richtung die Datenpakete transparent hin- und her übersetzen zu lassen?

Es sollen "lediglich" die IP-Adressen _UND_ zeitgleich der Port ausgetauscht, die Datenpakete aber in ihren Informationen ansonsten möglichst nicht tangiert werden.

Im LANCOM-Router hier am DSL würden dann die von extern eintreffenden, umgelenkten Datenpakete 103.95.199.67:10443 auf 192.168.10.100:443 geNATet. Die Antworten gehen dann wieder ebenso geNATet retour.

Hat das schon mal jemand gemacht?

Und wie lauten die konkreten Befehle bei iptables, um oben beschriebene IP-Adressen _UND_ zeitgleich Ports übersetzt werden?
(Und wie kann ich das wieder rückgängig machen, wenn ich mich vertan habe, ohne den vServer neu installieren zu müssen? )

Bin auf Linux noch ambitionierter Anfänger bis leichter Fortgeschrittener, würde das gern verstehen und lernen.

Herzliche Grüße
Jörg
Mitglied: colinardo
06.12.2014, aktualisiert um 15:20 Uhr
Hallo Jörg,
das ganze nennt sich Port-Proxy und sollte mit folgenden drei Regeln anhand deines Beispiel funktionieren:
01.
iptables -t nat -A PREROUTING --dst 156.128.132.100 -p tcp --dport 443 -j DNAT --to-destination 103.95.199.67:10443 
02.
iptables -t nat -A POSTROUTING -p tcp --dst 103.95.199.67 --dport 10443 -j SNAT --to-source 156.128.132.100 
03.
iptables -t nat -A OUTPUT --dst 156.128.132.100 -p tcp --dport 443 -j DNAT --to-destination 103.95.199.67:10443
Und nicht vergessen das IP Forwarding zu aktivieren:
echo 1 > /proc/sys/net/ipv4/ip_forward

Erläuterung zu den obigen Regeln

Die erste Regel macht ein DNAT(Destination NAT) in der Prerouting Tabelle, also alle Pakete die am Server auf dem jeweiligen Port eintreffenden Pakete, deren Destination wird umgeschrieben auf die Zieladresse.
Die zweite Regel ändert anschließend in der Post-Routing-Tabelle die Absenderadresse des Pakets (SNAT = Source NAT) auf die IP des Servers so das die Pakete auch wieder geregelt über ihn zurückfließen können.
Die dritte Regel leitet Pakete die von einem lokalen Prozess auf dem Server erzeugt wurden über die OUTPUT Chain ebenfalls auf den Zielserver.

Und wie kann ich das wieder rückgängig machen, wenn ich mich vertan habe, ohne den vServer neu installieren zu müssen?
Übe es am besten in einer VM zu Hause ! Und wenn du es dann verstanden hast und es läuft, gehst du über zum Live-Objekt und setzt es dort um.

Bin auf Linux noch ambitionierter Anfänger bis leichter Fortgeschrittener, würde das gern verstehen und lernen.
iptables-Grundlagen

Schönen Nikolaus
Grüße Uwe
Bitte warten ..
Mitglied: Server-Nutzer
06.12.2014 um 23:57 Uhr
Hallo Uwe,

so, hab das mal probiert. Scheint zu funktionieren.

Schönen Dank! Und schönes Loch im Hemde äh Wochenende!
Jörg
Bitte warten ..
Mitglied: Server-Nutzer
07.12.2014 um 01:58 Uhr
Hm, eine Nachfrage hab ich dann doch:

"iptables -L" macht mir die o.g. drei eingefügten iptabels-Einträge nicht sichtbar.
Wie geht das denn, grad wenn ich die Einträge mal ändern/löschen möchte?

Beste Grüße
Jörg
Bitte warten ..
Mitglied: colinardo
07.12.2014, aktualisiert um 09:23 Uhr
Zitat von Server-Nutzer:

Hm, eine Nachfrage hab ich dann doch:

"iptables -L" macht mir die o.g. drei eingefügten iptabels-Einträge nicht sichtbar.
Wie geht das denn, grad wenn ich die Einträge mal ändern/löschen möchte?
Mit IPTables -L werden die Standardmäßig nur die Filter-CHAINS angezeigt, um dir die NAT-Tables (Prerouting/Postrouting/OUTPUT) anzeigen zu lassen benutze zusätzlich die Angabe der Tabelle mit dem Parameter -t
iptables -t nat -vL
Das v macht die Ausgabe etwas ausführlicher.

Um jetzt als Beispiel den ersten Eintrag in der PREROUTING Chain zu löschen:
iptables -t nat -D PREROUTING 1
Alles andere erfährst du in der manpage zu iptables (man iptables).

Grüße Uwe
Bitte warten ..
Mitglied: Server-Nutzer
07.12.2014 um 10:18 Uhr
Hallo Uwe,

ich bin bei der vielen Parametermöglichkeiten irgendwie "falsch" abgebogen.
Danke Dir.

Klappt übrigens, wie gewünscht: Habe mal Exchange-Zugang fürs Büro damit umgeleitet.
Über die Methode könnte man tatsächlich nun zwei Exchangeserver an einem (V)DSL-Anschluss (nur eine feste IP erhältlich bei Telekom) betreiben und von außen drauf zugreifen.

Schönen Sonntag noch.

Jörg
Bitte warten ..
Mitglied: colinardo
07.12.2014, aktualisiert um 12:21 Uhr
Noch zur Info falls du es mal irgendwann brauchen solltest: Die Funktion eines Port-Proxies gibt es nativ auch auf Windows-Maschinen: netsh interface portproxy

Schönen Sonntag noch.
Gleichfalls

Uwe
Bitte warten ..
Ähnliche Inhalte
E-Mail
gelöst Exchange 2016 - Empfang und Versand über unterschiedliche IP (6)

Frage von ArnoNymous zum Thema E-Mail ...

Server-Hardware
gelöst Empfehlung KVM over IP Switch (8)

Frage von Androxin zum Thema Server-Hardware ...

Internet
No ip Set top Box und kabel bw (4)

Frage von winlin zum Thema Internet ...

LAN, WAN, Wireless
PfSense vergibt auf VLAN1 per DHCP IP-Adressen, auf VLAN2 nicht (5)

Frage von sirhc4022 zum Thema LAN, WAN, Wireless ...

Neue Wissensbeiträge
Administrator.de Feedback

Umgangsformen auf der Seite

(3)

Information von Frank zum Thema Administrator.de Feedback ...

Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(10)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Exchange Server
gelöst RU 17 Exchange 2010 . Erfahrungen? (11)

Frage von keine-ahnung zum Thema Exchange Server ...

Batch & Shell
Dir tc Befehl unter Windows 10 macht Probleme (11)

Frage von sugram zum Thema Batch & Shell ...

Windows Server
Festplatten Ruhezustand Windows Server 2016 (10)

Frage von ahaeuser zum Thema Windows Server ...