O Openconnect funciona bem por meio da linha de comando.
$ sudo openconnect foo.com/bar
POST https://foo.com/bar
Attempting to connect to server 1.2.3.4:443
Connected to 1.2.3.4:443
SSL negotiation with foo.com
Connected to HTTPS on foo.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: Fri, 04 Aug 2017 08:28:32 GMT
X-Frame-Options: SAMEORIGIN
X-Aggregate-Auth: 1
HTTP body chunked (-2)
XML POST enabled
Please enter your username and password.
Username:baz
Password:
No entanto, falha por meio do gerenciador de rede. Eu clico para conectar-me à VPN, que abre uma janela. Em seguida, clico no ícone "conectar" novamente e recebo Failed to find or parse web form in login page
. O log é como segue.
GET https://foo.com/bar
Attempting to connect to server 1.2.3.4:443
Connected to 1.2.3.4:443
SSL negotiation with foo.com
Connected to HTTPS on foo.com
Got HTTP response: HTTP/1.0 200 OK
Content-Length: 110
Cache-Control: no-cache
Pragma: no-cache
Connection: Close
Date: Fri, 04 Aug 2017 08:31:22 GMT
HTTP body length: (110)
Failed to find or parse web form in login page
Existem algumas diferenças, por ex. GET
vs. POST
e Content-Type
. Não tenho certeza se isso é importante. Aqui está o arquivo de configuração do NetworkManager:
$ sudo cat /etc/NetworkManager/system-connections/foo_VPN
[connection]
id=foo_VPN
uuid=<random string>
type=vpn
permissions=user:sparhawk:;
[vpn]
autoconnect-flags=0
certsigs-flags=0
cookie-flags=2
enable_csd_trojan=no
gateway=foo.cam/bar
gateway-flags=2
gwcert-flags=2
lasthost-flags=0
pem_passphrase_fsid=no
protocol=nc
xmlconfig-flags=0
service-type=org.freedesktop.NetworkManager.openconnect
[ipv4]
dns-search=
method=auto
[ipv6]
addr-gen-mode=stable-privacy
dns-search=
method=auto
Estou usando um Arch Linux atualizado, com openconnect
e networkmanager-openconnect
instalado. Estou usando o KDE Plasma, se relevante.