Klient OpenVPN Linux - negocjacja klucza tls nie powiodła się (FrootVPN)


3

Korzystam z bezpłatnej usługi FrootVPN (działa bez zarzutu w systemie Windows). Jednak w Linuksie nie mogę go uruchomić. Strona wsparcia FrootVPN jest zepsuta, więc nie mogę wysłać wiadomości o ich wsparciu.

Wiem, że jest to płyta związana z serwerem, ale nie znalazłem żadnego porządnego, związanego z klientem, i nie mogę się skontaktować z obsługą FrootVPN, więc opublikuję mój temat tutaj, mając nadzieję, że jest to dozwolone.

Błąd, który otrzymuję:

TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
TLS Error: TLS handshake failed

Próbowałem wszystkiego:

  • dodanie serwera nazw 80.67.0.2 do /etc/resolv.conf (tak jak ich strona przewodnika wskazuje)
  • ochrona /etc/resolv.conf przed nadpisaniem
  • sprawdzanie, czy IPV6 jest włączony
  • ponowna instalacja openvpn
  • port przesyłania 1194
  • oddzielenie „ca”, „cert” i „key” od konfiguracji
  • nie używać w ogóle cert i key (co nie wpływa na łączność z tym serwerem)
  • używając update-resolv-conf script
  • zmiana różnych ustawień w pliku konfiguracyjnym

Bez względu na to, co robię, ten błąd trwa. Mój ISP niczego nie blokuje, jestem w 100% pewien.

Co więcej, w 1 przypadku na 10 mogę pomyślnie połączyć się z serwerem, a następnie otrzymuję następujący komunikat prawie co sekundę:

Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #1 ] -- see the man page entry for --no-replay and --replay-window for more info or silence this warning with --mute-replay-warnings

W przypadku udanego połączenia, VPN działa, ale jestem zbombardowany tymi wiadomościami. Ale w większości przypadków, tak jak powiedziałem, w 9 przypadkach na 10 po prostu nie łączy się z wyżej wymienionym błędem tls.

Przykład dziennika:

