Muff's website forum

FreeBSd => Маршрутизация => Тема начата: Goffanon от Февраля 13, 2013, 03:10:38 pm

Название: Маршрутизация между 2 сетями.
Отправлено: Goffanon от Февраля 13, 2013, 03:10:38 pm
Добрый вечер.
Настроил туннель посредством OpenVPN (статья http://muff.kiev.ua/content/openvpn-postroenie-tunelya)

Возникла проблема маршрутизации.
данные BSD1
Внешний IP vr0 параметры значения не имеют
Внутренняя виртуальная точка туннеля 192.168.2.10
Внутренний интерфейс fx0 192.168.0.250

данные BSD2
Внешний IP vr0 параметры значения не имеют
Внутренняя виртуальная точка туннеля 192.168.2.20
Внутренний интерфейс fx0 192.168.1.250

Точки туннеля пингуются обе с обоих машин.
Фаерволл стоит открытый, НАТ на внешних интерфейсах висит.

Прописываю маршруты так:

На BSD1
route add -net 192.168.1.0/24 192.168.2.20

На BSD2
route add -net 192.168.0.0/24 192.168.2.10

с BSD1 пингую внутренний адрес BSD2 192.168.1.250
с BSD2 пингую внутренний адрес BSD1 192.168.0.250

А вот компьютеры в сетях 192.168.0.0 и 192.168.1.0 не пингуются :(

ЗЫ может я полный дуб, но не пойму в чем проблема.
Название: Re: Маршрутизация между 2 сетями.
Отправлено: muff от Февраля 13, 2013, 03:57:56 pm
Так понимаю, для сети 192.168.1.0/24 шлюзом на всех машинах указан 192.168.1.250, а для 192.168.0.0/24 192.168.0.250 соответственно? Тогда по сути все верно, должно работать.

"Послушайте" tcpdump-ом трафик, как он ходит.
Название: Re: Маршрутизация между 2 сетями.
Отправлено: Goffanon от Февраля 13, 2013, 05:41:12 pm
Да вот настройки в сетях:

Для сети 192.168.0.0/24 маршрутизатор 192.168.0.250 (шлюз, Днс кеширующий, все тут висит)
Для сети 192.168.1.0/24 маршрутизатор 192.168.1.250 (шлюз, Днс кеширующий)

Адреса внутренних интерфейсов с серверов в обе стороны пингуются, т.е. с BSD1 пингую внутренний адрес BSD2 и наоборот...

""Послушайте" tcpdump-ом трафик, как он ходит." завтра проверю, разницы нет на каком сервере слушать?
Название: Re: Маршрутизация между 2 сетями.
Отправлено: muff от Февраля 13, 2013, 06:01:17 pm
Разница, где "слушать" - есть. Нужно найти, где "затык".
Поэтому запускаем с клиента, например с 192.168.0.33 (с ключем -t, если это виндовая машина), пинг на 192.168.1.33 и слушаем по ходу прохождения пакета:

1. BSD1 - Внутренний интерфейс
2. BSD1 - Туннель
3. BSD2 - Туннель
4. BSD2 - Внутренний интерфейс

Чтобы отфильтровать трафик, tcpdump желательно запускать с ключем "proto ICMP".
Название: Re: Маршрутизация между 2 сетями.
Отправлено: Goffanon от Февраля 14, 2013, 07:34:48 am
:) Все разобрался.
Я дуб :)
Если конкретнее, то стояли семерки в сетях, и в настройках было запрещено сетевое обозрение. Так что проблема была в конечных точках.
Сегодня для чистоты эксперимента подключил две ВинХП. Полет нормальный. Все отлично.

Однако всплыла другая проблема, статический маршрут.
Если прописываю руками маршруты все отлично, а если добавляю в rc.conf то маршрут не появляется.

В rc.conf прописал такие строки:
BSD1
static_routes="lan2"
route_lan2="-net 192.168.1.0/24 192.168.2.20"

BSD2
static_routes="lan1"
route_lan1="-net 192.168.0.0/24 192.168.2.10"

