Phiên SSH thông qua OpenVPN cắt / khóa sau một vài dòng


12

Tôi có một số lượng lớn máy tính không quạt giống hệt nhau chạy debian 6 (ARM). Hầu hết trong số này được kết nối qua comcast và hoạt động tốt. Có một số được kết nối với modem 'WiMax' và đang gặp sự cố giao tiếp.

Cụ thể: nếu tôi ssh đến một trong số này và thử một lệnh như 'ps -ax', tôi sẽ nhận được khoảng 3 dòng trở lại và sau đó phiên bị khóa. Nếu tôi để nó ngồi, cuối cùng nó sẽ đóng lại với một 'phiên được đóng bởi ngang hàng'.

Những gì tôi đã thử:

  • ssh -vvv → không có thông báo lỗi
  • ssh <user@host> 'command'→ điều này đôi khi sẽ trả về đầu ra đầy đủ của lệnh. Đôi khi nó sẽ không kết nối cả.

Gợi ý về những thứ khác để thử?

Tôi thấy rằng tôi có thể thực hiện một số lệnh thành công: ví dụ: nhấn return hàng chục lần trở lên là được. cd ~và sau đó lflàm việc như là df -h. Tôi có thể chạy dfthành công nhiều lần nhưng ngay khi tôi thử thứ gì đó có đầu ra nhiều hơn (ví dụ ls /etc) nó sẽ bị khóa.

Có làm nên sự khác biệt khi tôi đang cố gắng giao tiếp giữa hai máy chủ này bằng OpenVPN không?


Đảm bảo MTU đường dẫn của bạn không thấp hơn MTU giao diện được cấu hình của bạn. SSH không phân mảnh vì vậy, với bit bit DF, các gói được loại bỏ thay thế. Đọc này để được giải thích chi tiết hơn nhiều.
Aaron Copley

1
Đã thử cài đặt MTU trên tất cả các giao diện thành 1400 mà không có hiệu quả rõ ràng. Đã thử nghiệm với ping -c 1 -s $((5000-28)) -M do machine-iptrả lại 1500 - giống như máy
ethrbunny

1
tracepath -n <ip>xác nhận điều này: 1500 được cho phép toàn bộ cách.
ethrbunny

1
Tha thứ cho sự thiếu hiểu biết của tôi, nhưng làm thế nào để -Tgiúp đỡ trong trường hợp này?
Aaron Copley

2
<Đọc đoạn thứ hai> Đây là một vấn đề MTU. <Đọc thêm> Yep, vấn đề MTU. Xem chủ đề này để giải thích. Tôi không bỏ phiếu để đóng như một bản sao vì có một điểm mà luồng khác không thảo luận: bạn cần thay đổi gì trong cấu hình VPN để khắc phục sự cố.
Gilles 'SO- ngừng trở nên xấu xa'

Câu trả lời:


11

Bạn có các triệu chứng của sự cố MTU : một số kết nối TCP bị đóng băng, ít nhiều có thể lặp lại cho một lệnh hoặc URL nhất định nhưng không có mẫu tổng thể dễ dàng nhận thấy. Một triệu chứng cụ thể là các phiên ssh tương tác hoạt động tốt miễn là bạn không chạy các lệnh với đầu ra lớn. Xem Không thể truy cập các trang web https chọn trên Linux qua PPPoE để được giải thích.

OpenVPN có một số tùy chọn liên quan đến MTU - tìm kiếm mt mtu trong hướng dẫn. Tôi không có đủ kinh nghiệm để tự tin về lựa chọn nào bạn cần thay đổi. (Thậm chí có khả năng bạn có thể thay đổi thứ gì đó trong cấu hình modem Wimax.) Tùy chọn có khả năng thay đổi nhất là mssfix: thử giảm giá trị cho đến khi khắc phục được sự cố. Mặc định là 1450; một cái gì đó như khoảng 1400 có thể khắc phục vấn đề của bạn. Hãy thử openvpn --fragment 1200 -mssfix; nếu nó giúp, tăng giá trị cho đến khi nó bắt đầu phá vỡ.


Đang bắt đầu bằng cách thiết lập mssfix 1200trên máy chủ và khởi động lại. Càng xa càng tốt. Nếu nó hoạt động tôi sẽ tăng lên 1300 hoặc 1400 và xem điều gì sẽ xảy ra. Quá nhiều máy khách để thay đổi tất cả các cấu hình từ xa mặc dù vậy phía máy chủ sẽ phải làm.
ethrbunny

Tôi biết đó là MTU!
Aaron Copley

3

Câu trả lời của Gilles là hoàn toàn chính xác, nhưng cũng có một nguyên nhân tiềm năng khác cho việc này.

Có một lỗi trong phiên bản 2.3.0 của OpenVPN, nó sẽ ngắt kết nối máy khách khi gửi khối dữ liệu lớn: https://community.openvpn.net/openvpn/ticket/263

Sự cố này chỉ xảy ra khi sử dụng TCP. UDP hoàn toàn không bị ảnh hưởng.


3

Chúng tôi có cùng một vấn đề, và đó thực sự là một vấn đề MTU. Tuy nhiên, đối với chúng tôi, vấn đề không nằm ở cấu hình openVPN mà là ở giao diện tun0.

Cách chúng tôi giải quyết: trước tiên hãy tìm kích thước gói tối đa đã đi qua, với

ping <host> -s 1500 -M do

và giảm giá trị 1500 cho đến khi giá trị được thực hiện (đối với chúng tôi, 1350).

Khi tìm thấy giá trị đúng, thay đổi giao diện tun0 với

sudo ip link set dev tun0 mtu 1350

như đã được đề xuất bởi Sebastian ở đây . Sau đó, VPN đã diễn ra suôn sẻ.

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.