รีโมตไปยังเวิร์กสเตชัน Linux หลังไฟร์วอลล์


8

สมมติว่าฉันมีเวิร์กสเตชัน Linux ในที่ทำงานอยู่หลังไฟร์วอลล์ ดังนั้นแม้ว่าฉันอาจมีเซิร์ฟเวอร์การเข้าถึงระยะไกลติดตั้งอยู่ (เช่นเซิร์ฟเวอร์ NoMachine NX ที่ยอดเยี่ยมที่สุด) แต่ฉันไม่สามารถเข้าถึงได้จากที่บ้าน

เครือข่ายในบ้านของฉันมีเซิร์ฟเวอร์ Linux เป็นไปได้ไหมที่ ssh จากที่ทำงานไปที่เครื่องลีนุกซ์ที่บ้านและตั้งค่าอุโมงค์เพื่อที่เมื่อฉันอยู่ที่บ้านฉันสามารถเรียกใช้ไคลเอนต์ NX ชี้ไปที่กล่อง Linux ที่บ้านของฉันบนพอร์ตบางพอร์ตเช่น 9000 และส่งต่อไป ผ่านอุโมงค์ไปยังพอร์ต 22 ในกล่อง Linux งานของฉัน ฉันจะตั้งค่านี้ได้อย่างไร


บริษัท ของคุณไม่ให้การเข้าถึง VPN บางอย่าง?
Keith

คำตอบ:


8

จากเครื่องในที่ทำงานให้สร้างอุโมงค์ไปยังเครื่องที่กำลังใช้งาน ssh ที่บ้าน:

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

สิ่งนี้จะส่งต่อรีโมตพอร์ต 44455 จากโฮมเซิร์ฟเวอร์ของคุณไปยังพอร์ต 22 (หรือพอร์ตใดก็ตามที่กำลังฟัง ssh) บนเครื่องทำงานของคุณ

จากบ้านตรวจสอบดูว่ามีอะไรกำลังฟังอยู่ใน 44455

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

ถัดไปเพื่อเชื่อมต่อจากที่บ้านกับที่ทำงานของคุณจากเซิร์ฟเวอร์ที่บ้านของคุณ:

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

จากนั้นคุณควรเชื่อมต่อกับเครื่องทำงานของคุณผ่านทางอุโมงค์


สมบูรณ์แบบสิ่งที่ฉันกำลังมองหา จากนั้นฉันสามารถใช้ NX เพื่อล็อกอินจากระยะไกล
CaptSaltyJack

ยอดเยี่ยมดีใจที่ได้ช่วย!
CJ Travis

1

คุณสามารถตั้งค่าการส่งต่อพอร์ตกับไฟร์วอลล์ของคุณหรืออาจใช้เครื่องมือเช่น "ตีกลับ" เพื่อกำหนดทิศทางพอร์ตใหม่หากมีข้อ จำกัด บางประการเกี่ยวกับสิ่งที่คุณได้รับอนุญาตให้ทำกับไฟร์วอลล์ของคุณ แต่นี่คือสิ่งที่ฉันทำ ถ้าฉันเป็นคุณ:

ติดตั้งซอฟต์แวร์ OpenVPN ที่ยอดเยี่ยมและโอเพนซอร์สที่ยอดเยี่ยม ตั้งค่าเซิร์ฟเวอร์เป้าหมายเป็นไคลเอนต์ OpenVPN (และกำหนดค่าความพยายามในการเชื่อมต่อที่ไม่สิ้นสุด) และเซิร์ฟเวอร์ Linux ที่บ้านของคุณเป็นเซิร์ฟเวอร์ OpenVPN ด้วยวิธีนี้เซิร์ฟเวอร์เป้าหมายที่ใช้ไคลเอนต์ OpenVPN จะเชื่อมต่อกับเซิร์ฟเวอร์ Linux ที่บ้านของคุณเมื่อใดก็ตามที่ทำงานและเชื่อมต่อกับอินเทอร์เน็ต - ผ่านการเชื่อมต่อ VPN นี้คุณสามารถเข้าถึงเซิร์ฟเวอร์งาน / เป้าหมายของคุณได้อย่างสมบูรณ์ (เรียกใช้ไคลเอนต์ OpenVPN) .

  OpenVPN (ฟรีเต็มรูปแบบเปิดแหล่งที่มาแก้ปัญหา VPN ของ userland)
  http://www.openvpn.net/index.php/open-source.html


