ปริมาณข้อมูล SSH ผ่านการเชื่อมต่อ openvpn หยุดทำงานเมื่อฉัน cat ไฟล์


13

ฉันมีการตั้งค่าการเชื่อมต่อ openvpn (เวอร์ชัน 2.1_rc15 ที่ปลายทั้งสอง) ระหว่างกล่อง gentoo สองกล่องโดยใช้คีย์ที่แชร์ มันใช้งานได้ดีสำหรับส่วนใหญ่ ฉันใช้ mysql, http, ftp, scp มากกว่า vpn โดยไม่มีปัญหา แต่เมื่อฉัน ssh จากไคลเอนต์ไปยังเซิร์ฟเวอร์ผ่าน vpn สิ่งประหลาดเกิดขึ้น ฉันลงชื่อเข้าใช้ฉันสามารถใช้คำสั่งบางอย่างได้ แต่ถ้าฉันพยายามเรียกใช้แอปพลิเคชัน ncurses เช่นด้านบนหรือฉันพยายาม cat ไฟล์การเชื่อมต่อจะหยุดทำงานและฉันจะต้องตัดเซสชัน ssh

ตัวอย่างเช่นฉันสามารถดำเนินการ "echo blah; echo.; echo blah" และมันจะออกข้อความสามบรรทัดในช่วง ssh ปรับ แต่ถ้าฉันรัน "cat / etc / motd" เซสชั่นจะหยุดทันทีที่ฉันกด Enter

ฉันรวบรวม openvpn 2.1.1 บน mac ของฉันและคัดลอกไปยังไดเรกทอรี config ของฉันจากไคลเอนต์ gentoo ของฉัน เซสชันที่เชื่อมต่อกับ mac และ ssh ทำงานได้ดีโดยไม่ต้องแช่แข็ง

จากนั้นฉันก็รวบรวมมันไว้ในกล่อง Gentoo รุ่นเก่าของฉัน (เคอร์เนล 2.6.26) ซึ่งฉันกำลังจะเกษียณเนื่องจากฮาร์ดไดรฟ์ที่กำลังจะตาย

ทำไมกล่อง gentoo ใหม่ของฉันถึงล้มเหลว ฉันได้ลองรวบรวมเมล็ดต่าง ๆ สามแบบในกรณีที่เป็นเช่นนั้น แต่นอกเหนือจากนั้นไม่ควรมีความแตกต่างระหว่างรุ่นพี่และรุ่นเกนดูที่ฉันคิดได้

ข้อเสนอแนะใด ๆ ในสิ่งที่ผิด?


ในกรณีของฉันssh, cat, topและ HTTP ทั้งหมดทำงาน แต่scpไม่ได้ (มันจะแสดง 100% โอนและแขวนที่นั่น) การลด MTU เป็น 1380 ได้แก้ไข
— Roger Dueck

คำตอบ:


14

มีกลิ่นเหมือนปัญหาของ mtu พยายามลดมันตามที่อธิบายไว้ในคู่มืออย่างเป็นทางการหรือในโพสต์บล็อกนี้


2
ขอบคุณ ฉันลองวาง MTU ของอินเตอร์เฟส ethernet โดยไม่มีผลลัพธ์ แต่เพิ่ม "fragment 1400" ไปยังไคลเอนต์และเซิร์ฟเวอร์ตามที่คุณพูดถึงใช้งานได้ดี ฉันสงสัยว่าทำไมกล่อง Gentoo รุ่นเก่าทำงานได้ดี แต่กล่องที่ใหม่กว่าไม่ทำงาน โอ้ดีคงที่แล้ว ขอบคุณ
— Pawz Lion

ขอบคุณ นี่เป็นการแก้ไขปัญหาของฉัน ที่สำนักงานฉันมีการตั้งค่าเดียวกันแน่นอนโดยไม่มีปัญหาใด ๆ แต่ที่บ้านของฉันมันมีบางอย่างแขวนในบางกรณี ถ้าฉันม้วน URL ของไฟล์ที่มี - ในนั้นมันแฮงค์ หากไม่มี - มันใช้งานได้: D และถ้าฉันแยกบรรทัดยาว ๆ ในไฟล์ออกมามันก็ใช้งานได้เช่นกัน มันไม่มีเหตุผล แต่ขอบคุณสำหรับการแก้ปัญหา
— ปีเตอร์

