so i've continued hunting, and I'm fairly certain I need to use the route-noexec directive, which passes the server pushed routes to the up script via environment variables.
Through logging, I know that the following routs are pushed by the server
May 19 22:14:23 xbmc ovpn-airvpn[11907]: /home/xbmc/.config/openvpn/up.sh tun0 1500 1558 10.4.23.178 10.4.23.177 i
May 19 22:14:24 xbmc ovpn-airvpn[11907]: /sbin/ip route add 184.75.221.2/32 via 192.168.199.1
May 19 22:14:24 xbmc ovpn-airvpn[11907]: /sbin/ip route add 0.0.0.0/1 via 10.4.23.177
May 19 22:14:24 xbmc ovpn-airvpn[11907]: /sbin/ip route add 128.0.0.0/1 via 10.4.23.177
May 19 22:14:24 xbmc ovpn-airvpn[11907]: /sbin/ip route add 10.4.0.1/32 via 10.4.23.177
May 19 22:14:24 xbmc ovpn-airvpn[11907]: Initialization Sequence Completed
May 19 22:14:41 xbmc kernel: [187039.414311] ip_tables: (C) 2000-2006 Netfilter Core Team
May 19 22:17:01 xbmc CRON[11958]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
May 19 22:21:26 xbmc ovpn-airvpn[11907]: event_wait : Interrupted system call (code=4)
May 19 22:21:26 xbmc ovpn-airvpn[11907]: SIGTERM received, sending exit notification to peer
May 19 22:21:31 xbmc ovpn-airvpn[11907]: /sbin/ip route del 10.4.0.1/32
May 19 22:21:31 xbmc ovpn-airvpn[11907]: /sbin/ip route del 184.75.221.2/32
May 19 22:21:31 xbmc ovpn-airvpn[11907]: /sbin/ip route del 0.0.0.0/1
May 19 22:21:31 xbmc ovpn-airvpn[11907]: /sbin/ip route del 128.0.0.0/1
May 19 22:21:31 xbmc ovpn-airvpn[11907]: Closing TUN/TAP interface
May 19 22:21:31 xbmc ovpn-airvpn[11907]: /sbin/ip addr del dev tun0 local 10.4.23.178 peer 10.4.23.177
May 18 09:06:50 xbmc avahi-daemon[715]: message repeated 2 times: [ Invalid legacy unicast query packet.]
May 19 22:21:31 xbmc avahi-daemon[715]: Withdrawing workstation service for tun0.
May 19 22:21:31 xbmc NetworkManager[839]: SCPlugin-Ifupdown: devices removed (path: /sys/devices/virtual/net/tun0, iface: tun0)
May 19 22:21:31 xbmc ovpn-airvpn[11907]: /home/xbmc/.config/openvpn/down.sh tun0 1500 1558 10.4.23.178 10.4.23.177 init
and I know that with route-noexec I have to specify them manually based on what is passed to the up.sh script.
My question is, what routes do I have add so that only certain traffic (either adapter based or port based) are sent over the vpn connection?