OpenVPN PSK: Site-to-Site инструкция для обсуждения
-
OSPF
Вот. Возвращаясь к предыдущему посту, можно ли сделать связь между офисами без всех этих Remote Networks и route? А как же!
Более того, можно еще и обеспечить резервирование канала, и поможет нам в этом OSPF.OSPF - это когда, коротко говоря, есть граф, вершинами которого являются маршрутизаторы, а ребрами - линки между ними. OSPF, глядя на граф, может найти оптимальный маршрут между двумя маршрутизаторами. При этом он учитывает то, что какие-то линки могут быть упавшими. Остальное - в документации.
Есть psSense1 головного офиса, у которого 2 канала в интернет: WAN1 - 192.0.2.2 и WAN2 - 198.51.100.2. Есть филиал с единственным каналом в интернет: WAN - 203.0.113.2.
В головном офисе настроено 2 экземпляра сервера OpenVPN:
OVPNS1 на WAN1:1194, Tunnel Network 10.0.8.0/24
OVPNS2 на WAN2:1195, Tunnel Network 10.0.9.0/24В филиале настроено 2 клиента OpenVPN:
OVPNS1 на 192.0.2.2:1194, Tunnel Network 10.0.8.0/24
OVPNS2 на 198.51.100.2:1195, Tunnel Network 10.0.9.0/24Ни в головном офисе, ни в филиале на серверах и клиентах не прописаны ни Remote Network, ни какие-либо route.
Филиал хочет при падении одного из каналов в головном офисе автоматически переключаться на другой, компы офиса и филиала должны видеть друг-друга.
Ставим и в офисе и в филиале (System -> Packages, вкладка Available Packages) пакет Quagga OSPF. В первую очередь необходимо настроить интерфейсы, на которых будет работать OSPF (Services -> Quagga OSPFd, вкладка Interface Settings) "+" добавляем интерфейсы.
В головном офисе:
первый интерфейс - OVPNS1:
второй интерфейс - OVPNS2:
И основные параметры OSPF (вкладка Global Settings):
В филиале:
первый интерфейс - OVPNC1:
второй интерфейс - OVPNC2:
И основные параметры:
Area везде одна: 1.1.1.1, а Router ID - разные в офисе и филиале (я просто взял их публичные IP). Для наших нужд и там и там можно писать что попало, хотя знатоки OSPF будут смеяться.
Галка Redistribute connected subnets заставляет роутеры обмениваться информацией о подключенных к ним сетям, т.е. маршрутами в эти сети, что нам и нужно. При этом внизу в Disable Redistribution прописаны сети, инфой о которых делиться не надо. Во-первых, наши 2 pfSense и так уже в курсе об этих сетях, во-вторых возможны чудеса, так что лучше не рисковать.После того как OSPF настроен и в офисе и в филиале, роутеры устанавливают отношение соседства (все скрины из филиала):
И получают друг у друга маршруты:
Видим, что филиал теперь знает путь в локалку головного офиса:
У линка OVPNS1 - OVPNC1 метрика меньше чем у OVPNS2 - OVPNC2 поэтому все идет сейчас через него. Но если линк оборвать в головном офисе (отключить WAN1), то маршрутизаторы по оставшемуся линку посредством OSPF договорятся, что линк упал и перестроят таблицы. Все пойдет по OVPNS2 - OVPNC2. Это довольно быстро происходит, пропадает буквально один пинг))
-
Спасибо за руководство!
Попробовал настроить всё как у вас
Виртуал сеть 10.0.8.0/24
Сеть сервера овпн 10.10.10.0/24
Сеть клиента овпн 192.168.61.0/24Сервер находится в рабочей сети тоже на виртуалке (ван по дхсп от роутера, на лан статик ип)
Клиент находится на виртуалке вмваре на моем пк (только ван интерфэйс с дхсп)
Подключение проходит нормально, но пинга так и нет (пробовал из консоли виртуалки)Вот скриншоты диагностики маршрутизации
-
Красота, молодец! Только еще додумать надо как инет пустить туда ;)
-
Поле сервера Local Network не заполнено.
-
Спасибо за руководство!
Попробовал настроить всё как у вас
Виртуал сеть 10.0.8.0/24
Сеть сервера овпн 10.10.10.0/24
Сеть клиента овпн 192.168.61.0/24Сервер находится в рабочей сети тоже на виртуалке (ван по дхсп от роутера, на лан статик ип)
Клиент находится на виртуалке вмваре на моем пк (только ван интерфэйс с дхсп)
Подключение проходит нормально, но пинга так и нет (пробовал из консоли виртуалки)Вот скриншоты диагностики маршрутизации
Какая-то муть с OpenVPN на сервере (на клиенте все OK). Точно на сервере Tunnel Network 10.0.8.0/24?
Вот так по идее должно быть: -
@Bansardo:
Красота, молодец! Только еще додумать надо как инет пустить туда ;)
Для того, чтобы филиал выходил в интернет через головной офис, нужно пустить весь трафик, идущий из LAN филиала в интернет, через туннель. Сделать это можно только назначив этому трафику новый gateway. Но, так как gateway в pfSense назначаются только интерфейсам, нужно объявить интерфейс OpenVPN в pfSense явно:
На клиенте идем в Interfaces -> (assign), жмем "+" и выбираем ovpnc1
Жмем "Save", переходим в Interfaces -> OPT1 и ставим галку в Enable Interface.
Даем новому интерфейсу имя, больше ничего не меняем. Жмем "Save" - "Apply changes", идем в VPN -> OpenVPN на вкладку Client и жмем "е" для редактирования клиента. Ничего не меняем, посто жмем "Save" внизу, чтобы перезапустить туннель.
Теперь в Status -> Gateways должна наблюдаться такая картина:Если в System -> General Setup прописан какой-то левый DNS сервер, то его тоже надо пустить через новый gateway:
Переходим в Firewall -> Rules на вкладку LAN и приводим правила к такому виду:
То есть дефолтному правилу мы назначили новый gateway, а над дефолтным сделали еще правило для доступа из LAN к DNS Forwarder'у pfSense, иначе бы эти запросы полетели в новый gateway т.е. в никуда.
На этом настройка клиента с некоторыми оговорками закончена.
На сервере (т.е. в головном офисе) заходим в Firewall -> NAT на вкладку Outbound и если стоит Automatic outbound NAT rule generation, то переводим в Manual и сохраняем. Добавляем правило:
Где 192.168.20.0/24 - локальная сеть клиента (т.е. филиала).
На этом все, компы филиала выходят в интернет через головной офис.
Если на pfSense филиала изначально интернета нет, а просто провайдер дал вам виртуальный канал для связи с головным офисом и вы в этом канале сделали еще канал OpenVPN, то сам pfSense филиала при таких настройках в интернет (например за пакетами или обновлениями) не попадет. Чтобы он тоже ходил в интернет через туннель заходим на нем в Firewall -> Rules на вкладку Floating и добавляем правило:
Здесь 192.0.2.2 - WAN адрес головного офиса, остальное должно быть точно как на картинке. Это правило заворачивает трафик самого pfSense филиала в туннель и он попадает в головной офис. Там его еще нужно проNATить. На pfSense головного офиса опять заходим в Firewall -> NAT на вкладку Outbound и создаем правило:
Где 203.0.113.2 - WAN адрес филиала. Но pfSense головного офиса так же не знает что ответные пакеты на WAN адрес филиала теперь нужно посылать через туннель. Заходим на нем в свойства OpenVPN сервера и в Advanced пишем route 203.0.113.2 255.255.255.255.
Это все. Если кто-нибудь скажет мне, что это не работает, пусть будет готов запостить столько же скриншотов, сколько я
-
Сегодня протестирую дополнение!
-
-
Так, вобщем после тго как я прописал в генерале ДНС, интернет появился на ван интерфейсе и на виртуальном интерфейсе… с лан не хочет пинговать... в чем тут дело?
Плюс сейчас нарвался на подвисания веб интерфейса... интернета так и нет...
Более того, пошли какието непонятки на сервере... ничего в адвансед не написано а в логах сразу
openvpn[48071]: ERROR: FreeBSD route add command failed: external program exited with error status: 1
статус канал не пишет, в табличке заполнена только первая срочка… не могу понять что творится -
Обновил 3 пост топика OSPF!
-
-
http://forum.pfsense.org/index.php/topic,58764.msg316116.html#msg316116
Вот так вот подвисло все -
Спасибо за развернутый мануал.
Не поверишь, но у меня нет в продакшене ни ovpn, ни ospf. Просто самому стало интересно и вопросы эти в последнее время как-то часто стали вставать в сообшестве.
Если можно, закрепи тему вверху или в FAQ. Чую не раз еще к этому вернемся)) -
Спасибо за развернутый мануал.
Не поверишь, но у меня нет в продакшене ни ovpn, ни ospf. Просто самому стало интересно и вопросы эти в последнее время как-то часто стали вставать в сообшестве.
Если можно, закрепи тему вверху или в FAQ. Чую не раз еще к этому вернемся))Уже в FAQ. Аналогично, хотелось заняться этой темой, но времени катастрофически не хватает.
-
Спасибо за развернутый мануал.
Не поверишь, но у меня нет в продакшене ни ovpn, ни ospf. Просто самому стало интересно и вопросы эти в последнее время как-то часто стали вставать в сообшестве.
Если можно, закрепи тему вверху или в FAQ. Чую не раз еще к этому вернемся))Уже в FAQ. Аналогично, хотелось заняться этой темой, но времени катастрофически не хватает.
О! Спасиб! Из-за такой зарплаты что ли у меня времени вагон? Надо пересмотреть приоритеты))
-
Инструкция и правда очень хорошая, счас ее протестим на все и будет серьезный мануал!
-
Переходим в Firewall -> Rules на вкладку LAN и приводим правила к такому виду:
То есть дефолтному правилу мы назначили новый gateway, а над дефолтным сделали еще правило для доступа из LAN к DNS Forwarder'у pfSense, иначе бы эти запросы полетели в новый gateway т.е. в никуда.
Этого я не пойму, как антилок по дефолту вынести из фаервола?
У меня на виртуальном интерфейсе интернет есть, а вот на лане и на ване нету…
Ping output:
PING www.ru (194.87.0.50) from 192.168.1.10: 56 data bytes--- www.ru ping statistics ---
3 packets transmitted, 0 packets received, 100.0% packet lossПлюс, если не прописать в генерале днс по дефолту, то ничего не получится даже на интерфейса виртуальном у клиента
-
Пока объяснял уже сам все понял. Дела… Сегодня заставил наконец бегать OSPF по OpenVPN между работой и домашним микротиком. Полгода назад неделю на это убил безрезультатно. Пришлось править quagga_ospfd.inc
-
короче счас все опишу что творится ) погодите
Клиент:
Сервер:
Творится следующее:
На клиентской части сам пфсенс в нет невыходит (я немогу смотреть пакеты)
Со стороны клиента подсеть не может выйти в интернет…
ДНС сервера не выдаются... -
На сервере Outbound NAT для 192.168.1.0/24 интерфейс не VPN, а PPPOE должен быть.