Portweiterleitung von eingeschränktem Netzwerk mit uneingeschränktem Heimnetzwerk

0

Hier ist das Szenario: Ich habe eine Unternehmens-E-Mail, deren SMTP-Server Port 2525 überwacht. Ich kann problemlos einen E-Mail-Client wie Thunderbird in meinem Zuhause konfigurieren. Ich habe auch einen anderen Job, bei dem die meisten ausgehenden Ports geschlossen sind, einschließlich 2525. Es gibt jedoch einige Ports, die für ausgehenden Datenverkehr geöffnet sind.

Gibt es eine Möglichkeit für mich, mein uneingeschränktes Heimnetzwerk und meinen Router (und ein rund um die Uhr verfügbares Linux-System) zu verwenden, um den Datenverkehr umzuleiten? Ich habe einmal etwas Ähnliches mit SSH-Tunneling gemacht, um ohne Proxy-Einschränkungen im Internet zu surfen, aber das ist anders.

Was ich vorhabe: In einem eingeschränkten Netzwerk: Stellen Sie SMTP an jedem offenen Port, den ich finde, auf meine statische Heim-IP ein. Zu Hause: Leiten Sie diesen Port auf (1) direkt reales SMTP auf 2525 um (2) lokalen Server und leiten Sie ihn dann irgendwie auf SMTP auf 2525 um

Also: Wie heißt das, was ich versuche zu tun? Wie kann ich das erreichen?

Vielen Dank

alete
quelle

Antworten:

1

Wie heißt das, was ich versuche zu tun?

TCP-Relay

Wie kann ich das erreichen?

socat :

...

socat TCP4-LISTEN:www TCP4:www.domain.org:www

Installiert einen einfachen TCP Port Forwarder. Mit TCP4-LISTEN wird der lokale Port "www" abgehört, bis eine Verbindung eingeht, akzeptiert, eine Verbindung zum Remote-Host (TCP4) hergestellt und die Datenübertragung gestartet. Es wird keine zweite Verbindung akzeptiert.


socat -d -d -lmlocal2 \
TCP4-LISTEN:80,bind=myaddr1,su=nobody,fork,range=10.0.0.0/8,reuseaddr \
TCP4:www.domain.org:80,bind=myaddr2

TCP-Portweiterleitung, wobei jede Seite an eine andere lokale IP-Adresse gebunden ist (Bindung). In diesem Beispiel wird eine nahezu beliebige Anzahl paralleler oder aufeinanderfolgender Verbindungen verarbeitet, indem nach jedem accept () ein neuer Prozess ausgelöst wird. Es bietet ein wenig Sicherheit, indem es den Benutzer niemandem vorwirft, nachdem er gegabelt hat. Es werden nur Verbindungen aus dem privaten Netzwerk (Reichweite) zugelassen. Aufgrund von reuseaddr ist ein sofortiger Neustart nach Beendigung des Masterprozesses möglich, auch wenn einige untergeordnete Sockets nicht vollständig heruntergefahren wurden. Mit -lmlocal2 meldet sich socat bei stderr an, bis die accept-Schleife erfolgreich erreicht wurde. Die weitere Protokollierung ist an Syslog mit der Funktion local2 gerichtet.


socat TCP4-LISTEN:5555,fork,tcpwrap=script \
EXEC:/bin/myscript,chroot=/home/sandbox,su-d=sandbox,pty,stderr

Ein einfacher Server, der Verbindungen akzeptiert (TCP4-LISTEN) und für jede Verbindung einen neuen untergeordneten Prozess ausgibt. Jedes Kind fungiert als einzelnes Relais. Der Client muss den Regeln für den Daemon-Prozessnamen "script" in /etc/hosts.allow und /etc/hosts.deny entsprechen, andernfalls wird ihm der Zugriff verweigert (siehe "man 5 hosts_access"). Zum Ausführen des Programms verarbeitet das Kind chroot's to / home / sandbox, su's to user sandbox und startet dann das Programm / home / sandbox / bin / myscript. Socat und myscript kommunizieren über eine Pseudotty (pty); Der stderr von myscript wird nach stdout umgeleitet, so dass die Fehlermeldungen über socat an den verbundenen Client übertragen werden.


socat EXEC:"mail.sh [email protected]",fdin=3,fdout=4 \
TCP4:mail.relay.org:25,crnl,bind=alias1.server.org,mss=512

mail.sh ist ein mit socat verteiltes Shell-Skript, das einen einfachen SMTP-Client implementiert. Es ist so programmiert, dass es SMTP auf seinen FDs 3 (in) und 4 (out) "spricht". Die Optionen fdin und fdout weisen socat an, diese FDs für die Kommunikation mit dem Programm zu verwenden. Da mail.sh stdin und stdout erbt, während socat sie nicht verwendet, kann das Skript einen Mail-Body von stdin lesen. Socat macht alias1 zu Ihrer lokalen Quelladresse (bind), kümmert sich um den korrekten Abschluss der Netzwerkleitung (crnl) und sendet höchstens 512 Datenbytes pro Paket (mss).

...

RedGrittyBrick
quelle
Wunderbar Tolles Zitat von socat. Vielen Dank auch für den Hinweis auf den Namen der Technik. Manchmal (speziell für Nicht-Englisch-Sprecher) ist es nur das Fehlen von Werkzeugen, um etwas zu googeln.
alete