Я думаю, что можно сделать то использование iptables:
#!/bin/bash
# Create new routing table
echo 200 vpn >> /etc/iproute2/rt_tables
# assign iptables mark "1" to this table
ip rule add fwmark 1 table vpn
#next hop for the new routing table will be trough openvpn
ip route add table vpn eql nexthop via <remotevpnip> dev tap0
#with iptables, add mark "1" to the traffic that must be sent trough the vpn
# Sample using the -m owner iptables module
iptables -t mangle -A OUTPUT -p tcp -m owner --uid-owner <user> -j MARK --set-mark 0x01
Это работает на udp и трафик TCP, не icmp.