Internet băng thông thấp qua VPN


10

Tôi vừa hoàn thành việc thiết lập một NAS có VPN với Raspberry Pi Model-B chưa được ép xung mới mua của tôi và tôi đã gặp phải điều gì đó mà tôi không thể tìm thấy câu trả lời cho nơi khác.

Băng thông internet, như được xác định bằng cách sử dụng

wget --output-document = / dev / null http://speedtest.wdc01.softlayer.com/doads/test500.zip

chậm hơn nhiều so với những gì tôi mong đợi nhận được. Tôi nhận được khoảng 1,34 MBps trên Pi của mình thông qua ethernet khi tôi đạt gần 7 MBps khi ethernet được cắm trực tiếp vào máy tính xách tay của tôi.

Vấn đề là với OpenVPN, nhưng tôi không thể biết chính xác nó là gì. Đây là cách tôi biết điều này.

Tôi đã so sánh tốc độ tải xuống trên Pi với VPN đã tắt và bật - đó là 5,03 MBPS so với 1,34 MBPS.

Sau đó, tôi đã thử nó trên máy tính xách tay của mình (có dây) - nó là 6,9 MBPS (hoàn hảo) so với 6,7 MBPS (gần hoàn hảo).

Vì vậy, lỗi không hoàn toàn nằm ở dịch vụ VPN của tôi (PrivateINETAccess) giúp giảm 3% băng thông trên máy tính xách tay của tôi - nhưng phải thực hiện với cách OpenVPN chạy trên Pi giúp giảm 74% băng thông.

Có ý tưởng nào về lý do tại sao OpenVPN trên Raspbian lại trở nên khủng khiếp như vậy không?

CẬP NHẬT: Hầu hết mức giảm từ 6,9 MBPS trên máy tính xách tay không có VPN xuống còn 5,03 MBPS trên Pi mà không có VPN dường như là từ tốc độ ghi thẻ SD, mà tôi đã xác định là khoảng 4,9 MBPS. Đó là mức giảm rất lớn từ 5.03 MPBS trên Pi mà không cần VPN xuống 1.3MBPS với VPN cần được giải thích.

CẬP NHẬT 2: Một số manh mối khác từ các đề xuất từ ​​các nhận xét: 1) OpenVPN sử dụng 70% CPU khi nó đang chạy và wget ở nền 2) Trên Pi, tôi nhận được 1,34 MBPS từ máy chủ VPN Hoa Kỳ và khoảng 500- 600 KBPS từ TẤT CẢ các máy chủ VPN Châu Âu, NHƯNG trên máy tính xách tay của tôi, tôi nhận được 6,7 MBPS từ máy chủ VPN Hoa Kỳ và 6,6 MBPS tương tự từ một số máy chủ châu Âu như máy chủ ở Hà Lan. Điều tôi đang nói là khoảng cách đến máy chủ dường như ảnh hưởng không tương xứng đến Pi hơn là máy tính xách tay của tôi.


Nó có thể là sự kết hợp giữa tốc độ ghi kém và chi phí VPN. Tôi không bao giờ thích sử dụng VPN vì chúng chỉ chậm trên internet và đường hầm SSH luôn nhanh nhất. Có tùy chọn nào để cho phép nén trên OpenVPN không? Có thể chơi với điều đó, có thể trên mã hóa bay gây ra vấn đề. Đó là một câu hỏi hay. Tôi cũng quan tâm đến các câu trả lời liên quan đến Pi
Piotr Kula

Nhìn vào tải CPU toptrong khi kiểm tra, điều đó sẽ nói lên điều gì đó về chi phí mã hóa.
Frepa

@Frepa Gợi ý tuyệt vời! Khi VPN được kích hoạt, OpenVPN sử dụng 70% CPU. Bạn có nghĩ rằng đây là những gì gây ra sự khác biệt lớn trong tỷ lệ chuyển nhượng?
dbrane

@dbrane, có vẻ như CPU ​​là yếu tố giới hạn. 30% thời gian CPU còn lại sẽ đi đâu? Nhàn rỗi? Từ bản cập nhật 2, có vẻ như độ trễ của mạng (tức là không chỉ thông lượng) rất quan trọng đối với hiệu suất. Có thể có một số bắt tay đang diễn ra trong VPN.
Frepa

@Frepa Hầu hết thời gian CPU còn lại được sử dụng bởi wget, đây là lệnh tôi sử dụng để kiểm tra tốc độ truyền. Mọi thứ khác trong danh sách sử dụng ít hơn 1% mỗi cái. Tôi đang sử dụng chứng chỉ CA với VPN, nếu thông tin đó có ích. Có lẽ tôi nên thử ép xung và xem nếu nó giúp?
dbrane