# openvpn '/etc/openvpn/frootvpn.ovpn'
Wed Jan 21 21:35:06 2015 OpenVPN 2.2.1 x86_64-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] [eurephia] [MH] [PF_INET6] [IPv6 payload 20110424-2 (2.2RC2)] built on Dec  1 2014
Enter Auth Username:COOLak
Enter Auth Password:
Wed Jan 21 21:35:18 2015 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Wed Jan 21 21:35:18 2015 Control Channel MTU parms [ L:1541 D:138 EF:38 EB:0 ET:0 EL:0 ]
Wed Jan 21 21:35:18 2015 Socket Buffers: R=[212992->131072] S=[212992->131072]
Wed Jan 21 21:35:18 2015 RESOLVE: NOTE: se-openvpn.frootvpn.com resolves to 8 addresses
Wed Jan 21 21:35:18 2015 Data Channel MTU parms [ L:1541 D:1450 EF:41 EB:4 ET:0 EL:0 ]
Wed Jan 21 21:35:18 2015 Local Options hash (VER=V4): '3514370b'
Wed Jan 21 21:35:18 2015 Expected Remote Options hash (VER=V4): '239669a8'
Wed Jan 21 21:35:18 2015 UDPv4 link local: [undef]
Wed Jan 21 21:35:18 2015 UDPv4 link remote: [AF_INET]178.73.212.198:1198
Wed Jan 21 21:36:18 2015 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Wed Jan 21 21:36:18 2015 TLS Error: TLS handshake failed
Wed Jan 21 21:36:18 2015 TCP/UDP: Closing socket
Wed Jan 21 21:36:18 2015 SIGUSR1[soft,tls-error] received, process restarting
Wed Jan 21 21:36:18 2015 Restart pause, 2 second(s)
Wed Jan 21 21:36:20 2015 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Wed Jan 21 21:36:20 2015 Re-using SSL/TLS context
Wed Jan 21 21:36:20 2015 Control Channel MTU parms [ L:1541 D:138 EF:38 EB:0 ET:0 EL:0 ]
Wed Jan 21 21:36:20 2015 Socket Buffers: R=[212992->131072] S=[212992->131072]
Wed Jan 21 21:36:20 2015 RESOLVE: NOTE: se-openvpn.frootvpn.com resolves to 8 addresses
Wed Jan 21 21:36:20 2015 Data Channel MTU parms [ L:1541 D:1450 EF:41 EB:4 ET:0 EL:0 ]
Wed Jan 21 21:36:20 2015 Local Options hash (VER=V4): '3514370b'
Wed Jan 21 21:36:20 2015 Expected Remote Options hash (VER=V4): '239669a8'
Wed Jan 21 21:36:20 2015 UDPv4 link local: [undef]
Wed Jan 21 21:36:20 2015 UDPv4 link remote: [AF_INET]178.73.212.205:1206
Wed Jan 21 21:37:20 2015 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Wed Jan 21 21:37:20 2015 TLS Error: TLS handshake failed
Wed Jan 21 21:37:20 2015 TCP/UDP: Closing socket
Wed Jan 21 21:37:20 2015 SIGUSR1[soft,tls-error] received, process restarting
Wed Jan 21 21:37:20 2015 Restart pause, 2 second(s)
Wed Jan 21 21:37:22 2015 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Wed Jan 21 21:37:22 2015 Re-using SSL/TLS context
Wed Jan 21 21:37:22 2015 Control Channel MTU parms [ L:1541 D:138 EF:38 EB:0 ET:0 EL:0 ]
Wed Jan 21 21:37:22 2015 Socket Buffers: R=[212992->131072] S=[212992->131072]
Wed Jan 21 21:37:22 2015 RESOLVE: NOTE: se-openvpn.frootvpn.com resolves to 8 addresses
Wed Jan 21 21:37:22 2015 Data Channel MTU parms [ L:1541 D:1450 EF:41 EB:4 ET:0 EL:0 ]
Wed Jan 21 21:37:22 2015 Local Options hash (VER=V4): '3514370b'
Wed Jan 21 21:37:22 2015 Expected Remote Options hash (VER=V4): '239669a8'
Wed Jan 21 21:37:22 2015 UDPv4 link local: [undef]
Wed Jan 21 21:37:22 2015 UDPv4 link remote: [AF_INET]178.73.212.200:1202
Wed Jan 21 21:38:22 2015 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Wed Jan 21 21:38:22 2015 TLS Error: TLS handshake failed
Wed Jan 21 21:38:22 2015 TCP/UDP: Closing socket
Wed Jan 21 21:38:22 2015 SIGUSR1[soft,tls-error] received, process restarting
Wed Jan 21 21:38:22 2015 Restart pause, 2 second(s)

W przypadku udanego połączenia (które występuje BARDZO rzadko), oto kolejny przykład dziennika:

