VPN을 통한 저 대역 인터넷


10

방금 새로 획득 한 오버 클로킹되지 않은 Raspberry Pi Model-B를 사용하여 VPN으로 NAS를 설정하고 다른 곳에서는 답을 찾을 수 없습니다.

를 사용하여 결정된 인터넷 대역폭

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

내가 기대하는 것보다 훨씬 느립니다. 이더넷이 내 랩톱에 직접 연결되어있을 때 7MBps에 가까워지면 이더넷을 통해 Pi에서 1.34MBps가 증가합니다.

문제는 OpenVPN과 관련이 있지만 정확히 무엇인지 알 수는 없습니다. 내가 이것을 아는 방법은 다음과 같습니다.

Pi의 다운로드 속도와 VPN을 껐다 켜는 것을 비교했습니다. 5.03MBPS 대 1.34MBPS였습니다.

그런 다음 랩톱 (유선)에서 시도했습니다-6.9 MBPS (완벽) 대 6.7 MBPS (완벽 근처)였습니다.

따라서 결함은 랩톱의 대역폭을 3 % 줄이는 VPN 서비스 (PrivateInternetAccess)에만 국한되지는 않지만 OpenVPN이 Pi에서 실행되는 방식과 관련이있어 대역폭이 74 % 줄어 듭니다.

Raspbian의 OpenVPN이 왜 그렇게 끔찍한 지에 대한 아이디어가 있습니까?

업데이트 : VPN이없는 랩톱의 6.9MBPS에서 VPN이없는 Pi의 5.03MBPS 로의 감소의 대부분은 SD 카드 쓰기 속도에서 나온 것으로 보입니다. 이는 약 4.9MBPS로 결정되었습니다. VPN이없는 Pi의 5.03 MPBS에서 설명이 필요한 VPN이있는 1.3MBPS로 크게 줄었습니다.

업데이트 2 : 의견의 제안에 대한 몇 가지 단서 : 1) OpenVPN은 CPU가 실행 중이고 wget이 백그라운드에있을 때 70 %의 CPU를 사용합니다 .2) Pi의 경우 미국 VPN 서버에서 약 1.34MBPS를 얻습니다. 모든 유럽 VPN 서버에서 600KBPS, 랩탑에서 BUT, 미국 VPN 서버에서 6.7MBPS, 네덜란드의 서버와 같은 일부 유럽 서버에서 6.6MBPS를 얻습니다. 내가 말하는 것은 서버와의 거리가 랩톱이 아닌 Pi에 불균형하게 영향을 미치는 것 같습니다.


쓰기 속도가 낮고 VPN 오버 헤드가 발생할 수 있습니다. 인터넷을 통한 속도가 느리고 SSH 터널링이 항상 가장 빠르기 때문에 VPN을 사용하는 것을 좋아하지 않았습니다. OpenVPN에서 압축을 활성화하는 옵션이 있습니까? 아마도 즉시 암호화로 인해 문제가 발생할 수 있습니다. 좋은 질문입니다. 또한 Pi
Piotr Kula

top테스트 하는 동안 CPU 부하를 살펴보십시오 . 암호화 오버 헤드에 대해 말해야합니다.
Frepa

@Frepa 탁월한 제안! VPN이 활성화되면 OpenVPN은 CPU의 70 %를 사용합니다. 이것이 전송 속도의 큰 차이를 일으키는 원인이라고 생각하십니까?
dbrane

@ dbrane, 마치 CPU가 제한 요인 인 것처럼 들립니다. 남은 30 %의 CPU 시간은 어디에 있습니까? 게으른? 업데이트 2부터는 성능에 네트워크 대기 시간 (즉, 처리량뿐만 아니라)이 중요한 것처럼 들립니다. VPN에서 핸드 셰이 킹이 진행되고있을 수 있습니다.
Frepa

