Terpencil ke workstation Linux di belakang firewall

8

Katakanlah saya memiliki workstation Linux di tempat kerja, di belakang firewall. Jadi meskipun saya mungkin memiliki server akses jarak jauh yang diatur di atasnya (seperti NoMachine NX Server yang paling baik), saya tidak dapat mengaksesnya dari rumah.

Jaringan rumah saya kebetulan memiliki server Linux. Apakah mungkin untuk ssh dari kantor ke mesin Linux rumahan dan mengatur sebuah terowongan sehingga setelah saya di rumah, saya dapat menjalankan NX client, mengarahkannya ke kotak Linux di rumah saya pada beberapa port seperti 9000, dan meneruskannya melalui terowongan ke port 22 di kotak Linux pekerjaan saya? Bagaimana saya mengatur ini?

CaptSaltyJack
sumber
Perusahaan Anda tidak menyediakan semacam akses vpn?
Keith

Jawaban:

8

Dari mesin di tempat kerja, buat terowongan ke mesin Anda yang menjalankan ssh di rumah:

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

Ini akan meneruskan port jarak jauh 44455 dari server rumah Anda ke port 22 (atau port mana saja yang sedang didengarkan ssh) pada mesin kerja Anda.

Dari rumah, periksa untuk melihat apakah ada sesuatu yang mendengarkan pada 44455

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

Selanjutnya, untuk terhubung dari rumah ke mesin kerja Anda, dari server rumah Anda:

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

Dari sana Anda harus terhubung ke mesin kerja Anda melalui terowongan Anda.

CJ Travis
sumber
Sempurna, persis apa yang saya cari. Kemudian saya bisa menggunakan NX untuk login jarak jauh.
CaptSaltyJack
Luar biasa, senang bisa membantu!
CJ Travis
1

Anda dapat mengatur beberapa port forwarding dengan firewall Anda, atau bahkan mungkin menggunakan alat seperti "bouncing" untuk mengarahkan kembali port jika ada beberapa batasan pada apa yang Anda boleh lakukan dengan firewall Anda, tapi inilah yang akan saya lakukan jika aku adalah kamu:

Instal perangkat lunak OpenVPN gratisan, sumber terbuka, dan pengguna yang sangat baik. Atur server target sebagai klien OpenVPN (dan konfigurasikan coba lagi koneksi tak terbatas), dan server Linux rumah Anda sebagai server OpenVPN. Dengan cara ini, server target yang menjalankan klien OpenVPN akan terhubung ke server Linux di rumah Anda kapan pun operasional dan terhubung ke internet - melalui koneksi VPN ini, Anda dapat memiliki akses penuh ke server target / kerja Anda (menjalankan klien OpenVPN) .

  OpenVPN (fitur lengkap gratis, sumber terbuka, solusi VPN userland)
  http://www.openvpn.net/index.php/open-source.html

Randolf Richardson
sumber
Jadi hanya untuk memastikan saya memiliki hak ini: kotak Linux rumah saya menjalankan server OpenVPN, dan kotak Linux saya di tempat kerja menjalankan klien OpenVPN yang tetap terhubung ke VPN Linux rumah saya? Dan itu akan memungkinkan saya (di rumah) untuk remote ke kotak Linux pekerjaan saya?
CaptSaltyJack
@CaptSaltyJack: Ya. Tujuan dari VPN adalah untuk memperluas jaringan ke komputer lain atau jaringan lain dari lebih banyak komputer, dan komunikasi dapat berjalan dua arah. Anda dapat menetapkan salah satu sebagai server VPN (dan mungkin akan lebih bermanfaat untuk mengatur pekerjaan Anda sebagai server, tetapi cara Anda mengajukan pertanyaan mendorong saya untuk menyarankan sebaliknya - benar-benar tidak masalah ke arah mana Anda melakukannya). IP pribadi server OpenVPN akan 10.8.0.1 (default), dan klien OpenVPN pertama adalah 10.8.0.6 (default) - mereka akan dapat melakukan ping / terhubung-satu sama lain.
Randolf Richardson
@CaptSaltyJack: Server yang memiliki alamat IP statis seharusnya juga menjadi server OpenVPN (kecuali jika memiliki nama host yang berubah secara otomatis dengan IP).
Randolf Richardson
Nah, di tempat kerja, jaringan diatur sedemikian rupa sehingga semua komputer di-firewall dan ke dunia luar mereka memiliki satu IP. Jadi saya tidak berpikir saya bisa menjalankan server VPN di mesin kerja saya dan terhubung. Saya mungkin harus menghubungkannya ke mesin rumah saya.
CaptSaltyJack
@CaptSaltyJack: Seperti yang saya duga. Apa pun cara Anda mengaturnya (sisi mana pun yang merupakan server OpenVPN), aplikasi Anda (termasuk ssh) tidak akan tahu bedanya.
Randolf Richardson
1

Bagaimana menghubungkan ke kotak Linux pada port 3389 (RHEL5)

Sayangnya, port 22 diblokir oleh banyak firewall dan terowongan dapat membuka lubang keamanan sehingga pendekatan terbaik adalah mengatur ssh dan NX untuk mendengarkan pada port 3389 bukannya standar 22 yang dapat membingungkan sebagian besar peretas

Konfigurasikan OpenBSD untuk mendengarkan port 3389

vim /etc/ssh/sshd_config

Port 3389

service sshd restart

Unduh NX Client untuk Windows ke situs ftp RHEL

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

Unduh NX Free Edition untuk 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

Sebagai root - Instal NX dalam urutan ini

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

Konfigurasikan NX untuk 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
sumber