Remote in Linux Workstation hinter einer Firewall

8

Angenommen, ich habe eine Linux-Workstation hinter einer Firewall im Einsatz. Obwohl ich möglicherweise einen RAS-Server eingerichtet habe (z. B. den besten NoMachine NX-Server), kann ich von zu Hause aus nicht darauf zugreifen.

Mein Heimnetzwerk hat zufällig einen Linux-Server. Ist es möglich, von der Arbeit auf den Linux-Heimcomputer zu ssh und einen Tunnel einzurichten, damit ich, sobald ich zu Hause bin, den NX-Client ausführen, auf meine Heim-Linux-Box an einem Port wie 9000 verweisen und diesen weiterleiten kann? durch den Tunnel zu Port 22 auf meiner Arbeits-Linux-Box? Wie würde ich das einrichten?

CaptSaltyJack
quelle
Ihr Unternehmen bietet keinen VPN-Zugang an?
Keith

Antworten:

8

Erstellen Sie von der Maschine bei der Arbeit aus einen Tunnel zu Ihrer Maschine, auf der ssh zu Hause ausgeführt wird:

randolf@workserver:~$ ssh -vvv randolf@myhomeserver -R 44455:localhost:22

Dadurch wird der Remote-Port 44455 von Ihrem Heimserver an Port 22 (oder den Port, den ssh abhört) auf Ihrem Arbeitscomputer weitergeleitet.

Überprüfen Sie von zu Hause aus, ob 44455 zu hören ist

randolf@homeserver:~$ netstat -an | grep 44455
tcp        0      0 127.0.0.1:44455         0.0.0.0:*               LISTEN 

So stellen Sie von zu Hause aus eine Verbindung zu Ihrem Arbeitscomputer her:

randolf@homeserver:~$ ssh localhost -p 44455
Password: ******

Von dort aus sollten Sie über Ihren Tunnel mit Ihrer Arbeitsmaschine verbunden sein.

CJ Travis
quelle
Perfekt, genau das, wonach ich gesucht habe. Dann kann ich mich mit NX remote anmelden.
CaptSaltyJack
Super, froh, geholfen zu haben!
CJ Travis
1

Sie könnten eine Portweiterleitung mit Ihrer Firewall einrichten oder möglicherweise sogar ein Tool wie "Bounce" verwenden, um Ports umzuleiten, wenn es einige Einschränkungen gibt, was Sie mit Ihrer Firewall tun dürfen, aber hier ist, was ich tun würde wenn ich du wäre:

Installieren Sie die hervorragende kostenlose Open Source OpenVPN-Software für Benutzer. Richten Sie den Zielserver als OpenVPN-Client ein (und konfigurieren Sie unendliche Verbindungswiederholungen) und Ihren Linux-Heimserver als OpenVPN-Server. Auf diese Weise wird der Zielserver, auf dem der OpenVPN-Client ausgeführt wird, immer dann mit Ihrem Linux-Heimserver verbunden, wenn er betriebsbereit und mit dem Internet verbunden ist. Über diese VPN-Verbindung können Sie vollen Zugriff auf Ihren Arbeits- / Zielserver haben (auf dem der OpenVPN-Client ausgeführt wird). .

  OpenVPN (kostenlose Open Source-VPN-Lösung mit vollem Funktionsumfang)
  http://www.openvpn.net/index.php/open-source.html

Randolf Richardson
quelle
Nur um sicherzugehen, dass ich das Recht habe: Auf meiner Linux-Heimbox läuft ein OpenVPN-Server, und auf meiner Linux-Box läuft ein OpenVPN-Client, der mit meinem Linux-Heim-VPN verbunden bleibt? Und das ermöglicht mir (zu Hause), in meine Linux-Arbeitsbox zu remote?
CaptSaltyJack
@ CaptSaltyJack: Ja. Der Zweck eines VPN besteht darin, das Netzwerk auf einen anderen Computer oder ein anderes Netzwerk mit mehreren Computern auszudehnen, und die Kommunikation kann in beide Richtungen erfolgen. Sie können entweder einen als VPN-Server einrichten (und es wäre wahrscheinlich sinnvoller, Ihre Arbeit als Server einzurichten, aber die Art und Weise, wie Sie Ihre Frage gestellt haben, hat mich dazu veranlasst, etwas anderes vorzuschlagen - es spielt wirklich keine Rolle, in welche Richtung du machst es aber). Die private IP des OpenVPN-Servers lautet 10.8.0.1 (Standard), und der erste OpenVPN-Client lautet 10.8.0.6 (Standard). Sie können miteinander pingen / eine Verbindung herstellen.
Randolf Richardson
@CaptSaltyJack: Der Server mit einer statischen IP-Adresse sollte jedoch auch der OpenVPN-Server sein (es sei denn, er hat einen Hostnamen, der sich automatisch mit der IP ändert).
Randolf Richardson
Nun, bei der Arbeit ist das Netzwerk so eingerichtet, dass alle Computer durch eine Firewall geschützt sind und für die Außenwelt eine IP haben. Ich glaube also nicht, dass ich einen VPN-Server auf meinem Arbeitscomputer ausführen und eine Verbindung dazu herstellen könnte. Ich müsste es wahrscheinlich mit meinem Heimcomputer verbinden.
CaptSaltyJack
@ CaptSaltyJack: Genau wie ich vermutet habe. So oder so, wie Sie es einrichten (egal auf welcher Seite sich der OpenVPN-Server befindet), Ihre Anwendungen (einschließlich ssh) kennen den Unterschied nicht.
Randolf Richardson
1

So stellen Sie eine Verbindung zu einer Linux-Box an Port 3389 her (RHEL5)

Leider wird Port 22 von vielen Firewalls blockiert, und Tunnel können Sicherheitslücken öffnen. Daher ist es am besten, ssh und NX so einzustellen, dass Port 3389 anstelle des Standards 22 abgehört wird, was die Mehrheit der Hacker verwirren kann

Konfigurieren Sie OpenBSD so, dass es Port 3389 überwacht

vim /etc/ssh/sshd_config

Port 3389

service sshd restart

Laden Sie NX Client für Windows von der RHEL-FTP-Site herunter

wget http://64.34.173.142/download/3.5.0/Windows/nxclient-3.5.0-9.exe

Laden Sie die NX Free Edition für Linux herunter

wget http://64.34.173.142/download/3.5.0/Linux/nxclient-3.5.0-7.i386.rpm
wget http://64.34.173.142/download/3.5.0/Linux/nxnode-3.5.0-9.i386.rpm
wget http://64.34.173.142/download/3.5.0/Linux/FE/nxserver-3.5.0-11.i386.rpm

Als root - Installieren Sie NX in dieser Reihenfolge

rpm –ivh nxclient-3.5.0-7.i386.rpm
rpm –ivh nxnode-3.5.0-9.i386.rpm
rpm –ivh nxserver-3.5.0-11.i386.rpm

Konfigurieren Sie NX für Port 3389

vim /usr/NX/etc /node.cfg
#
# Specify the TCP port where the NX node SSHD daemon is running.
#
SSHDPort = "3389"

vim /usr/NX/etc /server.cfg
#
# Specify the TCP port where the NX server SSHD daemon is running.
#
SSHDPort = "3389"

service nxsensor restart
nxserver --daemon restart
George
quelle