1 (edytowany przez Cezary 2018-10-02 11:12:36)

Temat: Użycie komercyjnego klienta OpenVPN w OpenWrt.

Ostatnio pojawia się coraz więcej tematów o używaniu  VPNów komercyjnych. Krótka podpowiedź jak to zrobić w OpenWrt.

Wykupując usługę VPN operatorzy zwykle udostępniają kilka możliwych sposobów połączenia. Prawie zawsze będzie dostępny OpenVPN. Od operatora zwykle dostajemy plik konfiguracyjny (najczęściej z rozszerzeniem ovpn, zawierający konfigurację i  certyfikaty) oraz login i hasło do serwisu. Dla przykładu niech to będzie plik o nazwie "vpnbook-de4-tcp80.ovpn" (plik pochodzi z serwisu vpnbook.com, który świadczy także bezpłatne choć ograniczone serwery vpn). Wszystkie polecenia wykonujemy na routerze, po zalogowaniu się do niego przez SSH. Router oczywiście musi mieć połączenie z internetem.

Polecenia należy zmienić podając nazwę pliku który posiadamy.

1

Instalujemy OpenVPN

opkg update
opkg install openvpn-openssl
2

Plik otrzymany od dostawcy umieszczamy w katalogu /etc/openvpn na routerze. Można to zrobić np. przy pomocy programu WinSCP.

3

Zmieniamy parę rzeczy w tej konfigruacji - podajmy plik w którym ma szukać hasła oraz dla pewności ustawiamy określony interfejs TUN:

sed -i '/auth-user-pass/d' /etc/openvpn/vpnbook-de4-tcp80.ovpn
echo "" >> /etc/openvpn/vpnbook-de4-tcp80.ovpn
echo "auth-user-pass /etc/openvpn/pass.txt" >> /etc/openvpn/vpnbook-de4-tcp80.ovpn
sed -i 's/dev tun.*/dev tun0/g' /etc/openvpn/vpnbook-de4-tcp80.ovpn
4

Tworzymy plik z hasłem

echo "login" > /etc/openvpn/pass.txt
echo "pass" >> /etc/openvpn/pass.txt

Gdzie za login i pass podstawiamy oczywiście dane logowania otrzymane od dostawcy usługi.

5

Wskazujemy OpenVPN gdzie ma szukać pliku konfiguracyjnego

uci set openvpn.custom_config=openvpn
uci set openvpn.custom_config.enabled='1'
uci set openvpn.custom_config.config='/etc/openvpn/vpnbook-de4-tcp80.ovpn'
uci commit openvpn

I tu moglibyśmy zakończyć konfigurację, o ile tylko router miałby mieć dostęp do VPN i nie podłączamy żadnego innego klienta do routera. Ale zakładamy że klient podłączony do routera też ma mieć wyjście przez VPN, więc trzeba "zrobić" jeszcze firewalla

6

Tworzymy konfigurację sieci i zmieniamy firewall

uci set network.vpn=interface
uci set network.vpn.ifname=tun0
uci set network.vpn.proto=none
uci commit network
uci add firewall zone
uci set firewall.@zone[-1].name=vpn
uci set firewall.@zone[-1].input=ACCEPT
uci set firewall.@zone[-1].forward=ACCEPT
uci set firewall.@zone[-1].output=ACCEPT
uci set firewall.@zone[-1].network=vpn
uci set firewall.@zone[-1].masq=1
uci add firewall forwarding
uci set firewall.@forwarding[-1].src='lan'
uci set firewall.@forwarding[-1].dest='vpn'
uci commit firewall
7

Zostaje zrestartowanie usług

/etc/init.d/network restart
/etc/init.d/firewall restart
/etc/init.d/openvpn enable
/etc/init.d/openvpn start

Lub po prostu zrestartować cały router. W zależności od konfiguracji OpenVPN powinniśmy mieć dostęp do zasobów VPN lub mieć przekierowany cały ruch przez VPN.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

2

Odp: Użycie komercyjnego klienta OpenVPN w OpenWrt.

Tutaj https://nordvpn.com/tutorials/openwrt/openvpn/ możemy znaleźć konfigurację routera z OpenWRT dla NordVPN.

3

Odp: Użycie komercyjnego klienta OpenVPN w OpenWrt.

Tak, prawie każdy dostawca vpn posiada też instrukcję dla routerów i często jest też dla openwrt.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

4

Odp: Użycie komercyjnego klienta OpenVPN w OpenWrt.

Jako, że też ostatnio wałkuję temat to dodam pewne porady.

