This is a glue between OpenConnect and systemd-networkd.
Works by replacing
cargo install systemd-networkd-vpnc --root /usr/local/ cp units/cisco-vpn.netdev units/cisco-vpn.network /etc/systemd/network networkctl reload
After it's installed, add
--script=/usr/local/bin/systemd-networkd-vpnc option to your
openconnect --interface=cisco-vpn --script=/usr/local/bin/systemd-networkd-vpnc \ --csd-wrapper=/usr/local/bin/csd-wrapper.sh --csd-user=myname --protocol=anyconnect \ --firstname.lastname@example.org vpn.company.com
The script generates
/etc/systemd/network/cisco-vpn.network.d/routes.conf drop-in config file
and reloads config, so systemd-networkd handles VPN network configuration.
After VPN connection, if everything went well, you will see the following status:
$ networkctl IDX LINK TYPE OPERATIONAL SETUP 1 lo loopback carrier unmanaged 2 enp4s0 ether no-carrier configuring 4 wlan0 wlan routable configured 9 cisco-vpn none routable configured 4 links listed.
Licenced under MIT. Feel free to use it at your discretion. This software is free of charge, no warranty issued! I'm not responsible for any data, hardware or any other losses as a result of using or misusing this software!
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, shall be licensed under MIT, without any additional terms or conditions.
All contributions are welcome as PRs here!