คุณสามารถดูได้ว่าเป็นปัญหาของแอปพลิเคชันหรือปัญหาการเชื่อมต่อเครือข่าย
ฉันแนะนำรายการตรวจสอบ เริ่มต้นบนอุปกรณ์ที่ควรได้รับการจัดการจากระยะไกล:
1. พอร์ต TCP ของแอปพลิเคชันกำลังฟังอยู่หรือไม่
ติดตั้ง net-tools หากไม่ได้ติดตั้ง: sudo apt-get install net-tools
และใช้ netstat เพื่อตรวจสอบครั้งแรก:
sudo netstat -lntp
ค้นหาพอร์ตการฟัง ชื่อแอปพลิเคชัน/บริการอยู่ในคอลัมน์สุดท้ายของการตอบสนองคำสั่ง พอร์ต TCP ทั่วไปคือ: 5900 หรือ 5901... สำหรับ VNC, 3389 สำหรับ RDP เป็นต้น หมายเลขพอร์ตจะอยู่ในคอลัมน์ที่สามหลังจากโคลอน เช่น 0.0.0.0:5900
หากไม่มีการเปิดพอร์ตการฟังการเข้าถึงจากระยะไกล โดยปกติจะเป็นปัญหาการตั้งค่าแอปพลิเคชันหรือบริการไม่ได้เริ่มทำงาน ตรวจสอบบันทึกใน /var/log/ และสถานะการบริการ
2. ไฟร์วอลล์ของคุณอนุญาตการเชื่อมต่อขาเข้าหรือไม่?
sudo iptables-บันทึก
sudo iptables-บันทึก | grep <a หมายเลขพอร์ต TCP>
คำสั่งแรกแสดงรายละเอียดเกี่ยวกับไฟร์วอลล์ในเครื่อง หากมองไม่เห็นเอาต์พุตแสดงว่าไฟร์วอลล์ไม่ทำงาน ไม่จำเป็นต้องดำเนินการใดๆ ไปที่ขั้นตอน #3
ในกรณีที่บางบรรทัดอยู่ในรายการ คุณสามารถกรองตามคำสั่งที่สอง แทนที่ <a TCP port number>
ตามหมายเลขพอร์ตจริงของคุณ (เช่น 5900) จากขั้นตอน #1 ที่อธิบายไว้ข้างต้น หากพอร์ตของคุณไม่อยู่ในรายการพร้อมกับส่วนคำสั่ง ACCEPT ที่ท้ายบรรทัด คุณต้องเปิดพอร์ตในไฟร์วอลล์ มีความเป็นไปได้มากกว่าที่จะทำ ฉันไม่รู้ว่าคุณใช้การจัดการไฟร์วอลล์ประเภทใด (เฉพาะ iptables, UFW, GUFW...)
3. ระบบ Ubuntu 18.04 ของคุณสามารถเข้าถึงได้จากพีซีเครื่องอื่นผ่านทางเครือข่ายหรือไม่?
แสดงที่อยู่ IP
ไอพี
คำสั่งที่สองเป็นเวอร์ชันสั้นของคำสั่งแรก ใช้คำสั่งนี้ทั้งสองด้าน เช่น ใน Ubuntu 18.04 (PC-A) และในพีซีเครื่องอื่น (PC-B) ซึ่งคุณจะลองเชื่อมต่อกับ PC-A จากระยะไกล ค้นหาที่อยู่ IP ของพวกเขา
ใส่คำสั่งใน PC-B:
ping <ที่อยู่ IP ของ PC-A>
หากคุณเห็นการตอบสนอง ping ในเชิงบวก (เวลาตอบสนองเป็นมิลลิวินาที) จาก PC-A แสดงว่า PC-A สามารถเข้าถึงได้ในเครือข่าย
ในกรณีที่ไม่มีการตอบสนองหรือปฏิเสธปรากฏขึ้น คุณต้องแก้ไขปัญหาการเชื่อมต่อเครือข่าย
ใส่คำสั่งใน PC-B:
telnet <ที่อยู่ IP ของ PC-A> <a หมายเลขพอร์ต TCP>
ที่ไหน <a TCP port number>
กำลังฟังพอร์ตจากขั้นตอน #1
หากคำตอบคือ "เชื่อมต่อกับ .." แสดงว่าคุณตรวจสอบแล้วว่า PC-A สามารถเข้าถึงได้สำหรับการเข้าถึงระยะไกล
หากการตอบสนองเป็น "telnet: ไม่สามารถเชื่อมต่อกับรีโมตโฮสต์ได้: การเชื่อมต่อถูกปฏิเสธ" หรือไม่มีการตอบกลับเป็นเวลานาน หมายความว่าจุดปิดกั้นบางส่วนอยู่ระหว่าง PC-B และ PC-A
หากระบบปฏิบัติการ PC-B เป็น Windows ดังนั้น เทลเน็ต
ไม่สามารถใช้ได้ตามค่าเริ่มต้น คุณต้องติดตั้งโดยเพิ่มคุณสมบัติให้กับระบบ Window (แผงควบคุม, ถอนการติดตั้งหรือเปลี่ยนโปรแกรม, เปิดหรือปิดคุณสมบัติ Windows, ค้นหาไคลเอ็นต์ Telnet, เปิดใช้งาน)
4. คุณใช้แอปพลิเคชันการเข้าถึงระยะไกลและพอร์ตที่ถูกต้องบน PC-B หรือไม่
เป็นแหล่งปัญหาที่เป็นไปได้ต่อไป ติดตั้งและลองใช้แอปพลิเคชัน Remmina บน PC-B มีประโยชน์และเป็นสากล สามารถใช้กับประเภทการเข้าถึง VNC, RDP, SSH... ระวังเกี่ยวกับพอร์ต TCP ที่คุณใช้ ในกรณีที่ PC-A กำลังฟังบน 5901 คุณจะไม่สามารถใช้พอร์ตเริ่มต้น 5900 ในการเข้าถึง VNC เป็นต้น
หากระบบปฏิบัติการ PC-B เป็น Windows ให้ใช้ มสธ
สั่งการแทนเรมิน่า