Câu trả lời:


4

Trên các thiết bị có công suất thấp, ít nhất là khi sử dụng SSH, tôi đã có kinh nghiệm sử dụng mật mã RC4 để cải thiện hiệu suất vì nó nhanh hơn về mặt tính toán, do đó sử dụng ít CPU hơn cho băng thông / cho phép băng thông cao hơn cho cùng mức sử dụng CPU. Hướng dẫn này giải thích cách thay đổi mật mã thành bất kỳ mật mã nào được OpenSSL hỗ trợ - như RC4:

http://openvpn.net/index.php/open-source/documentation/howto.html#securance

Lưu ý rằng RC4 không phải là thuật toán an toàn nhất hiện có, nhưng SSL vẫn sử dụng nó theo những cách an toàn (tồn tại, như được mô tả ở đây: http://en.wikipedia.org/wiki/RC4 ). Cập nhật : điều này ít đúng hơn so với trước đây. Niềm tin vào bảo mật của RC4 thậm chí còn giảm hơn nữa, vì các kỹ thuật để phá vỡ nó trước và năm 2013 đã cho chúng ta nhiều tiến bộ khác nhau trong việc phá vỡ RC4suy đoán về NSA đã quản lý . Trích dẫn Wikipedia:

Kể từ năm 2013, có suy đoán rằng một số cơ quan mật mã nhà nước có thể sở hữu khả năng phá vỡ RC4 ngay cả khi được sử dụng trong giao thức TLS. [3] Microsoft khuyên bạn nên vô hiệu hóa RC4 nếu có thể. [4] [5]

Vì vậy, tôi vẫn có thể giới thiệu RC4? Không thực sự nói chung. Tất nhiên bạn cần phải đánh đổi bảo mật và hiệu suất, và có thể bạn thực sự không cần nhiều bảo mật - bất kỳ mật mã nào, ngay cả RC4, vẫn sẽ làm chậm các nỗ lực giám sát dragnet như của NSA. Nhưng tôi sẽ thực sự cẩn thận với dữ liệu thực sự nhạy cảm và thay đổi thuật toán sang thứ khác nếu có thể (Tôi đã bắt đầu đo điểm chuẩn Raspberry của mình để tìm kiếm các lựa chọn thay thế nhanh).

Cập nhật 2 : trên của tôi (overclock) Mâm xôi, AES không phải là quá chậm, nếu bạn có đủ CPU có sẵn. Bảng dưới đây cho thấy RC4 có thể mã hóa ~ 57MB / s, trong khi AES-128-CBC có thể mã hóa ~ 21,4 MB / s. Tất nhiên, điều này không giải thích lý do tại sao bạn có hiệu suất kém như vậy - nhưng có thể bạn đang sử dụng theo mặc định một cypher chậm hơn hoặc có thể có một số kém hiệu quả khác có thể được cải thiện.

$ openssl speed rc4 aes
[...]
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
rc4              45281.36k    54782.67k    57196.80k    57391.48k    57570.77k
aes-128 cbc      17904.15k    20469.38k    21133.95k    21449.62k    21403.72k

Cài đặt ép xung từ /boot/config.txt:

arm_freq=950

# for more options see http://elinux.org/RPi_config.txt
core_freq=250
sdram_freq=450
over_voltage=6

1
Bất kỳ loại mã hóa (ssh / vpn) nào cũng sẽ gây ra việc sử dụng CPU bổ sung, đây có thể là nút cổ chai của bạn.
earthmeLon

1
Quan điểm của tôi là RC4 sử dụng ít CPU hơn các thuật toán mã hóa khác, vì vậy nó có thể tốt trong tình huống này. Nhưng tôi không chắc là bạn đồng ý hay không đồng ý với câu trả lời của tôi.
Blaisorblade

@earthmeLon: Tôi đã cập nhật câu trả lời của mình để nêu rõ quan điểm của mình, vì dù sao nó vẫn chưa rõ ràng. Không chắc chắn rằng địa chỉ bình luận của bạn.
Blaisorblade

Chắc chắn rồi. Tôi rất cảm kích khi biết rằng RC4 là một giải pháp tốt với chi phí tối thiểu, do triển khai SSH2 của nó. Cảm ơn thông tin: D. Thật tệ là bạn không thể nhìn thấy tôi đã cho bạn một upvote, eh?
earthmeLon

Thật vậy - tôi chỉ nhận thấy sau đó bình luận của bạn trùng khớp về thời gian với upvote. Cảm ơn!
Blaisorblade
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.