RPi v1 B + wolna prędkość OpenVPN

0

Próbuję OpenVPN, aby utworzyć bezpieczne łącze między moim domowym serwerem a dowolnym miejscem, w którym zdecyduję się podróżować. Niestety niektóre z moich mediów w domu nie mogą grać zbyt dobrze w sieci, więc staram się dowiedzieć, gdzie jest wąskie gardło. Więc dostałem PC i mój RPI przeprowadzający testy pasma. Oba są podłączone do tego samego przełącznika za pomocą tego samego nośnika (kable CAT 5e).

Jeśli wykonam test z komputera na serwer za pośrednictwem łącza OpenVPN, otrzymuję 7,6 MB / s, co jest więcej niż przyzwoite, biorąc pod uwagę, że nie mam żadnego nośnika, który przekracza 1 MB / s szybkość transmisji. Jeśli jednak wykonam test z RPI na serwer za pośrednictwem łącza OpenVPN, otrzymam tylko 500 KB / s. Nie rozumiem, dlaczego taka różnica prędkości, jeśli używamy tych samych mediów w zasadzie. Mogę uzyskać prędkość 7 MB + między komputerem a RPI.

Jedyne, co mogę myśleć, to to, że procesor jest wąskim gardłem? Jeśli tak, może mogę po prostu przekierować ruch przez komputer, a jeśli tak, to jak to zrobić?

Testy zostały wykonane przy użyciu nc, więc może nie jest to najbardziej dokładne, ale wciąż jest duża różnica w szybkości pasma.

MinusFour
źródło

Odpowiedzi:

0

Wydaje się, że procesor rzeczywiście był wąskim gardłem. Używam oddzielnego urządzenia dla łącza OpenVPN i dodaję routing do obu urządzeń. Okazało się, że było to znaczne zwiększenie przepustowości.

Proste zasady routingu na serwerze:

# iptables -t nat -A POSTROUTING -o enp0s25 -j MASQUERADE
# iptables -A FORWARD -i tun0 -o enp0s25 -m state --state RELATED,ESTABLISHED -j ACCEPT
# iptables -A FORWARD -i enp0s25 -o tun0 -j ACCEPT

A na kliencie po prostu dodam trasę:

# ip route add 10.8.0.0/24 via 192.168.1.68 dev eth0
MinusFour
źródło