net1 -> ipsec -> net2 -> isp1
Во общем есть такая конфигурация сети:
192.168.0.0/24 - имеет шлюз 192.168.0.1
Шлюз имеет 3 интерфейса:
eth0 - 192.168.0.1/24 в свою локалку, которую обслуживает.
eth1 - 192.168.10.1/24 шнурок от провайдера, где на другом конце аналогичный шлюз, обслуживающий локалку 192.168.1.0/24.
eth2 - 2.2.2.2/0 - резервный провайдер для сети 192.168.0.0/24.
------
Сеть 192.168.1.0/24 обслуживающий ее шлюз 192.168.1.1 и имеет 2 интерфейса
eth0 - 192.168.1.1/24 в свою локалку.
eth1 - 192.168.10.2/24 шнурок от провайдера к 192.168.10.1
Так же в сети 192.168.1.0/24 есть еще один роутер 192.168.1.2, который раздает интернет в обе подсети, но слишком костыльным методом:
между 192.168.10.1 <-> 192.168.10.2 настроен ipsec (считаем, что канал провайдера является не доверенным), но только для локального трафика.
получается что если хост из первой подсети, стучится во внешний мир, то его путь такой:
192.168.0.100 > 192.168.0.1(Шлюз по умолчанию, выбираем таблицу для провайдера из второй подсети, натим траффик на eth1) > 192.168.10.2 (Натим его на eth0) > 192.168.1.2 (NAT)
Понимаю, что это как то совсем не правильно слать трафик через 3 NAT. Есть ли какие варианты, что бы упростить это все и сделать по уму?
traceroute 8.8.8.8 из первой подсети:
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
1 192.168.0.1 (192.168.0.1) 3.674 ms 3.659 ms 3.651 ms
2 192.168.10.2 (192.168.10.2) 5.977 ms 5.983 ms 8.589 ms
3 192.168.1.2 (192.168.1.2) 8.586 ms 8.689 ms 8.689 ms
4 ...
n google-public-dns-a.google.com (8.8.8.8) 29.527 ms 30.757 ms 30.881 ms
traceroute 192.168.1.100 из первой подсети до хоста во второй:
traceroute to 192.168.1.100 (192.168.1.100), 30 hops max, 60 byte packets
1 192.168.0.1 (192.168.0.1) 0.488 ms 0.465 ms 0.453 ms
2 192.168.1.1 (192.168.1.1) 2.106 ms 2.472 ms 3.202 ms
3 192.168.1.100 (192.168.1.100) 3.539 ms 4.220 ms 4.758 ms