Почему автоматически маршруты не прописываются пока не могу понять, ковыряюсь дальше.
Название: Re: Маршрутизация между 2 сетями.
Отправлено: muff от Февраля 14, 2013, 12:08:36 pm
Настройте зебру из пакета quagga и не выносите себе мозг.
http://muff.kiev.ua/content/quagga-prevrashchenie-servera-v-polnofunktsionalnyi-marshrutizator#zebra (http://muff.kiev.ua/content/quagga-prevrashchenie-servera-v-polnofunktsionalnyi-marshrutizator#zebra)
Название: Re: Маршрутизация между 2 сетями.
Отправлено: Goffanon от Февраля 14, 2013, 12:38:02 pm
Настройте зебру из пакета quagga и не выносите себе мозг.
http://muff.kiev.ua/content/quagga-prevrashchenie-servera-v-polnofunktsionalnyi-marshrutizator#zebra (http://muff.kiev.ua/content/quagga-prevrashchenie-servera-v-polnofunktsionalnyi-marshrutizator#zebra)

Читал. Но мне пока надо соединить просто 2 сетки... хотелось бы обойтись просто записью пары маршрутов на обоих серверах. Расширение в ближайшие несколько лет не планируется поэтому и такой мощный инструмент для маршрутизации как quagga и не требуется.
У меня есть подозрение что маршрут не прописывается автоматом из за того что тунель не успевает подняться. Можно ли как либо прописать маршруты через конфиг OpenVPN что бы они прописывались именно после создания туннеля? Или еще каким либо образом "задержать" запись маршрута?
Название: Re: Маршрутизация между 2 сетями.
Отправлено: muff от Февраля 17, 2013, 12:22:42 am
Да, можно попробовать.

В rc.conf добавьте такую запись (для BSD1):

cloned_interfaces="tun0"
ifconfig_tun0="inet 192.168.2.10 netmask 255.255.255.255"

После ребута проверьте, добавились ли маршруты и корректно ли работает туннель. Если все гуд - тогда вносите изменения и на BSD2.
Название: Re: Маршрутизация между 2 сетями.
Отправлено: Goffanon от Февраля 18, 2013, 06:53:34 am
Сегодня в ночь проверю, поэкспериментирую.
Название: Re: Маршрутизация между 2 сетями.
Отправлено: Goffanon от Февраля 19, 2013, 01:07:15 am
Тоннель есть, а маршрут через rc.conf не поднимается :( может скриптом его в крон засунуть? Если еще какие нить варианты есть? И как вообще посмотреть причину того что не создается маршрут? В каком логе будет об этом запись?
Название: Re: Маршрутизация между 2 сетями.
Отправлено: muff от Февраля 19, 2013, 09:30:13 am
А может все таки зебра?
Название: Re: Маршрутизация между 2 сетями.
Отправлено: Goffanon от Февраля 19, 2013, 09:44:42 am
Хех... ну чтож попробуем зебру, заодно и разберемся что же это за африканский зверь такой :)
В ночь попробую, утром расскажу о результатах.
Название: Re: Маршрутизация между 2 сетями.
Отправлено: muff от Февраля 19, 2013, 09:45:41 am
Насетапить можно и днем. На работу не влияет.
А с маршрутами уже после окончания рабочего дня поработать...
Название: Re: Маршрутизация между 2 сетями.
Отправлено: Goffanon от Февраля 19, 2013, 11:39:59 am
:) фришки в другой фирме админю, а на основном месте работы ща завал и времени нет. Так что домой приду вечером спокойно с кружечкой чая сяду поставлю все и попробую.
Название: Re: Маршрутизация между 2 сетями.
Отправлено: Goffanon от Октября 25, 2013, 07:45:51 am
Немного некропостинга.
Получилось добавить маршрут без дополнительного ПО.
Возможно было бы интересно упомянуть это в статье.
В самом openvpn.conf можно прописать строку типа

route <сеть> <маска> <шлюз>

ЗЫ вот что значит "курить" маны невнимательно изначально.
Название: Re: Маршрутизация между 2 сетями.
Отправлено: muff от Октября 25, 2013, 01:12:05 pm
Это да. Но я решал вопрос, почему не бегает трафик :)