VPN and Eduroam in St Andrews

It appears that, according to the information on the website, the University generally recognises two computer (eco)systems:

This means that although Linux is mentioned in several places on the website, the occurrences usually do not lead to very useful information and, generally, Linux users are on their own when it comes to configuring their systems to interoperate with the University ones.

Hence this short memo.

VPN

The official guide recommends a client by Cisco. The official Cisco client:

After some searching, I found vpnc, which is an open source, free software alternative to the Cisco client. Apart from the Github sources, it is also available in the Debian repositories as vpnc and I guess it might be available in other major distributions' repositories as well.

Installation is easy but the somewhat harder thing is to put together a suitable configuration file from the information on the University website. After some experimentation and searching, I found the iDevice configuration info most informative.

This yields the following vpnc configuration:

# St Andrews VPN config
Interface name tun-sta
IPSec gateway vpn.st-andrews.ac.uk
IPSec ID remote
IPSec secret <ipsec-secret>
IKE Authmode psk
Xauth username <your-st-andrews-username>
#Xauth password <your-st-andrews-password>

The ipsec-secret is the secret found in the iDevice configuration info; the username and password are your standard St Andrews credentials.

I commented out the password clause so that I needn't store my St Andrews password in plain text somewhere in /etc -- I prefer to enter the password in the console whenever I start the VPN (which is not often).

Finally, I like to name my VPN interfaces mnemonically but your preferences might differ. The interface name can of course be changed to the more standard tun0 or something else.

When you start up the VPN, it will automatically set up a route for the corresponding subnet, which you can use to access the HTTP proxy servers or anything else within the internal network.

Eduroam

Eduroam connection configuration info is provided via the uos-connect access points. Unfortunately, the only described connection method for Linux is using the network-manager, nothing else.

Below is a configuration block for wpa-supplicant, which is what I use:

network={
    ssid="eduroam"
    key_mgmt=WPA-EAP
    eap=TTLS
    identity="<your-st-andrews-username>@st-andrews.ac.uk"
    password="<your-st-andrews-password>"
    phase2="auth=PAP"
    ca_cert="/etc/wpa_supplicant/st-andrews.crt"
    priority=0
}

You can get the certificate (originally named uos.crt) via the uos-connect connection.