ดังนั้นเพื่อให้แน่ใจว่าฉันมีสิทธิ์นี้: กล่อง Linux ในบ้านของฉันรันเซิร์ฟเวอร์ OpenVPN และกล่อง Linux ในที่ทำงานใช้งานไคลเอ็นต์ OpenVPN ที่เชื่อมต่อกับ VPN บ้าน Linux ของฉันอยู่หรือไม่ และนั่นจะทำให้ฉัน (ที่บ้าน) สามารถสั่งงานทางไกลในกล่อง Linux ที่ทำงานได้หรือไม่
CaptSaltyJack

@CaptSaltyJack: ใช่ จุดประสงค์ของ VPN คือเพื่อขยายเครือข่ายไปยังคอมพิวเตอร์เครื่องอื่นหรือเครือข่ายอื่นของคอมพิวเตอร์เครื่องอื่นและการสื่อสารสามารถทำได้ทั้งสองทาง คุณสามารถตั้งค่าเป็นเซิร์ฟเวอร์ VPN (และอาจเป็นประโยชน์มากกว่าในการตั้งค่าการทำงานของคุณเป็นเซิร์ฟเวอร์ แต่วิธีที่คุณถามคำถามของคุณทำให้ฉันขอแนะนำเป็นอย่างอื่น - มันไม่สำคัญว่าจะเป็นวิธีใด คุณทำมัน) IP ส่วนตัวของเซิร์ฟเวอร์ OpenVPN จะเป็น 10.8.0.1 (ค่าเริ่มต้น) และไคลเอนต์ OpenVPN ตัวแรกจะเป็น 10.8.0.6 (ค่าเริ่มต้น) - พวกเขาจะสามารถ ping / เชื่อมต่อซึ่งกันและกัน
Randolf Richardson

@CaptSaltyJack: เซิร์ฟเวอร์ที่มีที่อยู่ IP แบบคงที่ควรเป็นเซิร์ฟเวอร์ OpenVPN ด้วยซ้ำ (เว้นแต่จะมีชื่อโฮสต์ที่เปลี่ยนแปลงโดยอัตโนมัติด้วย IP)
Randolf Richardson

ในที่ทำงานเครือข่ายนั้นถูกตั้งค่าในลักษณะที่คอมพิวเตอร์ทุกเครื่องมีไฟร์วอลล์และโลกภายนอกที่พวกเขามี IP หนึ่งเครื่อง ดังนั้นฉันไม่คิดว่าฉันจะสามารถเรียกใช้เซิร์ฟเวอร์ VPN บนเครื่องทำงานของฉันและเชื่อมต่อกับมัน ฉันอาจต้องเชื่อมต่อกับเครื่องที่บ้านของฉัน
CaptSaltyJack

@CaptSaltyJack: เหมือนที่ฉันสงสัย ไม่ว่าคุณจะตั้งค่าด้วยวิธีใด (ฝั่งใดเป็นเซิร์ฟเวอร์ OpenVPN) แอปพลิเคชันของคุณ (รวมถึง ssh) จะไม่ทราบความแตกต่าง
Randolf Richardson

1

วิธีเชื่อมต่อกับกล่อง Linux บนพอร์ต 3389 (RHEL5)

น่าเสียดายที่พอร์ต 22 ถูกบล็อกโดยไฟร์วอลล์และอุโมงค์จำนวนมากอาจเปิดช่องโหว่ความปลอดภัยดังนั้นวิธีที่ดีที่สุดคือตั้งค่า ssh และ NX ให้ฟังพอร์ต 3389 แทนมาตรฐาน 22 ซึ่งอาจทำให้แฮ็กเกอร์ส่วนใหญ่สับสน

กำหนดค่า OpenBSD เพื่อฟังพอร์ต 3389

vim /etc/ssh/sshd_config

Port 3389

service sshd restart

ดาวน์โหลด NX Client สำหรับ Windows ไปยังไซต์ RHEL ftp

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

ดาวน์โหลด NX Free Edition สำหรับ 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

ในฐานะที่เป็น root - ติดตั้ง NX ตามลำดับนี้

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

กำหนดค่า NX สำหรับพอร์ต 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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.