ฉันมีปัญหาที่ค่อนข้างน่าสนใจสำหรับคุณ นอกจากนี้ยังค่อนข้างซับซ้อน สมมติว่าคุณกำลังใช้ VirtualBox เป็นเครื่องมือการจำลองเสมือนที่คุณต้องการ สมมติว่าคุณมีปัญหากับการเร่งความเร็ว 3 มิติ - หน้าจอมืดและทั้งหมดนั้น ดังที่คุณได้เห็นในบทช่วยสอนของฉัน การแก้ไขคือการใช้การเพิ่มผู้เยี่ยมชมจาก repo แต่ชุด repo นี้จัดทำโดยการแจกจ่ายซึ่งแตกต่างจากส่วนเพิ่มเติมที่มีให้โดย ISO อย่างเป็นทางการไม่มีไดรเวอร์โฟลเดอร์ที่ใช้ร่วมกัน ซึ่งหมายความว่าคุณไม่มีฟังก์ชันนี้
เพื่อทำให้สิ่งต่าง ๆ ซับซ้อนยิ่งขึ้น สมมติว่าคุณต้องการแชร์สิ่งต่าง ๆ เราได้พูดคุยเกี่ยวกับเรื่องนี้ในบทช่วยสอนอื่นซึ่งมีชื่อว่าเครือข่ายและการแชร์ที่เหมาะเจาะ แต่คุณใช้ NAT แทนที่จะเป็นเครือข่ายแบบบริดจ์ ดังนั้นจึงไม่สามารถเข้าถึงเครื่องเกสต์จากโฮสต์ของคุณด้วยวิธีปกติใดๆ และคุณไม่ต้องการใช้ Samba หรือเหมือนกัน ดังนั้นสถานการณ์ทั้งหมดจึงซับซ้อนยิ่งขึ้น โอเค ให้ฉันแสดงวิธีโอนไฟล์จากโฮสต์ไปยังแขกโดยไม่ต้องแชร์โฟลเดอร์ขณะใช้ NAT ไม่มีการหลอกลวงทางอินเทอร์เน็ต เรากำลังดำเนินการทั้งหมดในท้องถิ่น หลังจากฉัน.
คำชี้แจงปัญหา
อย่างที่คุณเห็น เรามีปัญหาที่ดูเหมือนว่าเราต้องทำให้มองเห็นเครื่องของเราได้มากขึ้นโดยการเชื่อมอะแดปเตอร์เครือข่าย ซึ่งอาจไม่ใช่สิ่งที่คุณต้องการ โดยเฉพาะอย่างยิ่งถ้าคุณมีเครื่องเสมือนที่ 'ส่งเสียงดัง' และคุณอาจต้องตั้งค่า เซิร์ฟเวอร์แชร์ไฟล์และอะไรก็ตาม ซึ่งทั้งหมดนี้ใช้เวลามากกว่างานเล็กน้อย อีกทางเลือกหนึ่งคือการใช้ VirtualBox ISO ปิดใช้งานการเร่งความเร็ว 3D ในกรณีนี้ จนกว่าปัญหาหน้าจอดำจะหายไป แต่ให้พิจารณาว่ามันเป็นปัญหาที่เลื่องลือในทุกรูปแบบ จากนั้นเราสามารถใช้คุณลักษณะโฟลเดอร์ที่ใช้ร่วมกันได้
ในหัวข้อนั้น หากคุณใช้แพ็คเกจ repo คุณจะมีเนื้อหาส่วนใหญ่ - การเร่งความเร็วกราฟิก การรวมเมาส์ การปรับขนาดหน้าจอ การแชร์คลิปบอร์ด และบางส่วน - แต่ไม่ใช่โฟลเดอร์ หากคุณพยายามต่อเชื่อมโฟลเดอร์ที่ใช้ร่วมกันด้วยตนเอง คุณจะได้รับสิ่งต่อไปนี้:
เมานต์ -t vboxsf
เมานต์:ประเภทระบบไฟล์ที่ไม่รู้จัก 'vboxsf'
วิธีแก้ปัญหา:การส่งต่อพอร์ต
VirtualBox ให้คุณกำหนดค่ากฎเครือข่ายขั้นสูงสำหรับเครื่อง NAT-ed ของคุณ โดยพื้นฐานแล้ว สิ่งนี้ไม่ได้แตกต่างจากวิธีการทำงานของเราเตอร์ของคุณเมื่อแปลที่อยู่ IP ในเครื่องเป็นที่อยู่สาธารณะ และในทางกลับกัน VirtualBox เป็นเราเตอร์ของคุณที่นี่ เรายังพบสิ่งนี้ด้วย Docker ซึ่งคุณสามารถแมปพอร์ตโฮสต์กับพอร์ตคอนเทนเนอร์ เพื่อให้คุณเข้าถึงระบบโลคัลของคุณได้อย่างมีประสิทธิภาพ แต่ความจริงแล้วคุณกำลังเชื่อมต่อกับคอนเทนเนอร์ หรือในกรณีนี้คือเครื่องเสมือน
อย่างไรก็ตาม เลือกเครื่องเสมือนของคุณ> การตั้งค่า ภายใต้ เครือข่าย สำหรับประเภทเครือข่าย NAT ให้ขยายส่วน ขั้นสูง ไปทางด้านล่าง จากนั้นคลิกที่การส่งต่อพอร์ต นี่จะเป็นการเปิดตารางที่คุณสามารถป้อนรายละเอียดที่จำเป็นได้ IP โฮสต์ - ที่อยู่ IP ของอินเทอร์เฟซที่คุณต้องการใช้ คุณอาจมีมากกว่าหนึ่งเครื่อง แต่วิธีแก้ปัญหาที่ง่ายที่สุดคือใช้ localhost (127.0.0.1) เพราะวิธีนี้จะใช้ได้แม้ว่าอินเทอร์เฟซอื่นๆ ของคุณจะหยุดทำงาน หรือคุณไม่มีการเชื่อมต่อภายนอกโฮสต์ พอร์ตโฮสต์ - จะเป็นที่อยู่ 'เสมือน' ที่คุณจะเชื่อมต่อ ตัวอย่างเช่น สำหรับ SSH คำใบ้คำใบ้ เราสามารถแมปพอร์ต 2222 ให้เป็นพอร์ตโฮสต์ได้ ซึ่งหมายความว่าหากคุณเชื่อมต่อกับพอร์ตนี้ คุณจะเชื่อมต่อกับ Guest IP ได้อย่างมีประสิทธิภาพที่พอร์ต Guest ที่เกี่ยวข้องซึ่งระบุไว้ในตาราง แท้จริงแล้ว อีกสองฟิลด์มีไว้สำหรับข้อมูลเครื่องเสมือน เช่นเดียวกับที่เราทำกับโฮสต์ของเรา
เชื่อมต่อกับ SSH
ตอนนี้เรามีการเชื่อมต่อที่แท้จริงแล้ว คุณอาจจะบอกว่าเดี๋ยวก่อน SSH สำหรับ Linux! ใช่ เนื่องจากเรามีปัญหาใน Linux ไม่มีปัญหาหน้าจอดำกับ Windows ดังนั้นการเร่งความเร็ว 3 มิติ + การเพิ่มแขกจาก ISO จะทำงานได้ดี เออร์โก, ลินุกซ์
ตอนนี้เราสามารถเชื่อมต่อจากโฮสต์ของเราไปยังแขกโดยใช้ SSH (บนพอร์ต 2222) แต่แน่นอน ขั้นตอนแรกคือต้องแน่ใจว่าเซิร์ฟเวอร์ opensh ได้รับการติดตั้งและทำงานในระบบปฏิบัติการเกสต์ เรายังจำเป็นต้องตรวจสอบให้แน่ใจว่าแขกไม่ได้ใช้ไฟร์วอลล์ที่ปิดกั้นการเชื่อมต่อขาเข้า ตอนนี้เราสามารถทดสอบสิ่งที่ให้
ssh -p 2222 [email protected]
ไม่สามารถสร้างความถูกต้องของโฮสต์ '[127.0.0.1]:2222 ([127.0.0.1]:2222)' ได้ ลายนิ้วมือของคีย์ ECDSA คือ SHA256:Eq0ow03sffLb7G49e3KNMgMrpVV/8wFfN6uicdxPnEL
แน่ใจไหมว่าต้องการเชื่อมต่อต่อ (ใช่/ไม่ใช่)
แต่นี่เป็นเพียงการทดสอบการเชื่อมต่อ เราต้องการ SCP เพื่อคัดลอกไฟล์จากโฮสต์ของเราไปยังแขก ตอนนี้เราต้องระบุพอร์ตที่กำหนดเองด้วย แต่โปรดทราบ:SSH ใช้ตัวพิมพ์เล็ก -p เพื่อระบุพอร์ต ในขณะที่ SCP ใช้แฟล็ก -P ตัวพิมพ์ใหญ่สำหรับหมายเลขพอร์ต ไปคิด ดังนั้นสิ่งทั้งหมดจะเป็นดังนี้:
scp -P 2222 "file" [email protected]:/home/roger/"location"/
"file" 100% 8244KB 135.0MB/s 00:00
บทสรุป
ฉันชอบแบบฝึกหัดประเภทนี้เพราะสามารถสร้างสรรค์และสนุกได้ เช่น เคล็ดลับ KVM และเครือข่ายบริดจ์ เมื่อมองแวบแรก คุณอาจคิดว่าคุณจะต้องใช้เครือข่ายบริดจ์ ตั้งค่า Samba หรือ NFS หรือไฟล์อีเมล ซึ่งอาจเป็นเรื่องน่าเบื่อ แต่เราแก้ไขปัญหาด้วยการส่งต่อพอร์ตและ SSH ซึ่งทั้งสองอย่างนี้ง่าย ไม่รบกวน และตั้งค่าหรือปิดใช้งานได้ง่ายมากหากไม่จำเป็น
ถ้าอย่างนั้น เราได้เรียนรู้ค่อนข้างมากในวันนี้ - เกี่ยวกับคุณสมบัติที่ขาดหายไปในการเพิ่มผู้เยี่ยมชมของ repo การใช้กฎเครือข่ายขั้นสูงและการส่งต่อพอร์ต SSH และ SCP และความแตกต่างเล็กน้อยในการใช้หมายเลขพอร์ต และแนวคิดอื่นๆ อีกสองสามข้อ นั่นจะเป็นทั้งหมด จำไว้ว่ามีวิธีแก้ไขปัญหาที่เรียบร้อยอยู่เสมอ หากคุณเต็มใจที่จะอดทนและมีระเบียบแบบแผน ดูแล.
ไชโย