@Frepa 나머지 CPU 시간의 대부분은 wget 자체에서 사용되는데, 이는 전송 속도를 테스트하는 데 사용하는 명령입니다. 목록의 다른 모든 항목은 각각 1 % 미만을 사용합니다. 해당 정보가 도움이 될 경우 VPN과 함께 CA 인증서를 사용하고 있습니다. 어쩌면 오버 클럭킹을 시도하고 그것이 도움이되는지 확인해야합니까?
dbrane

답변:


4

저전력 장치에서는 적어도 SSH를 사용할 때 RC4 암호를 사용하여 계산 속도가 빠르기 때문에 성능을 향상시키는 데 좋은 경험이 있었으므로 대역폭에 CPU를 덜 사용하고 동일한 CPU 사용량에 대해 더 높은 대역폭을 허용합니다. 이 안내서는 암호를 RC4와 같이 OpenSSL이 지원하는 암호로 변경하는 방법을 설명합니다.

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

RC4는 사용 가능한 가장 안전한 알고리즘은 아니지만 SSL은 여전히 ​​안전한 방법 ( http://en.wikipedia.org/wiki/RC4에 설명 된대로 )으로이를 사용합니다. 업데이트 : 이것은 과거보다 덜 사실입니다. RC4의 보안에 대한 신뢰는 사전에 차단하기위한 기술로 더욱 감소되고, 2013 년 우리에게 다양한 주신 RC4 깨는에서 진행을 하고 국가 안보국 관리하는 데에 대한 추측 . 인용 위키 백과 :

2013 년 현재, 일부 주립 암호 기관은 TLS 프로토콜에 사용될 때에도 RC4를 차단할 수있는 능력을 보유하고있을 것으로 추정됩니다. [3] 가능하면 RC4를 비활성화하는 것이 좋습니다. [4] [5]

그래도 RC4를 추천 할 수 있습니까? 실제로는 일반적이지 않습니다. 물론 보안과 성능을 절충해야하며 실제로는 많은 보안이 필요하지 않을 수 있습니다. RC4조차도 암호화는 NSA와 같은 드래그 넷 감시 노력을 느리게합니다. 그러나 실제로 민감한 데이터를 조심하고 가능한 경우 알고리즘을 다른 것으로 변경하십시오 (빠른 대안을 찾기 위해 내 라즈베리를 벤치마킹하기 시작했습니다).

업데이트 2 : 내 (오버 클럭킹) 라즈베리에서 CPU가 충분할 경우 AES가 그렇게 느리지 않습니다. 아래 표는 RC4가 ~ 57MB / s를 암호화 할 수있는 반면 AES-128-CBC는 ~ 21.4MB / s를 암호화 할 수 있음을 보여줍니다. 물론 이것은 왜 그렇게 나쁜 성능을 얻지 못했는지 설명하지는 않지만 기본적으로 느린 암호를 사용하거나 개선 할 수 있는 다른 비 효율성이 있을 수 있습니다.

$ 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

오버 클럭킹 설정 /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
모든 유형의 암호화 (ssh / vpn)는 추가 CPU 사용을 유발하며 이는 병목 현상 일 수 있습니다.
earthmeLon

1
내 요점은 RC4가 다른 암호보다 적은 CPU를 사용 하므로이 상황에서 좋을 수 있다는 것입니다. 그러나 나는 당신이 내 대답에 동의하는지 또는 동의하지 않는지 확실하지 않습니다.
Blaisorblade

@earthmeLon : 어쨌든 명확하지 않기 때문에 내 요점을 명시 적으로 밝히기 위해 대답을 업데이트했습니다. 귀하의 의견을 다룰 수 있는지 잘 모르겠습니다.
Blaisorblade

물론. SSH2가 구현했기 때문에 RC4가 최소한의 오버 헤드로 좋은 솔루션이라는 것을 알고 매우 감사했습니다. 정보 주셔서 감사합니다 : D. 내가 당신에게 공감대를 줬다는 것을 못 알았어요?
earthmeLon

실제로 — 나중에 귀하의 의견이 공감대와 일치하는 것으로 나타났습니다. 감사!
Blaisorblade
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.