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 # - VPNGATEWAY -- public address of vpn gateway
10 # - TAPDEV -- 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 $TAPDEV mode tap
21 ip tuntap del dev $TAPDEV mode tap
26 OLDGW=$(ip route show 0/0 | sed -e 's/^default//')
27 ip link set dev $TAPDEV up
28 ip addr add $INTERNAL_IP4_ADDRESS dev $TAPDEV
29 ip route add $VPNGATEWAY $OLDGW
30 ip route add 0/1 via $INTERNAL_IP4_GATEWAY dev $TAPDEV
31 ip route add 128/1 via $INTERNAL_IP4_GATEWAY dev $TAPDEV
36 ip route del $VPNGATEWAY