ปริมาณข้อมูล 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.