Jeżeli się da to metodą prób i błędów można nadpisywać konfigurację przekazaną przez dostawcę VPN. A dlaczego warto i potrzeba?  Wydajność!. Nasze maszyny mają jednak często znacznie ograniczoną wydajność jeżeli chodzi o szyfrowanie. Nie każde urządzenie ma działającą obsługę AES-NI albo inne crypto-engine.

Polecam eksperymentować z parametrami konfiguracji OpenVPN:

compress lz4 #mniejsze zużycie procesora
crypto AES-256-GCM # ewentualnie 128 - również ze względu na użycie procesora względem CBC 

Ewentualnie konfiguracja z użyciem kryptografii krzywych eliptycznych. Podobno ARM-y radzą sobie znacznie lepiej w przypadku gdy nie ma wsparcia sprzętowego crypto-engine.

ecdh-curve secp384r1
tls-cipher TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384

Mi udało się dzięki takiemu tuningowi zwiększyć przepustowość względem domyślnych parametrów o 10-30%

5

Odp: Użycie komercyjnego klienta OpenVPN w OpenWrt.

A tak przy okazji, jakby ktoś chciał sprawdzić działanie NordVPN (jeden z lepszych dostępnych VPN), to tutaj http://free.nordvpn.com można przez 3 dni za darmo sprawdzić jego możliwości.

6

Odp: Użycie komercyjnego klienta OpenVPN w OpenWrt.

Maly komentarz do guide - brakuje wpisu:

uci set openvpn.custom_config=openvpn

przed

uci set openvpn.custom_config.enabled='1'

7

Odp: Użycie komercyjnego klienta OpenVPN w OpenWrt.

Akurat sekcja custom_config w domyślnym konfigu openvpn już jest.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

8

Odp: Użycie komercyjnego klienta OpenVPN w OpenWrt.

Cezary napisał/a:

Akurat sekcja custom_config w domyślnym konfigu openvpn już jest.

OK masz racje ... ale jak ktos chce uzyc innej (jak ja wczoraj) to musialem pogooglowac (a pewnie wykonanie tego wpisu nie stanowi problemu)

9

Odp: Użycie komercyjnego klienta OpenVPN w OpenWrt.

Wszystko co piszę dotyczy świeżej instalacji openwrt, ale nich ci będzie w niczym to nie zaszkodzi.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

10

Odp: Użycie komercyjnego klienta OpenVPN w OpenWrt.

Cezary napisał/a:

Wszystko co piszę dotyczy świeżej instalacji openwrt, ale nich ci będzie w niczym to nie zaszkodzi.

Dla mnie to juz nie ma znaczenia ... tylko dalem info ze moze innym sie przydac jak beda chcieli uzyc innego nazewnictwa.
W imieniu innych - dziekuje smile

11

Odp: Użycie komercyjnego klienta OpenVPN w OpenWrt.

@Cezary a jest możliwość jednoczesnego używania OpenVPN jako:
- server na (tun0)
- client na (tun1)

?

12

Odp: Użycie komercyjnego klienta OpenVPN w OpenWrt.

Ile razy się to pojawia. Tak, używaj. Nikt Ci nie broni zrobienia 2 konfiguracji jednocześnie.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

13

Odp: Użycie komercyjnego klienta OpenVPN w OpenWrt.

piotrekcrash napisał/a:

@Cezary a jest możliwość jednoczesnego używania OpenVPN jako:
- server na (tun0)
- client na (tun1)

?

Ja mam 1 server dla dostępów ad-hoc (na dwie konfiguracje TCP i UDP - czyli dwie konfiguracje), 2 server point-to-point, oraz 1 client NordVPN. Razem 5 urządzeń tun. Najważniejsze - każdy serwis ma swój interfejs tun i inne porty.

14

Odp: Użycie komercyjnego klienta OpenVPN w OpenWrt.

Na Gargoyle tak samo mozna to skonfigurowac ? trzeba najpierw włączyc klienta VPN w gui ? a dopiero pozniej przez ssh wydawac komendy ?  bo tak zrobilem i nic, IP mam od Playa a nie NordVPNa. Pewnie gdzies cos zle robie

15

Odp: Użycie komercyjnego klienta OpenVPN w OpenWrt.

Nie, gargoyle robi po swojemu i tylko klient lub tylko serwer. Zapomnij o gui i rób ręcznie na czystym openvpn.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

16

Odp: Użycie komercyjnego klienta OpenVPN w OpenWrt.

Na czystym tzn ? sciagnac i zainsalowac OpenWrt 18.06 , pozniej polaczyc przez SSH i po kolei wklejac wiersze ? Jak zainicjowac połaczenie z modemu LTE w OpenWRT w Gargoyle wybierałem, modem i  łączyło bezproblemowo.

Uzywam Routera Nexxa WT3020

17

Odp: Użycie komercyjnego klienta OpenVPN w OpenWrt.

Tak: http://eko.one.pl/?p=openwrt-3g

zainstaluj mój obraz z luci to będziesz już miał wszystko w obrazie.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

18

Odp: Użycie komercyjnego klienta OpenVPN w OpenWrt.

Wszystko tzn ? interfejs połączenia z modemu LTE tez ?

sciagam Open WRT 18.06 - Luci i bede probował.

19

Odp: Użycie komercyjnego klienta OpenVPN w OpenWrt.

Ewidentnie mnie to przerasta.  Jutro podłącze kablem UPC chyba automatycznie powinno wykryc, bo przez modem nie moge ogarnąć.

20

Odp: Użycie komercyjnego klienta OpenVPN w OpenWrt.

Zwłaszcza sterowniki do modemów, tak.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

21 (edytowany przez pinix 2018-10-09 14:39:54)

Odp: Użycie komercyjnego klienta OpenVPN w OpenWrt.

Wybaczcie za lamerskie pytanie ale korzystam w skromnym zakresie z funkcjonalności systemu LEDE i nie jestem specem a chciałbym wdrożyć u siebie VPN. Prosze o parę wskazówek i informacje o przykładowych konfiguracjach.

Czy korzystając z komercyjnego serwera VPN (np. wcześniej wymienionego NordVPN) lub VPN na serwerze VPS będę w stanie połączyć moją sieć lokalną w domu lub wybrane urządzenia z siecią VPN tak abym z zewnątrz mógł nawiązać zabezpieczone połączenie.
W domu łączę się z siecią poprzez modem LTE w ramach sieci PLAY i nie mam możliwości połączyć się z zewnątrz z monitoringiem wizyjnym i serwerem programu księgowego. Do tego mam Archera C7 z Luci LEDE na pokładzie. Chciałbym mieć możliwość nawiązywania bezpiecznego połączenia z zewnątrz z moją siecią lokalną. Przy czym nie chciałbym, aby cały ruch wychodzący z mojej sieci lokalnej przechodził przez VPN ze względu na potencjalne ograniczenia w transferze danych. Czy mógłbym spiąć w ten sposób dwie sieci LAN i mieć dostęp do tej sieci z mobilnych urządzeń?
Czy do konfiguracji OpenVPN u któregoś dostawcy usług VPS będę zmuszony dokupić licencje OpenVPN?

22

Odp: Użycie komercyjnego klienta OpenVPN w OpenWrt.

W przypadku komercyjnego zwykle nie bo wycięty jest ruch pomiędzy klientami. W przypadku własnego serwera tak, jak najbardziej, możesz połączyć odpowiednio sieci/hosty itd.

OpenVPN jest darmowy, więc jak masz swój własny sewer/wykupiony vps to po prostu instalujesz soft i masz. Za to akurat nie płacisz.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

23

Odp: Użycie komercyjnego klienta OpenVPN w OpenWrt.

Próbowałem dzisiaj odpalic NordVPN  i niby jakies postepy są, ale jeszcze nie działa. Wklejałem wszystkie wiersze tak jak wyzej ze swoim plikiem z NordVPN oraz zmieniajac nazwe na moja w odpowiednich wierszach. w Interfejsach sieciowych powstało połączenie VPN ale niestety nie jest połączone z VPN. Jak wyłącze recznie to od razu łaczy sie z internet z modemem, gdy włacze Open VPN automatycznie wywala .

Rozumiem ze ty dałes przydkład na czystym OpenWRT bez wgranego juz w obraz OpenVPN? czyli 1 krok z insrukcji powienienem ominąc ?

plik .txt utworzył sie w folderze openVPN

Jeszcze tak dla pewnosci zapytam, rozumiem ze kazda linijkie wierszu wklejamy pojedynczo do putty zatwierdzajac enterem ?

24

Odp: Użycie komercyjnego klienta OpenVPN w OpenWrt.

W drugim poscie masz instrukcję bezpośrednio od NordVPN, możesz zrobić wg niej. Ale to i tak sprowadza się do tego samego.

Jak każde polecenie w openwrt: linia po lini, po każdej strzelasz enterem.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

25

Odp: Użycie komercyjnego klienta OpenVPN w OpenWrt.

A jakim poleceniem usunac to całą konfiguracje/OpenVPN ? zeby jeszcze raz sprobowac