openwrt-packages/net/openconnect
Jo-Philipp Wich 900ac76bdb openconnect: preserve whitespace in arguments
Properly quote arguments when assembling the command line and eval the
proto_run_command() invocation in order to prevent the shell from
improperly splitting the command arguments on $IFS.

Fixes: #10137
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-02-03 08:55:54 +01:00
..
files openconnect: preserve whitespace in arguments 2020-02-03 08:55:54 +01:00
Config.in openconnect: add an option to support stoken 2014-12-07 21:18:52 -08:00
Makefile openconnect: preserve whitespace in arguments 2020-02-03 08:55:54 +01:00
README openconnect: allow specifying form_entry list 2019-09-21 10:33:18 +00:00

README

The openconnect client expects to be configured using the uci interface.

To setup a VPN connection, add the following to /etc/config/network:

config interface 'MYVPN'
	option proto 'openconnect'
	option interface 'wan'
	option server 'vpn.example.com'
	option port '4443'
	option username 'test'
	option password 'secret'
	option serverhash 'AE7FF6A0426F0A0CD0A02EB9EC3C5066FAEB0B25'
	option defaultroute '0'
	option authgroup 'DEFAULT'

	# For second factor auth:

	# when a fixed 2FA password can be used
	#option password2 'my-fixed-2fa-password'

	# RSA tokens, must be built with stoken support
	#option token_mode 'rsa'
	#option token_secret 'secret'

	# HOTP/TOTP tokens
	#option token_mode 'hotp'
	#option token_secret '00'

	# tokens from script
	#option token_mode 'script'
	#option token_script '/lib/custom/getocpass.sh'

	# Juniper vpn support
	#option juniper '1'

	# Authentication form responses
	#list form_entry FORM:OPT=VAL

The additional files are also used:
/etc/openconnect/user-cert-vpn-MYVPN.pem: The user certificate
/etc/openconnect/user-key-vpn-MYVPN.pem: The user private key
/etc/openconnect/ca-vpn-MYVPN.pem: The CA certificate (instead of serverhash)

After these are setup you can initiate the VPN using "ifup MYVPN", and
deinitialize it using ifdown. You may also use the luci web interface
(Network -> Interfaces -> MYVPN Connect).

Note that you need to configure the firewall to allow communication between
the MYVPN interface and lan.

There is a luci plugin to allow configuring an openconnect interface from
the web environment; see the luci-proto-openconnect package.