GRE+IPSEC+OSPF между двумя pfsense



  • Здравствуйте, форумчане.
    Стоит следующая задача:
    2 офиса с двумя аплинками в интернет. Их необходимо соединить. При чём обеспечив отказоустойчивость и балансировку.

    Порядок действий:
    1. Поднимаем 4 GRE тунеля (каждый с каждым) и даём из подсетей /30 адресацию. Например 10.0.1.0/30, 10.0.1.4/30, 10.0.1.8/30, 10.0.1.12/30
    2. Поднимаем IPSec тунели поверх каждого GRE тунеля. В tunnel mode прописываем концы GRE тунелей.
    3. Настраиваем OpenOSPF на анонсирование локальных подсетей с каждого маршрутизатора через GRE интерфейсы.

    Логика моя верна? Начинается практика.

    1. gre тунель поднял. Присвоил ему адрес 10.0.1.1 и 10.0.1.2 соответственно
    2. Поднимаем IPSec тунель через gre0 на адрес 10.0.1.2 с первого и на 10.0.1.1 со второго соответственно. Во второй фазе указываю соответсвтенно ip адреса 10.0.1.1 на первом и 10.0.1.2 на втором. Шифрование blowfish.
    3. Добавляем в интерфейсы gre0, разрешаем анонсировать локальные подсети в OpenOSPFd. Маршруты появляются, всё пингуется.

    НО! НА промежуточном маршрутизаторе запускаю tcpdump и вижу весь трафик.

    Я так понимаю трафик ходит по gre тунелю и никак не заворачивается в IPSec тунель? Или я загнался и где-то накосячил в логике? Если нужны скрины настроек - попытаюсь сделать позже или завтра. Если какие будут идеи - прошу высказаться.

    описание топологии:

    | Lan1 | | | PF1 | | | GW | | | PF2 | | | Lan2 |
    | |10.1.9.0/24| | | | |10.1.9.1/24, 10.0.0.5/30, 10.0.0.9/30, (10.0.1.1/30 - GRE)| | | | |10.0.0.6/30, 10.0.0.10/30, 10.0.0.14/30, 10.0.0.18/30| | | | |10.0.0.13/30, 10.0.0.17/30, 10.1.8.1/24, (10.0.1.2/30 - GRE)| | | | |10.1.8.0/24| |



  • @NvAriec:

    3. Добавляем в интерфейсы gre0, разрешаем анонсировать локальные подсети в OpenOSPFd. Маршруты появляются, всё пингуется.

    Может использовать OpenVPN вместо GRE и IPSEC ?



  • А как с шифрацией обстоят дела у OpenVPN?

    Я вычитал, что IPSEC не поддерживает OSPF.
    Поэтому пришёл к другой идее:
    1. Поднимаем IPSec в transport mode попарно. С eth1 на eth1 и с eth2 на eth2
    2. Поверх IPSec поднимаем GRE тунели с адресацией 10.0.1.8/30 и 10.0.1.12/30
    3. В OSPF разрешаем через gre0 и gre1 соответственно анонс маршрутов 10.1.9.0/24 и 10.1.8.0/24

    Всё поднялось, пинги ходят. НО! Кроме пингов больше ничего не идёт (Ни по фтп немогу подключиться, ни к удалённому рабочему столу) Может ещё где какие маршруты прописать надо?



  • @NvAriec:

    А как с шифрацией обстоят дела у OpenVPN?

    Ну приехали  :o Такую суръезную тему намутили с туннелем-в-туннеле, с OSPF даже знакомы, а про OpenVPN  - ни сном ни духом.
    Уж кто-кто , а ОпенВПН так зашифрует, что сам Путин не расшифрует (если не применит метод терморектального криптоанализа, конечно). Там еще и ключи-сертификаты используются. И уж точно не имея их, никакого man-in-the-middlle не выйдет между вашими конечными точками. Так что смело используйте сей чудесный способ объединения сетей!

    P.s. Да, и чем не устраивает поднятие только GRE-туннеля между офисами? Там вроде 128-битное шифрование идет. Мало что ли?



  • что сам Путин не расшифрует

    а с каких пор царь у нас ходит в гениях дешифровки?  :D



  • @aleksvolgin:

    что сам Путин не расшифрует

    а с каких пор царь у нас ходит в гениях дешифровки?  :D

    Царь-то врядли, а вот опричник с паяльником - это уже не весело  :-\ Притчу про админа Юкоса не забыли еще ?



  • GRE тунель вроде ваще без шифрования идёт.

    Про OpenVPN слышал и юзал, но не в таких целях)

    Получается такая схема:
    В головном офисе поднимаем 2 сервера OpenVPN на разных интерфейсах, с удалённых офисов просто делаем подключения на соответствующий интерфейс с одного и со второго. Получаем 2 OpenVPN соединения eth1-eth1 и eth2-eth2. Получится ли ещё поднять eth1-eth2 и eth2-eth1. Завтра проверять будем)

    А какая пропускная способность в таком случае будет? С IPSec выше 10 мегабит прыгнуть не получилось :(



  • @NvAriec:

    GRE тунель вроде ваще без шифрования идёт.

    Хмм.. (смотрим картинку).

    Вот что-то похожее на вашу ситуацию - http://forum.pfsense.org/index.php?topic=36021.0
    Человек сперва IPSEC поднимает, а поверх уже GRE (GRE over IPSEC)

    ![VPN PPTP.png](/public/imported_attachments/1/VPN PPTP.png)
    ![VPN PPTP.png_thumb](/public/imported_attachments/1/VPN PPTP.png_thumb)



  • Немного не моя картинка. Там 1 аплинк. В этом случае это легко делается.
    С каждого сервака поднимаем на каждый IpSec, поверх GRE для того, чтобы OSPF работало и всё в шоколаде.

    У меня загвоздка именно в установке с одного сервака через разные интерфейсы на второй сервак на один IP IPSecа..



  • Решил проблему, правда не так как хотел)

    Что в итоге получилось:
    openvpn подключения между двумя маршрутизаторами с двумя "интернетами" каждый с каждым.
    И поверх BGP маршрутизация. OSPF почему-то не заработала - не меняла маршрутизацию.
    BGP всё держит номрально. Осталось уменьшить время перестройки маршрутов и раскидать метрику)



  • @NvAriec:

    Решил проблему, правда не так как хотел)

    Что в итоге получилось:
    openvpn подключения между двумя маршрутизаторами с двумя "интернетами" каждый с каждым.
    И поверх BGP маршрутизация. OSPF почему-то не заработала - не меняла маршрутизацию.
    BGP всё держит номрально. Осталось уменьшить время перестройки маршрутов и раскидать метрику)

    Если не затруднит, напишите по окончании работ мануал со скринами. Думаю , может пригодится (особенно часть с настройкой BGP ). Спасибо :)



  • Напишу но чуть позже. Стенд разобрал временно сейчас. Появились другие дела. Как буду вводить в действие - буду скринить


Log in to reply