LINUX.ORG.RU
ФорумAdmin

net1 -> ipsec -> net2 -> isp1

 , ,


0

1

Во общем есть такая конфигурация сети:
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



Последнее исправление: dragster (всего исправлений: 2)

1. LORCODE

2. Если не хотите NAT, прописывайет везде маршруты, чтобы NAT остался только на 192.168.1.2.

mky ★★★★★
()
Ответ на: комментарий от mky

1. LORCODE

Поправил.

2. Если не хотите NAT

Ну с натом вроде работает и не первый день, но мне кажется, что это не тру вэй

dragster
() автор топика
Ответ на: комментарий от dragster

Ваше желание переделать понятно, но для интернета нет единых правил «по уму». Как админу захочется, так и делается. Если работает и пользователей устраивает, значит решение нормальное.

Ещё пока не понятно, чем обусловлено присутствие 192.168.1.2, почему не хватает одного маршрутизатора во второй сети?

mky ★★★★★
()
Ответ на: комментарий от mky

Ваше желание переделать понятно, но для интернета нет единых правил «по уму». Как админу захочется, так и делается. Если работает и пользователей устраивает, значит решение нормальное.

Просто хотелось узнать, существуют ли другие решения этой задачи на более «низком» уровне без всяких сквидов.

Ещё пока не понятно, чем обусловлено присутствие 192.168.1.2, почему не хватает одного маршрутизатора во второй сети?

Он временно исполняет свои обязанности, так как шнурок провайдера в другом помещении а местный switch туп и не знает vlan.

dragster
() автор топика
Ответ на: комментарий от dragster

Просто хотелось узнать, существуют ли другие решения этой задачи на более «низком» уровне без всяких сквидов.

Сквид это прокси, при чем он здесь? NAT это и есть решение на более низком уровне, чем сквид.
В данной схеме из сети 192.168.1.0/24 нельзя попасть на хосты 192.168.0.0/24 из-за NAT. Наоборот - можно. В некоторых случаях таким образом ограничивают сеть (если нет файрвола или других прогрессивных штук) от доступа из других сетей.
NAT необходим только на конечном роутере в сторону интернета. На других просто прописать маршруты.

Gu4
()
Ответ на: комментарий от Gu4

Сквид это прокси, при чем он здесь? NAT это и есть решение на более низком уровне, чем сквид.

Это понятно.

В данной схеме из сети 192.168.1.0/24 нельзя попасть на хосты 192.168.0.0/24 из-за NAT. Наоборот - можно.

Не совсем так в моем случае:

# No masquerade ipsec tunnels
pre-up iptables -t nat -A POSTROUTING -o eth1 -m policy --dir out --pol ipsec -j ACCEPT
pre-up iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.255.0 -o eth1 -j MASQUERADE

NAT необходим только на конечном роутере в сторону интернета. На других просто прописать маршруты.

В чем и вопрос. Т.е. я прописываю на хостах в первой сети, маршрут до второй и default из нее же?
Насколько работоспособна такая схема? Насколько я знаю то default gateway должен быть из той же сети где и сам хост.

dragster
() автор топика
Ответ на: комментарий от dragster

Не совсем так в моем случае

а, теперь понятно

Насколько я знаю то default gateway должен быть из той же сети где и сам хост.

Все правильно.

Т.е. я прописываю на хостах в первой сети, маршрут до второй и default из нее же?

Ничего не понял. Обьясню, на рабочих станциях прописываешь шлюзом по-умолчанию шлюзы в данных сетях. В принципе, там уже и так все настроено, так что их трогать не надо.
Пронумеруем роутеры в порядке их обьявления в стартовом посте. Итак, на третьем указывается маршрут в сеть 192.168.0.0 через второй

ip route add 192.168.0.0/24 via 192.168.1.1
опционально можно указать
ip route add 192.168.10.0/24 via 192.168.1.1
на втором маршрут в сеть 192.168.0.0 через первый (раз там ipsec работает, то он уже должен быть)
ip route add 192.168.0.0/24 via 192.168.10.1
после этого от ната на первом и втором можно отказаться.

Gu4
()
Ответ на: комментарий от Gu4

Вот это похоже на правду. Спасибо! Жаль в пятницу оставаться для боевых тестов (-; Проверим.

dragster
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.