Wed Jan 21 21:38:24 2015 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Wed Jan 21 21:38:24 2015 Re-using SSL/TLS context
Wed Jan 21 21:38:24 2015 Control Channel MTU parms [ L:1541 D:138 EF:38 EB:0 ET:0 EL:0 ]
Wed Jan 21 21:38:24 2015 Socket Buffers: R=[212992->131072] S=[212992->131072]
Wed Jan 21 21:38:24 2015 RESOLVE: NOTE: se-openvpn.frootvpn.com resolves to 8 addresses
Wed Jan 21 21:38:24 2015 Data Channel MTU parms [ L:1541 D:1450 EF:41 EB:4 ET:0 EL:0 ]
Wed Jan 21 21:38:24 2015 Local Options hash (VER=V4): '3514370b'
Wed Jan 21 21:38:24 2015 Expected Remote Options hash (VER=V4): '239669a8'
Wed Jan 21 21:38:24 2015 UDPv4 link local: [undef]
Wed Jan 21 21:38:24 2015 UDPv4 link remote: [AF_INET]178.73.212.201:1194
Wed Jan 21 21:38:24 2015 TLS: Initial packet from [AF_INET]178.73.212.201:1194, sid=7db519ba bd8492df
Wed Jan 21 21:38:24 2015 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
Wed Jan 21 21:38:24 2015 VERIFY OK: depth=1, /C=SE/ST=QQ/L=FrootTown/O=FrootOrg/OU=changeme/CN=changeme/name=changeme/emailAddress=mail@host.domain
Wed Jan 21 21:38:24 2015 VERIFY OK: nsCertType=SERVER
Wed Jan 21 21:38:24 2015 VERIFY OK: depth=0, /C=SE/ST=QQ/L=FrootTown/O=FrootOrg/OU=changeme/CN=server/name=changeme/emailAddress=mail@host.domain
Wed Jan 21 21:38:25 2015 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Wed Jan 21 21:38:25 2015 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Jan 21 21:38:25 2015 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Wed Jan 21 21:38:25 2015 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Jan 21 21:38:25 2015 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 2048 bit RSA
Wed Jan 21 21:38:25 2015 [server] Peer Connection Initiated with [AF_INET]178.73.212.201:1194
Wed Jan 21 21:38:25 2015 Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #1 ] -- see the man page entry for --no-replay and --replay-window for more info or silence this warning with --mute-replay-warnings
Wed Jan 21 21:38:25 2015 Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #2 ] -- see the man page entry for --no-replay and --replay-window for more info or silence this warning with --mute-replay-warnings
Wed Jan 21 21:38:26 2015 Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #3 ] -- see the man page entry for --no-replay and --replay-window for more info or silence this warning with --mute-replay-warnings
Wed Jan 21 21:38:26 2015 Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #4 ] -- see the man page entry for --no-replay and --replay-window for more info or silence this warning with --mute-replay-warnings
Wed Jan 21 21:38:27 2015 SENT CONTROL [server]: 'PUSH_REQUEST' (status=1)
Wed Jan 21 21:38:27 2015 Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #5 ] -- see the man page entry for --no-replay and --replay-window for more info or silence this warning with --mute-replay-warnings
Wed Jan 21 21:38:27 2015 PUSH: Received control message: 'PUSH_REPLY,ifconfig-ipv6 2a00:1a28:1167::1011/64 2a00:1a28:1167::1,dhcp-option DNS 80.67.0.2,dhcp-option DNS 91.213.246.2,redirect-gateway def1,route-ipv6 2000::/3,tun-ipv6,route-gateway 178.73.192.1,topology subnet,ping 10,ping-restart 160,ifconfig 178.73.192.19 255.255.255.224'
Wed Jan 21 21:38:27 2015 OPTIONS IMPORT: timers and/or timeouts modified
Wed Jan 21 21:38:27 2015 OPTIONS IMPORT: --ifconfig/up options modified
Wed Jan 21 21:38:27 2015 OPTIONS IMPORT: route options modified
Wed Jan 21 21:38:27 2015 OPTIONS IMPORT: route-related options modified
Wed Jan 21 21:38:27 2015 OPTIONS IMPORT: --ip-win32 and/or --dhcp-option options modified
Wed Jan 21 21:38:27 2015 ROUTE default_gateway=192.168.1.1
Wed Jan 21 21:38:27 2015 ROUTE6: default_gateway=UNDEF
Wed Jan 21 21:38:27 2015 TUN/TAP device tun0 opened
Wed Jan 21 21:38:27 2015 TUN/TAP TX queue length set to 100
Wed Jan 21 21:38:27 2015 do_ifconfig, tt->ipv6=1, tt->did_ifconfig_ipv6_setup=1
Wed Jan 21 21:38:27 2015 /sbin/ifconfig tun0 178.73.192.19 netmask 255.255.255.224 mtu 1500 broadcast 178.73.192.31
Wed Jan 21 21:38:27 2015 /sbin/ifconfig tun0 inet6 add 2a00:1a28:1167::1011/64
Wed Jan 21 21:38:27 2015 /sbin/route add -net 178.73.212.201 netmask 255.255.255.255 gw 192.168.1.1
Wed Jan 21 21:38:27 2015 /sbin/route add -net 0.0.0.0 netmask 128.0.0.0 gw 178.73.192.1
Wed Jan 21 21:38:27 2015 /sbin/route add -net 128.0.0.0 netmask 128.0.0.0 gw 178.73.192.1
Wed Jan 21 21:38:27 2015 add_route_ipv6(2000::/3 -> 2a00:1a28:1167::1 metric 0) dev tun0
Wed Jan 21 21:38:27 2015 /sbin/route -A inet6 add 2000::/3 dev tun0
Wed Jan 21 21:38:27 2015 Initialization Sequence Completed
Wed Jan 21 21:38:27 2015 Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #6 ] -- see the man page entry for --no-replay and --replay-window for more info or silence this warning with --mute-replay-warnings
Wed Jan 21 21:38:27 2015 Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #7 ] -- see the man page entry for --no-replay and --replay-window for more info or silence this warning with --mute-replay-warnings
Wed Jan 21 21:38:28 2015 Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #8 ] -- see the man page entry for --no-replay and --replay-window for more info or silence this warning with --mute-replay-warnings
Wed Jan 21 21:38:28 2015 Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #9 ] -- see the man page entry for --no-replay and --replay-window for more info or silence this warning with --mute-replay-warnings
Wed Jan 21 21:38:28 2015 Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #10 ] -- see the man page entry for --no-replay and --replay-window for more info or silence this warning with --mute-replay-warnings
Wed Jan 21 21:38:28 2015 Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #11 ] -- see the man page entry for --no-replay and --replay-window for more info or silence this warning with --mute-replay-warnings
Wed Jan 21 21:38:28 2015 Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #12 ] -- see the man page entry for --no-replay and --replay-window for more info or silence this warning with --mute-replay-warnings
Wed Jan 21 21:38:28 2015 Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #13 ] -- see the man page entry for --no-replay and --replay-window for more info or silence this warning with --mute-replay-warnings
Wed Jan 21 21:38:28 2015 Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #14 ] -- see the man page entry for --no-replay and --replay-window for more info or silence this warning with --mute-replay-warnings
Wed Jan 21 21:38:28 2015 Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #15 ] -- see the man page entry for --no-replay and --replay-window for more info or silence this warning with --mute-replay-warnings

