Resposta geral
Você deve usar as opções --script
e --script-tun
de openconnect
e fornecer um personalizado vpnc-script . Um bom ponto de partida é o vpnc-script
já distribuído com o seu openconnect
, Por exemplo, no OSX (HomeBrewed openconnect
) ele está localizado em /usr/local/etc/vpnc-script
.
Observe que, de acordo com a documentação oficial da openconnect:
OpenConnect just handles the communication with the VPN server; it does not know how to configure the network routing and name service on all the various operating systems that it runs on.
To set the routing and name service up, it uses an external script which is usually called vpnc-script.
Melhor solução
Já existe um bom projeto chamado ocproxy que atua como um servidor proxy para openconnect
, daí o nome ocproxy (< strong> O caneta C onnect Proxy ).
ocproxy is a user-level SOCKS and port forwarding proxy for OpenConnect based on lwIP. When using ocproxy, OpenConnect only handles network activity that the user specifically asks from proxy, so the VPN interface no longer "hijacks" all network traffic on the host.
Exemplo de comando OpenConnect:
echo $1 | sudo openconnect -u $2 -d --timestamp -v --passwd-on-stdin --script-tun --script "ocproxy -D $3 -v" $4
Substituir:
-
$1
com: Senha OpenConnect
-
$2
com: Nome de usuário do OpenConnect
-
$3
com: Desired Socks5 Proxy Port
-
$4
com: Endereço do servidor OpenConnect