3 # A simple script handling default routing for GoVPN,
4 # inspired by vpnc-script, but much simpler.
6 # List of parameters passed through environment
7 # - reason -- why this script is called:
8 # pre-init, connect, disconnect
9 # - GOVPN_REMOTE -- public address of VPN gateway
10 # - GOVPN_IFACE -- tap device
11 # - INTERNAL_IP4_ADDRESS -- e.g. 172.0.0.2/24
12 # - INTERNAL_IP4_GATEWAY -- e.g. 172.0.0.1
16 ip tuntap add dev $GOVPN_IFACE mode tap
21 ip tuntap del dev $GOVPN_IFACE mode tap
26 local OLDGW=$(ip route show 0/0 | sed 's/^default//')
27 ip link set dev $GOVPN_IFACE up
28 ip addr add $INTERNAL_IP4_ADDRESS dev $GOVPN_IFACE
29 ip route add $GOVPN_REMOTE $OLDGW
30 ip route add 0/1 via $INTERNAL_IP4_GATEWAY dev $GOVPN_IFACE
31 ip route add 128/1 via $INTERNAL_IP4_GATEWAY dev $GOVPN_IFACE
36 ip route del $GOVPN_REMOTE