[i tak na zawsze]


Zakładając, że działa idealnie w systemie Windows i że wielu użytkowników w Internecie zgłosiło, że działa również bezbłędnie na Linuksie, zakładam, że to mój lokalny problem, a nie serwer. Używam Kali Linux 3.14 (x64). Ich plik .ovpn: https://www.frootvpn.com/files/frootvpn.ovpn , jeśli to pomoże.

Cały dzień spędziłem próbując to zrozumieć, ale niestety rozwiązanie tego problemu jest poza moją wiedzą. Każda pomoc byłaby bardzo mile widziana. Z góry dziękuję. P.S. Będę offline przez kilka godzin po utworzeniu tego tematu.

UPD: Zapomniałem wspomnieć, że próbowałem także określić tylko jeden adres IP serwera, a on wciąż tylko czasami się łączy, podczas gdy w większości przypadków tak się nie dzieje. Wybór równorzędny nie ma znaczenia: czy jest to 178.73.212.201:1194, czy ktokolwiek inny na liście, problem pozostaje taki sam. Powodem, dla którego jest wielu rówieśników, jest to, co udostępniają w pliku .ovpn, aby zmniejszyć obciążenie serwerów. Każdy adres IP faktycznie działa, ale łączy się pomyślnie tylko w rzadkich przypadkach.

linux  vpn  openvpn  tls 

Odpowiedzi:


1

Podczas kopiowania certyfikatu i plików kluczy z systemu Windows system Linux mógł uszkodzić pliki, używając niewłaściwych zakończeń linii. Spróbuj pobrać plik konfiguracyjny FrootVPN bezpośrednio z systemu Linux.


0

Ponieważ nie sądzę, że jest tu wystarczająco dużo informacji, aby ostatecznie rozwiązać ten problem, ta odpowiedź jest bardziej listą rzeczy, które należy wypróbować, albo to rozwiąże, albo dostarczy więcej informacji. Nie jestem też pewien, dlaczego jest zaznaczone jako aktywne pytanie, ale już wcześniej napisałem większość odpowiedzi, gdy zauważyłem, że ma 1,5 roku.

plik ovpn

Link do podanego pliku konfiguracyjnego (.ovpn) jest martwy. Czy ten link zawiera identyczne okienko z tym, którego używasz? Ponieważ (właśnie teraz zdałem sobie z tego sprawę) opublikowałeś to dawno temu, prawdopodobnie zmienił się link, ale na wszelki wypadek sprawdź to. https://www.frootvpn.com/files/se.openvpn.frootvpn.ovpn

Zapora

Jedna rzecz, która mnie wyskoczyła, to fakt, że używają one szeregu portów (zazwyczaj używasz tylko jednego, zwykle 1194, dla udp z openvpn). Zwykle jest to problem w przypadku problemów z połączeniem VPN, ale w przypadku problemu wywołanego zaporą zazwyczaj jest to problem binarny - albo działa, albo nie. Ale w tym przypadku możliwe jest prawidłowe przejście 1194, ale inne porty są zablokowane. Aby to wykluczyć, należy wyłączyć zaporę ogniową na komputerze i upewnić się, że ten zakres portów jest przekazywany do komputera (porty udp od 1194 do 1209 włącznie w pliku .ovpn). W zależności od modelu / modelu routera możliwe jest wykonanie zakresu za pomocą jednego ustawienia.

