Lưu lượng SSH qua kết nối openvpn bị đóng băng khi tôi gửi một tệp


13

Tôi có thiết lập kết nối openvpn (phiên bản 2.1_rc15 ở cả hai đầu) giữa hai hộp gentoo bằng các khóa được chia sẻ. nó hoạt động tốt cho hầu hết các phần. Tôi sử dụng mysql, http, ftp, scp trên vpn mà không gặp vấn đề gì. Nhưng khi tôi ssh từ máy khách đến máy chủ qua vpn, điều kỳ lạ xảy ra. Tôi có thể đăng nhập, tôi có thể thực thi một số lệnh. Nhưng nếu tôi cố chạy một ứng dụng ncurses như top hoặc tôi cố gắng tạo một tệp, kết nối sẽ bị đình trệ và tôi sẽ phải cắt phiên ssh.

Tôi có thể, ví dụ, thực thi "echo blah; echo .; Ech blah" và nó sẽ xuất ra ba dòng văn bản qua phiên ssh tốt. Nhưng nếu tôi thực thi "cat / etc / motd" thì phiên sẽ đóng băng ngay khi tôi nhấn enter.

Tôi đã biên dịch openvpn 2.1.1 trên máy mac của mình và sao chép qua thư mục cấu hình từ máy khách gentoo của tôi. Các phiên mac được kết nối và ssh hoạt động tốt mà không bị đóng băng.

Sau đó tôi đã biên dịch nó trên hộp gentoo cũ của tôi (kernel 2.6,26) mà tôi đang nghỉ hưu do ổ cứng sắp chết và ssh trên nó cũng hoạt động hoàn hảo.

Tại sao nó thất bại trên hộp gentoo hoàn toàn mới của tôi? Tôi đã thử biên dịch ba hạt nhân khác nhau trong trường hợp đó, nhưng khác hơn là không có sự khác biệt giữa các hộp gentoo cũ hơn và mới hơn của tôi mà tôi có thể nghĩ ra.

Bất kỳ đề xuất về những gì sai?


Trong trường hợp của tôi, ssh, cat, top& HTTP tất cả làm việc, nhưng scpkhông (nó sẽ hiển thị 100% chuyển và treo ở đó). Hạ MTU xuống 1380 đã sửa nó.
Roger Dueck

Câu trả lời:


13

có mùi như vấn đề mtu. cố gắng hạ thấp nó như được mô tả trong hướng dẫn chính thức hoặc trong bài đăng trên blog này .


2
Cảm ơn. Tôi đã thử bỏ MTU của giao diện ethernet nhưng không có kết quả, nhưng việc thêm "đoạn 1400" vào máy khách và máy chủ như trong bài đăng mà bạn đề cập đã hoạt động rất tốt. Tôi tự hỏi tại sao hộp gentoo cũ hoạt động tốt nhưng hộp mới hơn thì không. Oh tốt, cố định bây giờ. Cảm ơn
Lionz Lion

Cảm ơn. Điều này đã khắc phục vấn đề của tôi. Tại văn phòng tôi có thiết lập chính xác tương tự mà không có bất kỳ vấn đề nào, nhưng tại nhà của tôi, nó có một số treo trong các trường hợp. Nếu tôi cuộn một url của một tệp có một - trong đó, nó sẽ bị treo. Không có dấu -, nó hoạt động: D và nếu tôi chia dòng dài trong tệp, nó cũng hoạt động. Nó không có ý nghĩa, nhưng cảm ơn cho giải pháp.
Peter

1
Lưu ý tùy chọn kiểm tra mtu của openvpn được đề cập trong bài đăng trên blog được liên kết ở trên. Điều này sẽ kiểm tra thực nghiệm mtu của đường hầm openvpn của bạn để bạn biết nên sử dụng giá trị nào khi đặt đoạn mã và mssfix và không chỉ đoán. Tôi đã thấy rất nhiều bài đăng trên internet cài đặt mtu / đoạn thành 1400, 1350, 1200, v.v. Nhưng khi tôi thực sự chạy thử nghiệm mtu, openvpn đã xác định MTU là 1189!
jdhildeb

7

Lệnh này giải quyết nó cho tôi:

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

Bạn có thể xác minh cài đặt tun0 bằng

$ ip a s

Chúc mừng!


1

Tôi gặp vấn đề về simillar khi OpenVPN đang kết nối trên 3g với phạm vi bảo hiểm xấu và mất gói. Chuyển sang TCP thay vì UDP đã khắc phục tất cả các vấn đề tôi gặp phải sau đó. Hy vọng điều này sẽ giúp bạn ra ngoài.


Chạy VPN qua TCP đi kèm với một loạt vấn đề riêng. Khắc phục sự cố MTU và ở lại với UDP có khả năng hoạt động tốt hơn so với sử dụng TCP.
kasperd

Đối với OP chỉ thay đổi MTU có lẽ là đề xuất tốt hơn so với thay đổi từ TCP sang UDP. Nếu bạn cực kỳ tệ, tệ đến mức OpenVPN thậm chí sẽ không thiết lập kết nối kết nối ổn định, thì bạn nên thử TCP thay vì UDP. Trong trường hợp 3G cực kỳ xấu, việc đổi sang TCP là điều duy nhất có hiệu quả với tôi.
valentt

1

Đúng, đó là tất cả về MTU.

Nhưng trong trường hợp của tôi, tôi đã gặp một vấn đề thậm chí còn kỳ lạ hơn. Ở nhà, sử dụng máy khách Windows OpenVPN, nó bị đóng băng. Nhưng trong văn phòng của tôi nó hoạt động tốt.

Tôi đã cố gắng thay đổi nó trên Modem ADSL của tôi nhưng không thành công. Tại Văn phòng của tôi, tôi sử dụng modem cáp và ISP khác.

Sau khi thay đổi bộ điều hợp MTU của Windows TAP thành 1200, nó hoạt động tốt. Một cái gì đó cao hơn thế, sẽ đóng băng cho tôi.

nhập mô tả hình ảnh ở đây


0

Tôi đã sử dụng đường hầm thay vì OpenVPN và tôi không thể tìm thấy cấu hình cho giá trị MTU. Thay vào đó, tôi đã tìm thấy giao diện cho VPN ở đầu ra của ifconfig(trong trường hợp của tôi là như vậy utun0) và đặt MTU cho nó theo cách thủ công như sau:

ifconfig utun0 mtu 576

Sau đó, phiên ssh của tôi sẽ không đóng băng nữa.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.