1
หมายเหตุตัวเลือกการทดสอบ mtuของ openvpn ที่กล่าวถึงในโพสต์บล็อกที่ลิงก์ด้านบน สิ่งนี้จะทดสอบสังเกตุ mtu ของอุโมงค์ openvpn ของคุณเพื่อให้คุณรู้ว่าควรใช้ค่าใดเมื่อตั้งค่าแฟรกเมนต์และ mssfix และไม่ได้คาดเดา ฉันเห็นโพสต์มากมายในการตั้งค่าอินเทอร์เน็ต mtu / ส่วนที่ 1,400, 1,350, 1200, ฯลฯ แต่เมื่อฉันวิ่งทดสอบ mtu จริง openvpn กำหนด MTU เป็น 1189!
— jdhildeb

7

คำสั่งนี้แก้ให้ฉัน:

$ sudo ip link set dev tun0 mtu 1350 && echo ":)"

คุณสามารถตรวจสอบการตั้งค่า tun0 ด้วย

$ ip a s

ไชโย!


2

ใช่ทุกอย่างเกี่ยวกับ MTU

แต่ในกรณีของฉันฉันมีปัญหามากกว่าเดิม ที่บ้านใช้ไคลเอนต์ OpenVPN Windows มันค้าง แต่ในสำนักงานของฉันมันใช้งานได้ดี

ฉันพยายามที่จะเปลี่ยนมันในโมเด็ม ADSL ของฉันไม่ประสบความสำเร็จ ที่ Office ของฉันฉันใช้เคเบิลโมเด็มและ ISP อื่น ๆ

หลังจากเปลี่ยน MTU ของอะแดปเตอร์ Windows TAP เป็น 1200 แล้วก็ใช้งานได้ดี สิ่งที่สูงกว่านั้นจะหยุดสำหรับฉัน

ป้อนคำอธิบายรูปภาพที่นี่


1

ฉันมีปัญหา simillar เมื่อ OpenVPN เชื่อมต่อผ่าน 3G ด้วยความครอบคลุมที่ไม่ดีและการสูญเสียแพ็กเก็ต การเปลี่ยนเป็น TCP แทน UDP แก้ไขปัญหาทั้งหมดที่ฉันมีหลังจากนั้น หวังว่านี่จะช่วยคุณได้


การใช้ VPN ผ่าน TCP มาพร้อมกับชุดของปัญหา การแก้ไขปัญหา MTU และการใช้ UDP นั้นมีแนวโน้มที่จะทำงานได้ดีกว่าการใช้ TCP จะ
— kasperd

สำหรับ OP การเปลี่ยนเฉพาะ MTU น่าจะเป็นการแนะนำที่ดีกว่าการเปลี่ยนจาก TCP เป็น UDP หากคุณมีข้อเสียอย่างยิ่งเลวร้ายจน OpenVPN จะไม่สร้างการเชื่อมต่อที่เสถียรดังนั้นคุณควรลองใช้ TCP แทน UDP ในกรณี 3G ที่แย่มากที่เปลี่ยนเป็น TCP เป็นสิ่งเดียวที่ใช้ได้ผลสำหรับฉัน
— valentt

0

ฉันใช้ tunnelblick แทน OpenVPN และฉันไม่พบการกำหนดค่าสำหรับค่า MTU ฉันพบอินเทอร์เฟซสำหรับ VPN ในผลลัพธ์ของifconfig(ในกรณีของฉันutun0) และตั้งค่า MTU ด้วยตนเองดังนี้:

ifconfig utun0 mtu 576

หลังจากนั้นเซสชั่น ssh ของฉันจะไม่หยุดอีกต่อไป

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