Nie mam doświadczenia z Kali, ale jest to pochodna debiana, więc prawdopodobnie używa „prostych” iptables dla swojej zapory ogniowej. Wyłączenie iptables to trochę bólu, oto kilka bardzo jasnych wskazówek, jak to zrobić:

Najpierw upewnij się, że jest zainstalowany:

dpkg -l | grep iptables

Jeśli nie jest zainstalowany, chyba że masz inną aplikację firewall, możesz skonfigurować przekierowanie portów i rozpocząć testowanie połączenia VPN; Inaczej:

uruchom wszystkie polecenia jako sudo lub w powłoce roota. Spowoduje to zapisanie bieżących ustawień zapory, a następnie skonfigurowanie w pełni przezroczystej zapory (równoważnej do braku zapory).

iptables-save > ~/iptables-rules
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

Gdy skończysz testowanie bez zapory ogniowej, możesz włączyć ją ponownie za pomocą:

iptables-restore < ~/iptables-rules

Upewnij się, że zarówno wyłączyłeś zaporę sieciową i przekazałeś zakres portów, a następnie spróbujesz połączyć się z VPN.

Mniej prawdopodobne, ale nadal możliwe

Jeśli korzystasz z poprawnego pliku .ovpn (całkiem prawdopodobne) i nie ma to związku z zaporą ogniową / przekierowaniem portów, oto kilka innych rzeczy, które należy wypróbować i punkty danych, które ułatwią ludziom pomoc:

  1. Dodaj ten argument do wywołania openvpn: --verb 11 Zmienia to wynik debugowania do, dobrze, 11. Będzie ściana tekstu - jeśli nie możesz tego zrozumieć, wklej ją na stronę pastebin i opublikuj link tutaj. Nie wklejaj tego tekstu bezpośrednio

  2. Przekrzywienie zegara - jeśli lokalny zegar komputera nie jest ustawiony prawidłowo lub jest po prostu nie dokładne - skacze dookoła, itp. - otrzymasz awarie w ten sposób. Upewnij się, że jest poprawnie ustawiony (lub skonfiguruj połączenie z serwerem NTP).

  3. Czy masz połączenie internetowe o dużym opóźnieniu (np. Satelita, naprawdę zły DSL lub łapanie tchu Wykręcić numer)? Spowoduje to awarie związane z szyfrowaniem.

  4. Jaki masz typ routera (marka / model)? Czy kiedykolwiek aktualizowałeś oprogramowanie?

  5. Czy masz starszy, głodny komputer z procesorem? Szyfrowanie / odszyfrowywanie może doprowadzić stary komputer do kolan i spowodować te problemy. Musiałoby to być bardzo stare, aby to zastosować, ale zdarza się to w przypadku routerów skonfigurowanych dość często jako klienci openvpn - ich małe procesory z chłodzeniem powietrznym czasami nie nadążają.

  6. Jak wyglądają logi z klienta openvpn na komputerze z systemem Windows? Czy widzisz któryś z tych samych błędów / ostrzeżeń?

  7. Prawdopodobnie tak nie jest, ale miałem trudny czas na uruchomienie openvpn jako klienta na fedorze w zeszłym tygodniu, a to z powodu szyfrowania klucza za pomocą md5, który został przestarzały w większości dystrybucji Linuksa. Wynik debugowania powie nam, czy to się dzieje. Aby wyjaśnić, te same pliki konfiguracyjne działały w systemie Windows z openvpn, ale nie w Linuksie, takie samo zachowanie jak w / were / seeing.

Edytuj, aby dodać jeszcze jedną rzecz:

  1. Spróbuj użyć pptp zamiast openvpn. Upewnij się, że połączenie VPN jest włączone na routerze (używa zwykłego typu pakietu o nazwie GRE, który router musi przejść przez niezakłócone). Jest znacznie mniej bezpieczny, ale będzie dobrym testem. W zależności od tego, jak bezpieczna jest sieć VPN, może być wystarczająca. Wypróbuj, jeśli działa, zbadaj bardzo realne obawy dotyczące bezpieczeństwa.
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.