Zdalnie do stacji roboczej Linux za zaporą ogniową

8

Powiedzmy, że mam stację roboczą z systemem Linux za zaporą ogniową. Więc nawet jeśli mam na nim skonfigurowany serwer dostępu zdalnego (taki jak najdoskonalszy serwer NoMachine NX), nie mogę uzyskać dostępu do niego z domu.

Moja sieć domowa ma serwer Linux. Czy można ssh z pracy do domowej maszyny z systemem Linux i skonfigurować tunel, aby po powrocie do domu mógł uruchomić klienta NX, skierować go do mojego domowego Linux-a na jakimś porcie, takim jak 9000, i przekazać go dalej przez tunel do portu 22 na moim komputerze z systemem Linux? Jak mam to skonfigurować?

CaptSaltyJack
źródło
Twoja firma nie zapewnia dostępu VPN?
Keith

Odpowiedzi:

8

Z komputera w pracy utwórz tunel do maszyny z ssh w domu:

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

Spowoduje to przekierowanie zdalnego portu 44455 z serwera domowego do portu 22 (lub dowolnego portu, na którym nasłuchuje ssh) na komputerze roboczym.

Z domu sprawdź, czy coś nasłuchuje na 44455

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

Następnie, aby połączyć się z domu z komputerem roboczym, z serwera domowego:

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

Stamtąd powinieneś być podłączony do swojej maszyny roboczej przez tunel.

CJ Travis
źródło
Idealnie, dokładnie tego szukałem. Następnie mogę używać NX do zdalnego logowania.
CaptSaltyJack
Wspaniale, cieszę się, że pomogłem!
CJ Travis
1

Możesz ustawić przekierowywanie portów z zaporą ogniową, a nawet użyć narzędzia takiego jak „odbijanie”, aby przekierować porty, jeśli istnieją pewne ograniczenia co do tego, co możesz zrobić z zaporą, ale oto co bym zrobił gdybym był tobą:

Zainstaluj doskonałe bezpłatne oprogramowanie OpenVPN typu open source. Skonfiguruj serwer docelowy jako klient OpenVPN (i skonfiguruj nieskończone próby połączenia), a domowy serwer Linux jako serwer OpenVPN. W ten sposób serwer docelowy, na którym działa klient OpenVPN, będzie połączony z twoim domowym serwerem Linux, ilekroć będzie działał i podłączony do Internetu - za pośrednictwem tego połączenia VPN możesz mieć pełny dostęp do swojego serwera roboczego / docelowego (z uruchomionym klientem OpenVPN) .

  OpenVPN (w pełni funkcjonalne bezpłatne, open source, rozwiązanie VPN dla użytkowników)
  http://www.openvpn.net/index.php/open-source.html

Randolf Richardson
źródło
Tak więc, aby upewnić się, że mam to prawo: mój domowy system Linux działa na serwerze OpenVPN, a mój system Linux w pracy działa na kliencie OpenVPN, który pozostaje podłączony do mojej domowej sieci VPN na Linuksie? I to pozwoli mi (w domu) na zdalne podłączenie do mojego Linux-a?
CaptSaltyJack
@CaptSaltyJack: Tak. Celem sieci VPN jest rozszerzenie sieci na inny komputer lub inną sieć większej liczby komputerów, a komunikacja może przebiegać w obie strony. Możesz ustawić jedno z nich jako serwer VPN (i prawdopodobnie bardziej przydatne byłoby skonfigurowanie pracy jako serwera, ale sposób, w jaki zadałeś pytanie, skłonił mnie do zasugerowania inaczej - to naprawdę nie ma znaczenia, w którą stronę robisz to jednak). Prywatny adres IP serwera OpenVPN to 10.8.0.1 (domyślnie), a pierwszy klient OpenVPN to 10.8.0.6 (domyślnie) - będą mogli pingować / łączyć się ze sobą.
Randolf Richardson
@CaptSaltyJack: Serwer, który ma statyczny adres IP, powinien być także serwerem OpenVPN (chyba że ma nazwę hosta, która zmienia się automatycznie wraz z adresem IP).
Randolf Richardson
Cóż, w pracy sieć jest skonfigurowana w taki sposób, że wszystkie komputery są zaporą ogniową, a do świata zewnętrznego mają jeden adres IP. Więc nie sądzę, żebym mógł uruchomić serwer VPN na moim komputerze roboczym i połączyć się z nim. Prawdopodobnie musiałbym mieć połączenie z moją maszyną domową.
CaptSaltyJack
@CaptSaltyJack: Tak jak podejrzewałem. Niezależnie od tego, jak to skonfigurujesz (bez względu na to, która strona jest serwerem OpenVPN), twoje aplikacje (w tym ssh) nie będą znać różnicy.
Randolf Richardson
1

Jak podłączyć się do Linux-a na porcie 3389 (RHEL5)

Niestety port 22 jest blokowany przez wiele zapór ogniowych, a tunele mogą otwierać dziury w zabezpieczeniach, dlatego najlepszym rozwiązaniem jest ustawienie ssh i NX na nasłuch na porcie 3389 zamiast standardowego 22, co może dezorientować większość hakerów

Skonfiguruj OpenBSD, aby nasłuchiwał portu 3389

vim /etc/ssh/sshd_config

Port 3389

service sshd restart

Pobierz klienta NX dla Windows na stronę ftp RHEL

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

Pobierz NX Free Edition na Linux

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

Jako root - zainstaluj NX w tej kolejności

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

Skonfiguruj NX dla portu 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
Jerzy
źródło