ubuntu 16 два vpn тунеля через которые доступны одинаковые подсети. Ничего сверхъестественного не нужно. Просто из какого интерфейса вышел в тот и ушел.
Chain PREROUTING (policy ACCEPT 2387K packets, 1620M bytes)
pkts bytes target prot opt in out source destination
1833 122K CONNMARK all -- fr * 192.168.254.0/24 0.0.0.0/0 ctstate NEW,RELATED CONNMARK set 0xa
3854 205K CONNMARK all -- fr * 192.168.200.0/24 0.0.0.0/0 ctstate NEW,RELATED CONNMARK set 0xa
655K 1501M CONNMARK all -- eth0 * 0.0.0.0/0 0.0.0.0/0 connmark match 0xa CONNMARK restore
ip rule list
219: from all fwmark 0xa lookup gre
ip ro sh ta gre
192.168.200.0/24 via 192.168.10.20 dev fr
192.168.254.0/24 via 192.168.10.20 dev fr
ip ro
default via 1.1.1.1 dev eth0
1.1.1.1.0/24 dev eth0 proto kernel scope link src 1.1.1.2
192.168.9.20 dev l2tp0 proto kernel scope link src 192.168.9.1
192.168.10.20 dev fr proto kernel scope link src 192.168.10.10
192.168.254.0/24 via 192.168.9.20 dev l2tp0
192.168.200.0/24 via 192.168.9.20 dev l2tp0