Updates to Chrome OS have broken the VPN script I had for crouton. I had to tweak a few things including a default route for my VPN server so that broken VPN connections could automatically reconnect. I had to work around another new security feature: selinux denying sed the ability to create temp files in /etc. The updated script works well, though… until Google updates ChromeOS again 🙂
See this post for instructions on how to implement the script.
Here it is:
#!/bin/bash CONF_DIR="DIR_CONTAINING_OVPN_FILE" CONF_FILE="NAME_OF_OVPN_FILE" DNS_SERVER="ADDRESS_OF_VPN_DNS_SERVER" VPN_SERVER=$(cat $CONF_DIR/$CONF_FILE | grep remote | awk '{print $2}') DEFAULT_GW=$(sudo route | grep default | awk '{print $2}' ) cd "$CONF_DIR" # Add google DNS on top of current ones, since openvpn command does not do it sudo cp /etc/resolv.conf /tmp/resolv.conf sudo sed -i "1s/^/# new DNS\nnameserver $DNS_SERVER\n# old DNS\n/" /tmp/resolv.conf sudo cp /tmp/resolv.conf /etc/resolv.conf sudo openvpn --config "$CONF_FILE" --dev tun0 # When ctrl-c is hit remove tun0 and cleanup the DNS sudo openvpn --rmtun --dev tun0 sudo cp /etc/resolv.conf /tmp/resolv.conf sudo sed -i '/# new DNS/,/# old DNS/d' /tmp/resolv.conf sudo cp /tmp/resolv.conf /etc/resolv.conf trap 2
2 thoughts on “Updated crouton OpenVPN script”