#networking #systemd #generator #config #vpnc

app systemd-networkd-vpnc

A glue between OpenConnect and systemd-networkd

1 unstable release

0.1.0 Dec 16, 2020

#60 in #systemd

MIT license

11KB
245 lines

systemd-networkd-vpnc

This is a glue between OpenConnect and systemd-networkd. Works by replacing vpnc-script.

Installation:

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 command. For instance:

openconnect --interface=cisco-vpn --script=/usr/local/bin/systemd-networkd-vpnc \
    --csd-wrapper=/usr/local/bin/csd-wrapper.sh --csd-user=myname --protocol=anyconnect \
    --user=corporate.user@company.com 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.

Licence

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!

Contribution

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!

Dependencies

~0.5–1MB
~24K SLoC