Score:0

ปัญหาด้านประสิทธิภาพบนพอร์ตที่ส่งต่อ

ธง ma

ฉันทำงานนี้มาระยะหนึ่งแล้ว โชคไม่ดีนัก

ฉันใช้การส่งต่อพอร์ตเพื่อแสดงพอร์ต ssh บนเครื่องเสมือนภายในสู่โลกภายนอก (พอร์ต 8000 บนโฮสต์) เครื่องโฮสต์คือ Ubuntu 18.04LTS, 132 GB ram, AMD Epic 16/4 cores VM คือ Debian 11

ฉันใช้ ufw สำหรับการป้องกันทั่วไปของโฮสต์การเชื่อมต่อสามารถทำได้จากเครือข่ายของมหาวิทยาลัยเท่านั้น และผู้ใช้ภายนอกจะต้องใช้ VPN ไปยังเครือข่ายของมหาวิทยาลัยก่อนทำการเชื่อมต่อ มีเครือข่ายย่อยสองเครือข่าย เครือข่ายย่อยคลาส B ที่ครอบคลุมทั่วทั้งวิทยาเขต อีกเครือข่ายหนึ่งคือ 10.0.0.0/8 ซึ่งใช้โดย VPN และ WiFi ของมหาวิทยาลัยและกำหนดเส้นทางภายในมหาวิทยาลัย การใช้สภาพแวดล้อมตามแผนมีไว้สำหรับการสอนหลักสูตร OS ปีที่ 3

ฉันใช้ https://www.cyberciti.biz/faq/how-to-configure-ufw-to-forward-port-80443-to-internal-server-hosted-on-lan/ เป็นพื้นฐานเช่นเดียวกับหน้าอื่น ๆ อีกมากมายที่ฉันจำ URL ไม่ได้ทั้งหมด

เครือข่ายส่วนตัวภายในคือ 192.168.101.x /etc/ufw/before.rules ที่ฉันใช้คือ:

*แนท
: ยอมรับ [0:0]
# ส่งต่อ hostIP จากพอร์ต campusBSubnet 8000 ไปยัง 192.168.1.101:22
# ส่งต่อ hostIP จากพอร์ต campusVPNSubnet 8000 ถึง 192.168.1.101:22
-A PREROUTING -i br0 -d HostIP -s campusBSubnet -p tcp --dport 8000 -j DNAT --to-destination 192.168.101.2:22
-A PREROUTING -i br0 -d HostIP -s campusVPNSubnet -p tcp --dport 8000 -j DNAT --to-destination 192.168.101.2:22
#กำหนดเส้นทาง
-A โพสต์ -s 192.168.101.0/24 ! -d 192.168.101.0/24 -j สวมหน้ากาก
ให้สัญญา
...พักก่อน.กฎ

การแก้ไขอย่างหนึ่งจากหน้าเว็บที่อ้างอิงคือการเพิ่มข้อจำกัดที่อยู่ต้นทางเนื่องจากกฎ *nat ดูเหมือนจะข้ามการปฏิเสธเริ่มต้น ufw และอนุญาตให้ที่อยู่ภายนอกเข้าถึงพอร์ตที่ส่งต่อ

ใช้งานได้และอนุญาตให้ฉัน ssh เข้าสู่ VM จากภายนอกด้วย ssh -p 8000 HostName ดูเหมือนว่าทุกอย่างจะทำงานได้ดี ยกเว้นว่า x2go ใช้งานไม่ได้จริงๆ จอแสดงผลเริ่มต้นปรากฏขึ้น (และกล่องโต้ตอบที่ขอรหัสผ่านรูทเพื่อสร้างอุปกรณ์แสดงผลสี) และหลังจากนั้น ก็ไม่มีการตอบกลับ ไคลเอนต์ x2go บ่นว่าไม่มีการตอบสนองหลังจาก x วินาที โดยที่ x คือ ~30 วินาที

ฉันย้าย vm ไปที่อินเทอร์เฟซบริดจ์และให้ที่อยู่ IP ภายนอกและเชื่อมต่อโดยตรงกับ vm บนบริดจ์ ทุกอย่างทำงานได้ดีมีความล่าช้าเล็กน้อยบนอินเทอร์เฟซ x2go แต่ไม่สังเกตเห็นได้ชัด แต่บนเครือข่ายส่วนตัว nada ฉันทำการเปรียบเทียบความเร็วโดยใช้ scp เพื่อคัดลอกไฟล์ขนาดใหญ่ไปยังและจาก VM ทั้งบนบริดจ์และผ่านการส่งต่อพอร์ต และแม้ว่าการส่งต่อพอร์ตจะช้ากว่าเล็กน้อย แต่ก็มีความแตกต่างน้อยกว่า 10% ในความเร็วสำหรับกลุ่ม โอนย้าย.

ฉันรู้สึกสูญเสียเล็กน้อยว่าทำไมควรมีความแตกต่างในด้านประสิทธิภาพระหว่างตัวเลือกการส่งต่อพอร์ตและเวอร์ชันบริดจ์ นี่คือการทดสอบก่อนตั้งค่าบนเซิร์ฟเวอร์ที่มี 192 GB ram และ 180 คอร์สำหรับคอร์ เราจะเรียกใช้ครั้งละประมาณ 90 vms จาก 180 (สองเซสชันแล็บ) และเราไม่สามารถให้ที่อยู่ ipv4 180 รายการสำหรับหลักสูตรเดียวได้ ดังนั้นการกำหนดค่าบริดจ์จึงไม่ใช่ตัวเลือก

ดูเหมือนจะมีตัวเลือกมากมายสำหรับ x2go และฉันไม่ได้ดูตัวเลือกเหล่านั้นเลย ดังนั้นหากเป็นวิธีแก้ปัญหาที่เป็นไปได้ ฉันจะไม่ชี้ไปที่ตัวเลือกใดที่มีอยู่มากมาย

จากหนึ่งในหน้าก่อนหน้านี้ (ซึ่งเป็นข้อผิดพลาดของเซิร์ฟเวอร์หรือสแต็กโอเวอร์โฟลว์) ระบุว่า libvirt NAT ในตัวทำให้เกิดปัญหากับการส่งต่อพอร์ต ดังนั้นฉันจึงใช้เครือข่ายส่วนตัวที่กำหนดเส้นทางและกฎการกำหนดเส้นทางหลังที่สามในรูปด้านบน ปัญหาประสิทธิภาพเดียวกัน

ตอนนี้กลยุทธ์การสำรองข้อมูลของฉันคือรหัส Visual Studio โดยใช้ตัวเลือก ssh เพื่อแก้ไขบนเครื่องภายนอกและคอมไพล์และรันบน vm ดูเหมือนว่าจะทำงานได้ดีกับการส่งต่อพอร์ต ssh

ขอบคุณ.

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา