Temat: OpenVPN LEDE LUCI - Konfiguracja serwera

Cześć,

Dzisiaj z kolei zabrałem się za konfigurację serwera OpenVPN. Na początku próbowałem coś zdziałać na LUCI, jednak porzuciłem ten pomysł i postanowiłem rozpocząć standardowo konfigurację przez ssh.

Znalazłem ten poradnik - https://eko.one.pl/?p=openwrt-openvpntun

I mam dziwny problem ponieważ nie znajduje mi polecenia build-ca. Możecie polecić jakiś inny aktualny poradnik jak skonfigurować OpenVPN na LEDE?

2

Odp: OpenVPN LEDE LUCI - Konfiguracja serwera

To jest poprawny poradnik dla lede. Ale ty używasz wersji rozwojowej na xiaomi, prawda?

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

3 (edytowany przez artur5236 2018-02-13 13:07:48)

Odp: OpenVPN LEDE LUCI - Konfiguracja serwera

Pewnie tak, bo chyba nie ma wersji stabilnej smile?
Mam taką wersję: Powered by LuCI Master (git-18.039.58622-76f9f5e) / OpenWrt SNAPSHOT r6022-175538f

4

Odp: OpenVPN LEDE LUCI - Konfiguracja serwera

Tam masz zaktualizowany openvpn, który nie ma oddzielnego build-ca tylko program easyrsa: https://eko.one.pl/forum/viewtopic.php? … 91#p192291

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

5

Odp: OpenVPN LEDE LUCI - Konfiguracja serwera

Dzięki po raz kolejny.

6

Odp: OpenVPN LEDE LUCI - Konfiguracja serwera

Ostatecznie certyfikaty wygenerowałem na komputerze następnie przerzuciłem do odpowiednich miejsc na routerze.

Jednak nie udało się nawiązać połączenia między routerem(serwer) a moim Windows 10(klient).

Poniżej załączam konfigurację:
/etc/openvpn/
ca.crt      dh2048.pem  serwer.crt  serwer.csr  serwer.key

/etc/config/network

config interface 'vpn'
        option ifname 'tun0'
        option proto 'none'

/etc/config/firewall

config zone
        option name 'vpn'
        option input 'ACCEPT'
        option forward 'ACCEPT'
        option output 'ACCEPT'
        option network 'vpn'

config forwarding
        option src 'vpn'
        option dest 'wan'

config rule
        option name 'OpenVPN'
        option target 'ACCEPT'
        option src 'wan'
        option proto 'udp'
        option dest_port '5236'

/etc/config/openvpn

config openvpn 'home'
        option enabled '1'
        option dev 'tun0'
        option port '5236'
        option proto 'udp'
        option log '/tmp/openvpn.log'
        option verb '3'
        option ca '/etc/openvpn/ca.crt'
        option cert '/etc/openvpn/serwer.crt'
        option key '/etc/openvpn/serwer.key'
        option server '10.8.0.0 255.255.255.0'
        option dh '/etc/openvpn/dh2048.pem'

Klient (Windows 10)
client2.ovpn

client
remote          mojip 5236
dev             tun0
proto           udp
verb            3
ca              ca.crt
cert            client2.crt
key             client2.key
tls-auth        ta.key

W tej samej lokalizacji mam pliki: ca.crt, client2.crt, client2.key, ta.key

Teraz co pokazują logi:
Serwer:

Wed Feb 14 06:22:55 2018 OpenVPN 2.4.4 mipsel-openwrt-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [MH/PKTINFO] [AEAD]
Wed Feb 14 06:22:55 2018 library versions: OpenSSL 1.0.2n  7 Dec 2017, LZO 2.10
Wed Feb 14 06:22:55 2018 WARNING: --keepalive option is missing from server config
Wed Feb 14 06:22:55 2018 NOTE: your local LAN uses the extremely common subnet address 192.168.0.x or 192.168.1.x.  Be aware that this might create routing conflicts if you connect to the VPN server from public locations such as internet cafes that use the same subnet.
Wed Feb 14 06:22:55 2018 Diffie-Hellman initialized with 2048 bit key
Wed Feb 14 06:22:55 2018 TUN/TAP device tun0 opened
Wed Feb 14 06:22:55 2018 TUN/TAP TX queue length set to 100
Wed Feb 14 06:22:55 2018 do_ifconfig, tt->did_ifconfig_ipv6_setup=0
Wed Feb 14 06:22:55 2018 /sbin/ifconfig tun0 10.8.0.1 pointopoint 10.8.0.2 mtu 1500
Wed Feb 14 06:22:55 2018 /sbin/route add -net 10.8.0.0 netmask 255.255.255.0 gw 10.8.0.2
Wed Feb 14 06:22:55 2018 Could not determine IPv4/IPv6 protocol. Using AF_INET
Wed Feb 14 06:22:55 2018 Socket Buffers: R=[163840->163840] S=[163840->163840]
Wed Feb 14 06:22:55 2018 UDPv4 link local (bound): [AF_INET][undef]:5236
Wed Feb 14 06:22:55 2018 UDPv4 link remote: [AF_UNSPEC]
Wed Feb 14 06:22:55 2018 MULTI: multi_init called, r=256 v=256
Wed Feb 14 06:22:55 2018 IFCONFIG POOL: base=10.8.0.4 size=62, ipv6=0
Wed Feb 14 06:22:55 2018 Initialization Sequence Completed
Wed Feb 14 06:26:26 2018 31.0.87.218:7994 TLS: Initial packet from [AF_INET]31.0.87.218:7994, sid=59bb6d80 af3ddc23
Wed Feb 14 06:26:26 2018 31.0.87.218:7994 TLS Error: reading acknowledgement record from packet
Wed Feb 14 06:26:27 2018 31.0.87.218:7994 TLS Error: reading acknowledgement record from packet
Wed Feb 14 06:26:31 2018 31.0.87.218:7994 TLS Error: reading acknowledgement record from packet
Wed Feb 14 06:26:40 2018 31.0.87.218:7994 TLS Error: reading acknowledgement record from packet
Wed Feb 14 06:26:56 2018 31.0.87.218:7994 TLS Error: reading acknowledgement record from packet
Wed Feb 14 06:27:26 2018 31.0.87.218:7994 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Wed Feb 14 06:27:26 2018 31.0.87.218:7994 TLS Error: TLS handshake failed
Wed Feb 14 06:27:26 2018 31.0.87.218:7994 SIGUSR1[soft,tls-error] received, client-instance restarting
Wed Feb 14 06:27:31 2018 31.0.87.218:7994 TLS: Initial packet from [AF_INET]31.0.87.218:7994, sid=a6ab9768 2317ec50
Wed Feb 14 06:27:31 2018 31.0.87.218:7994 TLS Error: reading acknowledgement record from packet
Wed Feb 14 06:27:33 2018 31.0.87.218:7994 TLS Error: reading acknowledgement record from packet
Wed Feb 14 06:27:37 2018 31.0.87.218:7994 TLS Error: reading acknowledgement record from packet
Wed Feb 14 06:27:45 2018 31.0.87.218:7994 TLS Error: reading acknowledgement record from packet
Wed Feb 14 06:28:01 2018 31.0.87.218:7994 TLS Error: reading acknowledgement record from packet
Wed Feb 14 06:28:31 2018 31.0.87.218:7994 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Wed Feb 14 06:28:31 2018 31.0.87.218:7994 TLS Error: TLS handshake failed
Wed Feb 14 06:28:31 2018 31.0.87.218:7994 SIGUSR1[soft,tls-error] received, client-instance restarting

Na kliencie mam: TLS Error: cannot locate HMAC in incoming packet from mojip 5236


Będę wdzięczny za wszelkie podpowiedzi

7 (edytowany przez mar_w 2018-02-14 07:43:09)

Odp: OpenVPN LEDE LUCI - Konfiguracja serwera

A gdzie masz na serwerze w konfigu ta.key ?
W innym temacie poprawnie zestawiłeś tunel z przekierowaniem ruchu więc można powiedzieć że jesteś expertem w tym temacie i umiesz to robić.

* WR1043v1 16MB@64MB * || * WT3020-16MB * || * Xiaomi Miwifi Mini *
* E3276 HiLink + RTL2832 + IT9135 + Siano + EC103 *

8

Odp: OpenVPN LEDE LUCI - Konfiguracja serwera

Wg google - wywal tls-auth ta.key z konfiguracji klienta. Lub dodaj do serwera odpowiednie linie.

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

9

Odp: OpenVPN LEDE LUCI - Konfiguracja serwera

Nie mam smile Wzorowałem się na tym: https://eko.one.pl/?p=openwrt-openvpntun
Wywaliłem więc z konfiguracji klienta wiersz: tls-auth        ta.key i działa smile
Tylko zastanawiam się czy jest to bezpieczne?
W poradniku Cezarego jest info aby dodać coś takiego: remote-cert-tls server

10

Odp: OpenVPN LEDE LUCI - Konfiguracja serwera

I oprócz dodania linii w konfigu serwera, autor musi skopiować plik ta.key na serwer bo narazie ma tylko podstawowe pliki w /etc/openvpn

* WR1043v1 16MB@64MB * || * WT3020-16MB * || * Xiaomi Miwifi Mini *
* E3276 HiLink + RTL2832 + IT9135 + Siano + EC103 *

11

Odp: OpenVPN LEDE LUCI - Konfiguracja serwera

Nic się nie wzorowałeś. U mnie w poradniku w ogóle nawet słowa nie ma o tls-auth.

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

12 (edytowany przez artur5236 2018-02-14 07:58:55)

Odp: OpenVPN LEDE LUCI - Konfiguracja serwera

Cezary napisał/a:

Nic się nie wzorowałeś. U mnie w poradniku w ogóle nawet słowa nie ma o tls-auth.

Przyznam się, że jeśli chodzi o config klienta wzorowałem się również na moim starym konfigu wygenerowanym kiedyś przez Gargoyle i tam było akurat tls-auth. Przepraszam za wprowadzenie zamieszania smile

Obecnie mam tak:
Client:

client
remote          mojip 5236
dev             tun0
proto           udp
verb            3
ca              ca.crt
cert            client2.crt
key             client2.key
remote-cert-tls server

A logi pokazują tak:

Wed Feb 14 06:50:01 2018 OpenVPN 2.4.4 mipsel-openwrt-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [MH/PKTINFO] [AEAD]
Wed Feb 14 06:50:01 2018 library versions: OpenSSL 1.0.2n  7 Dec 2017, LZO 2.10
Wed Feb 14 06:50:01 2018 WARNING: --keepalive option is missing from server config
Wed Feb 14 06:50:01 2018 NOTE: your local LAN uses the extremely common subnet address 192.168.0.x or 192.168.1.x.  Be aware that this might create routing conflicts if you connect to the VPN server from public locations such as internet cafes that use the same subnet.
Wed Feb 14 06:50:01 2018 Diffie-Hellman initialized with 2048 bit key
Wed Feb 14 06:50:01 2018 TUN/TAP device tun0 opened
Wed Feb 14 06:50:01 2018 TUN/TAP TX queue length set to 100
Wed Feb 14 06:50:01 2018 do_ifconfig, tt->did_ifconfig_ipv6_setup=0
Wed Feb 14 06:50:01 2018 /sbin/ifconfig tun0 10.8.0.1 pointopoint 10.8.0.2 mtu 1500
Wed Feb 14 06:50:01 2018 /sbin/route add -net 10.8.0.0 netmask 255.255.255.0 gw 10.8.0.2
Wed Feb 14 06:50:01 2018 Could not determine IPv4/IPv6 protocol. Using AF_INET
Wed Feb 14 06:50:01 2018 Socket Buffers: R=[163840->163840] S=[163840->163840]
Wed Feb 14 06:50:01 2018 UDPv4 link local (bound): [AF_INET][undef]:5236
Wed Feb 14 06:50:01 2018 UDPv4 link remote: [AF_UNSPEC]
Wed Feb 14 06:50:01 2018 MULTI: multi_init called, r=256 v=256
Wed Feb 14 06:50:01 2018 IFCONFIG POOL: base=10.8.0.4 size=62, ipv6=0
Wed Feb 14 06:50:01 2018 Initialization Sequence Completed
Wed Feb 14 06:50:13 2018 31.0.87.218:8038 TLS: Initial packet from [AF_INET]31.0.87.218:8038, sid=0061cfef f8c83be3
Wed Feb 14 06:50:14 2018 31.0.87.218:8038 VERIFY OK: depth=1, C=PL, ST=Masovian, L=Warsaw, O=Home, OU=Home, CN=Home CA, name=Serwer, emailAddress=artur.5236@gmail.com
Wed Feb 14 06:50:14 2018 31.0.87.218:8038 VERIFY OK: depth=0, C=PL, ST=Masovian, L=Warsaw, O=Home, OU=Home, CN=client2, name=Serwer, emailAddress=artur.5236@gmail.com
Wed Feb 14 06:50:14 2018 31.0.87.218:8038 peer info: IV_VER=2.4.4
Wed Feb 14 06:50:14 2018 31.0.87.218:8038 peer info: IV_PLAT=win
Wed Feb 14 06:50:14 2018 31.0.87.218:8038 peer info: IV_PROTO=2
Wed Feb 14 06:50:14 2018 31.0.87.218:8038 peer info: IV_NCP=2
Wed Feb 14 06:50:14 2018 31.0.87.218:8038 peer info: IV_LZ4=1
Wed Feb 14 06:50:14 2018 31.0.87.218:8038 peer info: IV_LZ4v2=1
Wed Feb 14 06:50:14 2018 31.0.87.218:8038 peer info: IV_LZO=1
Wed Feb 14 06:50:14 2018 31.0.87.218:8038 peer info: IV_COMP_STUB=1
Wed Feb 14 06:50:14 2018 31.0.87.218:8038 peer info: IV_COMP_STUBv2=1
Wed Feb 14 06:50:14 2018 31.0.87.218:8038 peer info: IV_TCPNL=1
Wed Feb 14 06:50:14 2018 31.0.87.218:8038 peer info: IV_GUI_VER=OpenVPN_GUI_11
Wed Feb 14 06:50:14 2018 31.0.87.218:8038 Control Channel: TLSv1.2, cipher TLSv1/SSLv3 ECDHE-RSA-AES256-GCM-SHA384, 2048 bit RSA
Wed Feb 14 06:50:14 2018 31.0.87.218:8038 [client2] Peer Connection Initiated with [AF_INET]31.0.87.218:8038
Wed Feb 14 06:50:14 2018 client2/31.0.87.218:8038 MULTI_sva: pool returned IPv4=10.8.0.6, IPv6=(Not enabled)
Wed Feb 14 06:50:14 2018 client2/31.0.87.218:8038 MULTI: Learn: 10.8.0.6 -> client2/31.0.87.218:8038
Wed Feb 14 06:50:14 2018 client2/31.0.87.218:8038 MULTI: primary virtual IP for client2/31.0.87.218:8038: 10.8.0.6
Wed Feb 14 06:50:15 2018 client2/31.0.87.218:8038 PUSH: Received control message: 'PUSH_REQUEST'
Wed Feb 14 06:50:15 2018 client2/31.0.87.218:8038 SENT CONTROL [client2]: 'PUSH_REPLY,route 192.168.5.0 255.255.255.0,route 10.8.0.1,topology net30,ifconfig 10.8.0.6 10.8.0.5,peer-id 0,cipher AES-256-GCM' (status=1)
Wed Feb 14 06:50:15 2018 client2/31.0.87.218:8038 Data Channel: using negotiated cipher 'AES-256-GCM'
Wed Feb 14 06:50:15 2018 client2/31.0.87.218:8038 Outgoing Data Channel: Cipher 'AES-256-GCM' initialized with 256 bit key
Wed Feb 14 06:50:15 2018 client2/31.0.87.218:8038 Incoming Data Channel: Cipher 'AES-256-GCM' initialized with 256 bit key

I połączenie jest nawiązane smile

13

Odp: OpenVPN LEDE LUCI - Konfiguracja serwera

Trzeba było więc zrobić też konfigurację serwera identycznie jak robi gargoyle.

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

14

Odp: OpenVPN LEDE LUCI - Konfiguracja serwera

Cezary napisał/a:

Trzeba było więc zrobić też konfigurację serwera identycznie jak robi gargoyle.

No tak, myślenie z rana nie boli smile

Teraz wszystko pięknie działa tylko mam jedno ostrzeżenie:

WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this

Rozumiem, że mogę w konfiguracji klienta dopisać: auth-nocache option i będzie ok?

15

Odp: OpenVPN LEDE LUCI - Konfiguracja serwera

Dlaczego nie czytasz manuali? Przecież ty nie używasz haseł...

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

16 (edytowany przez artur5236 2018-02-14 08:10:53)

Odp: OpenVPN LEDE LUCI - Konfiguracja serwera

Czytam, czytam wiem, że używam certyfikatów. Ok, czyli mogę to olać.

17

Odp: OpenVPN LEDE LUCI - Konfiguracja serwera

Cezary,
A poza tym autor problemu nie jest z nami szczery, bo pokazał w #6 konfig serwera (okrojony, niepełny) i w logach dopiero wyszło #12 że jeszcze wysyła trasę do sieci 192.168.5.0/24

Niby nic, ale pokazując tylko szczątki (skrawki) konfigu, potem mogły by powstać inne problemy np. z routingiem... i wróżenie z fusów wink
Niby wszystko pod kontrolą, a jednak jak trwoga to do Cezarego smile

* WR1043v1 16MB@64MB * || * WT3020-16MB * || * Xiaomi Miwifi Mini *
* E3276 HiLink + RTL2832 + IT9135 + Siano + EC103 *

18

Odp: OpenVPN LEDE LUCI - Konfiguracja serwera

Dziękuję za przeanalizowanie moich logów. Chciałem tylko poinformować, że konfig był pełny i nieokrojony. Po prostu trasę do 192.168.5.0 dodałem po napisaniu tego posta i już po nawiązaniu połączenia z serwerem tzw. dopiero wtedy zauważyłem, że nie mam potrzebnej dla mnie trasy i ją dodałem.

Dziękuje Wam za pomoc smile

19 (edytowany przez artur5236 2018-02-17 09:45:15)

Odp: OpenVPN LEDE LUCI - Konfiguracja serwera

Cześć, klienta z Windowsem skonfigurowałem i wszystko działa jak trzeba.

Zabrałem się dziś za skonfigurowanie 2 Klienta tym razem WDR3600 na pokładzie LUDE+LUCI.
VPN nawiązuje połączenie, ale jest jeden problem.
Podsieć klienta:192.168.1.0/24
Podsieć serwera: 192.168.5.0/24
I tak, z podsieci klienta mam dostęp do urządzeń w podsieci serwera, czyli np. mogę pingować 192.168.5.1 ale w drugą stronę już nie. To znaczy z podsieci serwera nie mogę wejść nawet na router WDR3600 (192.168.1.1). Mimo tego, że VPN jest nawiązany nie mam komunikacji z podsieci serwera do podsieci klienta.

Na firewallu nic nie zmieniałem, bo według poradnika połączenie jest "dwustronne".
Cytat:
"To jest właściwość samego tunelu - można zrobić z klienta połączenie do serwera i przy pomocy telnetu/ssh dostać się do serwera czy jego zasobów lokalnych; można także z serwera zrobić telnet/ssh i dostać się do zasobów klienta. Połączenie jest "dwustronne" i o ile ruch nie został ograniczony specjalnie np. firewallem to obie strony powinny mieć dostęp do siebie."

Być może coś źle zrozumiałem, możecie pomóc smile?

20

Odp: OpenVPN LEDE LUCI - Konfiguracja serwera

Zrób ping na adres ip z openvpn, a nie to co co ma na lanie ustawione.

Przedobrzyłem ten opis. Połączenie jest dwustronne w ramach komunkacji klient-serwer po adresacji openvpn, ale nie do zasobów lokalnych - na to już musisz zezwolić specjalnie na firewallu.

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

21

Odp: OpenVPN LEDE LUCI - Konfiguracja serwera

Klientowi został przydzielony adres 10.8.0.6 i z poziomu routera, który jest serwerem mogę pingować ten adres. Ale już z komputera, który jest w podsieci serwera ping na adres 10.8.0.6 pozostaje bez odpowiedzi.

22

Odp: OpenVPN LEDE LUCI - Konfiguracja serwera

Dokładnie. I teraz musisz zrobić odpowiednio firewall, żeby komputer z podsieci serwera miał dostęp tam gdzie chcesz. I tu własnie dalej zaczynasz czytać poradniki.

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

23

Odp: OpenVPN LEDE LUCI - Konfiguracja serwera

Cezary przeczytałem już poradnik i nie znalazłem rozwiązania swojego problemu. OK, jest opisane jak zapewnić "pełną" komunikacją między dwoma klientami ale jak ja chcę tylko klient-serwer?

24

Odp: OpenVPN LEDE LUCI - Konfiguracja serwera

Czyli - z podsieci klienta chcesz się dostać do podsieci serwera. Opis masz tu: http://rpc.one.pl/index.php/lista-artyk … -w-openwrt

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

25

Odp: OpenVPN LEDE LUCI - Konfiguracja serwera

Dzięki za linka właśnie sobie czytam drugi poradnik i trochę zastanawia mnie różnica w konfiguracji głównej strefy na firewallu.
W Twoim poradniku jest:

config zone
        option name 'vpn'
        option input 'ACCEPT'
        option forward 'ACCEPT'
        option output 'ACCEPT'
        option network 'vpn'

A na tej stronie rpc.onet.pl

config zone
        option name             'openvpn_tun0'
        option network          'openvpn_tun0'
        option input            REJECT
        option output           ACCEPT
        option forward          REJECT
        option family       'ipv4'
        option mtu_fix          1

Oczywiście chodzi mi o reguły input i forward. U Ciebie jest ACCEPT a w tym podesłanym przez Ciebie linku REJECT. Możesz powiedzieć z czego to wynika?