Задача тривиальная и настраивается за пять-десять минут. Вот примерный мануал
Сначала выполним ifconfig что бы понимать где какие адреса-интерфейсы:
kolya@vpska-dvoinoi-vpn:/etc/openvpn# ifconfig
ens3 Link encap:Ethernet HWaddr ac:de:48:00:11:22
inet addr:108.61.168.153 Bcast:255.255.254.0 Mask:255.255.254.0
inet6 addr: fe80::aede:ff:fe32:7b2b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:122189 errors:0 dropped:0 overruns:0 frame:0
TX packets:134190 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:88730666 (88.7 MB) TX bytes:21559674 (21.5 MB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:10 errors:0 dropped:0 overruns:0 frame:0
TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:500 (500.0 B) TX bytes:500 (500.0 B)
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:108.61.168.1 P-t-P:108.61.168.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Далее подправим статический маршрут:
ip route add default via 108.61.168.1 dev ens3 table 102
ens3 это наш главный интерфейс, через который трафик летает на вход и на выход.
Теперь нужно три правила в iptables засунуть:
iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
iptables -t nat -A POSTROUTING -o tun1 -j MASQUERADE
iptables -t mangle -A OUTPUT -p udp -m udp --sport 80 -j MARK --set-mark 0x2
Порт 80 - это наш локальный порт, на котором будет висеть и слушать OpenVPN.
Далее, воткнем еще несколько правил в таблицу статических маршрутов (трюк с таблицей заценили? :-) )
ip rule add fwmark 0x2/0x2 lookup 102
ip rule add from 108.61.168.153 table 102
И теперь переходим к финальной и завершающей части. Нужно подключиться к нашему второму OpenVPN серверу. Для этого можно или вторую консоль открыть, или воспользоваться виртуальным эмулятором терминала (tmux или screen).
По старинке, воспользуемся скрином. Если не установлен, до доставьте (у меня Fedora, поэтому юзаем yum):
sudo yum install screen
Далее создадим скриновую сессию для нашего VPN:
screen -S malenkii_dvoinoi
Ну и установим соединение с нашим "вторым VPN":
openvpn --config /path/to/second.ovpn
Ctrl + a + d отправит вашу скрин сессию выполняться в фоновом режиме (все останется, просто сессия "задетачится").
На этом все - напишите, получилось или нет.