Как за мапить виртуальную подсеть на те же адреса в тунель? Суть такова, что есть две vpn сетки, в которых пересекаются адреса в самой грубой форме. Надо чтобы все запросы к локальной не существующей подсети 192.168.17.x (netmask 255.255.255.0) форвардились на такие же адреса tun0 (192.168.5.x). А все остальные запросы уходили в подсеть tun1. ssh 192.168.17.44 должен по сути быть 192.168.5.44 через tun0, а прямо ssh 192.168.5.44 должен уйти запрос в подсеть tun1 Если можно как-то добавить, что все зарезолвленные домены из tun0 возвращались с адресами 192.168.17.х вообще было бы супер. Естественно, всё шаманство только на локальной машине, никто на удалённых хостах ничего менять не будет.
Теперь все запросы к адресам подсети 192.168.17.x будут перенаправляться на адреса подсети 192.168.5.x через tun0. А запросы к адресам подсети 192.168.5.x будут отправляться в подсеть tun1.
Чтобы зарезолвленные домены из tun0 возвращались с адресами 192.168.17.x, можно отредактировать файл /etc/hosts и добавить соответствующие записи:
Для этого можно использовать утилиту iptables для перенаправления трафика между подсетями.
Первым шагом создадим маршрут для подсети 192.168.17.x через интерфейс tun0:
sudo ip route add 192.168.17.0/24 dev tun0Затем создадим правила iptables для перенаправления трафика:
sudo iptables -t nat -A PREROUTING -d 192.168.17.0/24 -i eth0 -j DNAT --to-destination 192.168.5.0/24sudo iptables -t nat -A PREROUTING -d 192.168.5.0/24 -i eth0 -j DNAT --to-destination 192.168.5.0/24
Теперь все запросы к адресам подсети 192.168.17.x будут перенаправляться на адреса подсети 192.168.5.x через tun0. А запросы к адресам подсети 192.168.5.x будут отправляться в подсеть tun1.
Чтобы зарезолвленные домены из tun0 возвращались с адресами 192.168.17.x, можно отредактировать файл /etc/hosts и добавить соответствующие записи:
192.168.17.x domain1.com192.168.17.y domain2.com
Таким образом, запросы к domain1.com и domain2.com будут возвращать адреса из сети 192.168.17.x.