Ubuntu 16.04 openconnect cisco VPN nie uzyskał pliku cookie webvpn

16

W systemie Ubuntu 16.04 pojawia się następujący błąd:

$ openconnect -v vpn.com
POST https://vpn.com/
Attempting to connect to server 1.1.1.1:443
SSL negotiation with vpn.com
Connected to HTTPS on vpn.com
Got HTTP response: HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Cache-Control: no-cache
Pragma: no-cache
Connection: Keep-Alive
Date: Mon, 22 Aug 2016 00:04:14 GMT
X-Frame-Options: SAMEORIGIN
X-Aggregate-Auth: 1
HTTP body chunked (-2)
XML POST enabled
Error: Server asked us to run CSD hostscan.
You need to provide a suitable --csd-wrapper argument.
Failed to obtain WebVPN cookie

Próbowałem --no-xmlpost posti dostałem błąd.

Oto trochę tła:
miałem Ubuntu 14.04 i łączyłem się z serwerem VPN za pomocą openconnect. Tydzień temu przestał działać z tym problemem. Domyślam się, że witryna VPN zaktualizowała swój serwer VPN Cisco do wymaganego trojana CSD. W każdym razie postanowiłem uaktualnić do 16.04 i nadal mam ten sam problem.

sdstack
źródło
Dla mnie rozwiązaniem było w tej odpowiedzi . Musiałem użyć innej opcji dla polecenia: --authgroupzamiast --usergroup.
totymedli
Dla mnie problem polegał na tym, że miałem złą konfigurację serwera nazw /etc/resolv.confi wyszukiwanie DNS kończyło się niepowodzeniem.
Leons

Odpowiedzi:

11

Moja odpowiedź znalazła się w tym poście:
https://gist.github.com/l0ki000/56845c00fd2a0e76d688

Zrobiłem następujące:

cd ~  
mkdir .cisco  
cd .cisco  
wget https://gist.githubusercontent.com/l0ki000/56845c00fd2a0e76d688/raw/61fc41ac8aec53ae0f9f0dfbfa858c1740307de4/csd-wrapper.sh  
chmod +x csd-wrapper.sh  

Edytuj plik za pomocą serwera VPN:

CSD_HOSTNAME=vpnserver.com  

Uruchom plik

./csd-wrapper.sh  

Uruchom openconnect:

sudo openconnect --csd-user=YOURLINUXUSERNAME --csd-wrapper=/home/YOURLINUXUSERNAME/.cisco/csd-wrapper.sh vpnserver.com  
sdstack
źródło
1
Ciekawe - dlaczego używasz otwartego połączenia sudo? Obsługują operacje użytkownika innego niż root . Z tej strony: Ze względów bezpieczeństwa lepiej jest, jeśli kod sieciowy może działać bez uprawnień roota - i istnieje kilka opcji, które pozwalają OpenConnect działać jako nieuprzywilejowany użytkownik.
Randall
3

Odkryłem, że muszę również podać --os = win. Wydawało się, że działało to około 404 odpowiedzi generowanych przez serwer podczas próby pobrania sfinst.

GET https://vpn.company.com/CACHE/sdesktop/install/binaries/sfinst
Got HTTP response: HTTP/1.1 404 Not Found (does not exist)

Informacje o problemie 404 dla sfinst można znaleźć na liście mailingowej openconnect-devel „ Łączenie z Linuksem, gdy CSD jest dostępny ”.

Miałem sukces z następującą komendą, która używa flagi os i flagi csd-wrapper razem:

sudo openconnect \
    --user <USERNAME> \
    --cert-expire-warning=15 \
    --certificate <CERTFILE> \
    --os=win \
    --csd-user=<USERNAME> \
    --csd-wrapper=<PATHTO>/csd-wrapper.sh \
    https://<VPNADDRESS e.g., vpn.company.com>
DAP
źródło
1

Miałem ten błąd w Ubuntu 18.04.
Byłem w stanie połączyć się z serwerem za pomocą linku poniżej i drugiej odpowiedzi .

po prostu użyj -v flagi

sudo openconnect -v NAMESERVER.COM
hoseinmont
źródło