В продолжение
вопроса (не достаточно подробно освещён). Объясните для моего случая
таже схема: Client <-> tun0 <-> outline-tun0 <-> usb0
OpenVPN tun0 подключается через config.ovpn в GUI; outline-tun0 через Outline-Client.AppImage, параметры подключений:
ip address show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: outline-tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 500
link/none
inet 10.0.85.1/32 scope global outline-tun0
valid_lft forever preferred_lft forever
3: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
link/ether 06:73:bc:c0:a8:d6 brd ff:ff:ff:ff:ff:ff
inet 192.168.42.205/24 brd 192.168.42.255 scope global dynamic noprefixroute usb0
valid_lft 28447sec preferred_lft 28447sec
4: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100
link/none
inet 10.211.1.13 peer 10.211.1.14/32 scope global noprefixroute tun0
valid_lft forever preferred_lft forever
ip route show
default via 10.0.85.2 dev outline-tun0 metric 10
10.0.85.2 dev outline-tun0 scope link src 10.0.85.1
10.211.1.14 dev tun0 proto kernel scope link src 10.211.1.13 metric 50
147.45.43.250 via 192.168.42.129 dev usb0 metric 5
169.254.0.0/16 dev outline-tun0 scope link metric 1000
192.168.42.0/24 dev usb0 proto kernel scope link src 192.168.42.205 metric 100
При этом происходит частая (за сессию) замена сервера для tun0, а для outline-tun0 - с новой сессии. Также необходима максимальная автоматизация в отслеживании и переподключении/отключении при смене серверов. А при отсутствии tun0 схема такая:
Client <-> outline-tun0 <-> usb0.
Прозьба снабдить решение подробными комментами, для плохо понимающих в данной теме.