Navigation

    Netgate Discussion Forum
    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search

    OpenVPN PSK: Site-to-Site инструкция для обсуждения

    Russian
    32
    180
    83648
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      rubic last edited by rubic

      Как и обещал, начинаю выкладывать инструкции по соединению сетей удаленных офисов посредством OpenVPN. Не стал писать сразу в Вики потому что все результаты получены на стенде и требуют проверки.

      Начнем с режима OpenVPN “Peer to Peer (Shared Key)” - PSK. Вообще, надо сказать, что режим OpenVPN (“Server Mode” в GUI) полностью определяет все последующие настройки маршрутизации. И для разных режимов эти настройки, мягко говоря, разные. Поэтому, спрашивая совета по OpenVPN на форуме, первое, что вы должны сообщить – это режим, в котором у вас работает OpenVPN.

      Режим PSK является наиболее простым в развертывании. Если вам необходимо соединить сети  головного офиса и 3-4 филиалов, то это возможно ваш выбор. Дело в том, что одно из ограничений режима PSK заключается в том, что для каждого клиента (филиала) вам придется создать отдельный экземпляр OpenVPN сервера на pfSense головного офиса. Если филиалов много, то стоит подумать о режиме  “Peer to Peer (SSL/TLS)” – PKI, в котором один экземпляр сервера может обслуживать много клиентов.

      Схема сети:

      img1.png

      зеленым обозначен туннель через общедоступную сеть, который нам предстоит создать.

      На pfSense1 головного офиса переходим в меню VPN – OpenVPN. На вкладке Server нажимаем кнопку “+” для добавления нового экземпляра сервера OpenVPN и устанавливаем его параметры:

      Img2.png

      Не пренебрегайте описанием (Description) экземпляра сервера. Когда их будет несколько, проще будет разобраться. Обратите внимание на галку в чекбоксе Shared Key - Automatically generate a shared key. Tunnel Network – любая неиспользуемая подсеть емкостью не менее /30. В поле Remote Network ставим локальную сеть клиента (филиала). Сохраняем настройки.

      Переходим в меню Firewall – Rules и на вкладке WAN добавляем правило для доступа извне к созданному OpenVPN серверу:

      img3.png

      Переходим на вкладку OpenVPN и добавляем правило:

      img4.png

      Возвращаемся в меню VPN – OpenVPN и нажимаем кнопку “е” редактирования созданного нами OpenVPN сервера. Копируем автоматически созданный Shared key в буфер обмена:

      img5.png

      Преходим к настройке клиента.

      В меню VPN – OpenVPN pfSense2 филиала переходим на вкладку Client и нажимаем кнопку “+” для создания клиента:

      img6.png

      В Server host or address ставим внешний адрес pfSense1 головного офиса. Снимаем галку в чекбоксе Shared Key - Automatically generate a shared key и вставляем в появившееся поле общий ключ из буфера обмена. Параметры Encryption algorithm и Tunnel Network выставляем такими же, как на сервере. В поле Remote Network ставим локальную сеть сервера (головного офиса). Сохраняем параметры.

      Через несколько секунд в меню Status – OpenVPN видим успешно подключившийся клиент:

      img7.png

      Переходим в меню Firewall – Rules и на вкладке OpenVPN создаем такое же правило, как на сервере:

      img4-1.png

      На этом настройка закончена, компьютеры двух сетей пингуют друг-друга.

      1 Reply Last reply Reply Quote 0
      • R
        rubic last edited by rubic

        Подключаем второй филиал и обеспечиваем связь филиалов друг с другом.

        img8.png

        Как уже говорилось выше, для подключения нового клиента нам придется создать новый экземпляр сервера OpenVPN на pfSense1. Переходим в меню VPN – OpenVPN. На вкладке Server нажимаем кнопку “+” для добавления нового экземпляра сервера OpenVPN. Настройка параметров аналогична настройке первого экземпляра, за исключением параметров: Local Port (здесь ставим например 1195), Description (OVPNS2), Tunnel Network (выбираем 10.0.9.0/24) и Remote Network (здесь ставим сеть филиала 2 – 192.168.30.0/24). Все эти параметры должны быть отличны от параметров первого экземпляра. Также будет автоматически сгенерирован общий ключ для подключения к OVPNS2.

        Так же как и в случае с первым экземпляром, на WAN pfSense1 необходимо создать разрешающее правило для UDP пакетов извне на локальный порт нового экземпляра (1195).

        Настраиваем клиента на pfSense3 филиала 2.

        Здесь опять же все аналогично настройке клиента в первом филиале, за исключением параметров: Server Port (1195), Description (OVPNC2) и Tunnel Network (10.0.9.0/24). Так же как и в первом филиале вставляем в поле Shared Key новый общий ключ, и создаем разрешающее правило в Firewall – Rules на вкладке OpenVPN.

        После поднятия туннеля компьютеры филиала 2 пингуют компьютеры головного офиса и наоборот, но нет связи между филиалами. Для того, чтобы филиалы “видели” друг-друга, необходимо в настройках клиента первого филиала в Advanced Configuration вписать директиву:

        route 192.168.30.0 255.255.255.0

        т. е. маршрут через туннель в сеть второго филиала. А в настройках клиента второго филиала, соответственно:

        route 192.168.20.0 255.255.255.0

        т. е. маршрут в сеть первого филиала.

        Как видим, маршрутизация в режиме PSK очень и очень проста. По сути между сервером и клиентом создается самое настоящее соединение PtP (точка-точка). Один адрес (10.0.8.1) принадлежит серверу, второй (10.0.8.2) - клиенту, причем, это не виртуальные адреса. Это все равно как если бы в pfSense вставили еще один сетевой адаптер и дали ему адрес. Так же, как и в случае с обычным адаптером, весь его трафик повинуется системной таблице маршрутов и, соответственно, легко маршрутизируется в любые подключенные сети, если это не запрещено правилами firewall. Однако, не следует назначать адрес OpenVPN интерфейса вручную, а также вручную прописывать для него статические маршруты. Первое происходит автоматически, второе - с помощью директив route в настройках Advanced OpenVPN или в поле Remote Network. Подчеркну последний момент:

        Когда вы прописываете 192.168.20.0/24 в Remote Network - это абсолютно аналогично тому, что вы напишете route 192.168.20.0 255.255.255.0 в поле Advanced и приводит к тому, что в системной таблице маршрутов появляется новый маршрут в сеть 192.168.20.0/24 через туннель OpenVPN. Это справедливо и для сервера, и для клиента.

        Когда вы прописываете 192.168.10.0/24 в Local Network сервера - это абсолютно аналогично тому, что вы напишете push "route 192.168.10.0 255.255.255.0" в поле Advanced и приводит к тому, что в системной таблице маршрутов клиента появляется новый маршрут в сеть 192.168.10.0/24 через туннель OpenVPN. Это справедливо только для сервера и это не работает в режиме PSK! Во всяком случае у меня не работает - в таблице маршрутов клиента ничего не появляется, хотя подтверждения этому факту в документации я не нашел.

        Также следует сказать, что в режиме PSK не нужны никакие Client specific overrides и iroute в них, поскольку клиент всегда один.

        Не дублируйте то, что вы пишете в Remote Network директивами route и не создавайте никаких override, если ваш OpenVPN работает в режиме PSK.

        1 Reply Last reply Reply Quote 0
        • R
          rubic last edited by rubic

          OSPF

          Вот. Возвращаясь к предыдущему посту, можно ли сделать связь между офисами без всех этих Remote Networks и route? А как же!
          Более того, можно еще и обеспечить резервирование канала, и поможет нам в этом OSPF.

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

          img18.png

          Есть 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:

          img19.png

          второй интерфейс - OVPNS2:

          img20.png

          И основные параметры OSPF (вкладка Global Settings):

          img21.png

          В филиале:

          первый интерфейс - OVPNC1:

          img22.png

          второй интерфейс - OVPNC2:

          img23.png

          И основные параметры:

          img24.png

          Area везде одна: 1.1.1.1, а Router ID - разные в офисе и филиале (я просто взял их публичные IP). Для наших нужд и там и там можно писать что попало, хотя знатоки OSPF будут смеяться.
          Галка Redistribute connected subnets заставляет роутеры обмениваться информацией о подключенных к ним сетям, т.е. маршрутами в эти сети, что нам и нужно. При этом внизу в Disable Redistribution прописаны сети, инфой о которых делиться не надо. Во-первых, наши 2 pfSense и так уже в курсе об этих сетях, во-вторых возможны чудеса, так что лучше не рисковать.

          После того как OSPF настроен и в офисе и в филиале, роутеры устанавливают отношение соседства (все скрины из филиала):

          img25.png

          И получают друг у друга маршруты:

          img26.png

          Видим, что филиал теперь знает путь в локалку головного офиса:

          img27.png

          У линка OVPNS1 - OVPNC1 метрика меньше чем у OVPNS2 - OVPNC2 поэтому все идет сейчас через него. Но если линк оборвать в головном офисе (отключить WAN1), то маршрутизаторы по оставшемуся линку посредством OSPF договорятся, что линк упал и перестроят таблицы. Все пойдет по OVPNS2 - OVPNC2. Это довольно быстро происходит, пропадает буквально один пинг))

          1 Reply Last reply Reply Quote 0
          • V
            vibperson last edited by

            Спасибо за руководство!
            Попробовал настроить всё как у вас
            Виртуал сеть 10.0.8.0/24
            Сеть сервера овпн 10.10.10.0/24
            Сеть клиента овпн 192.168.61.0/24

            Сервер находится в рабочей сети тоже на виртуалке (ван по дхсп от роутера, на лан статик ип)
            Клиент находится на виртуалке вмваре на моем пк (только ван интерфэйс с дхсп)
            Подключение проходит нормально, но пинга так и нет (пробовал из консоли виртуалки)

            Вот скриншоты диагностики маршрутизации

            Сервер

            Клиент

            1 Reply Last reply Reply Quote 0
            • ?
              A Former User last edited by

              Красота, молодец! Только еще додумать надо как инет пустить туда ;)

              1 Reply Last reply Reply Quote 0
              • D
                dvserg last edited by

                Поле сервера Local Network не заполнено.

                SquidGuardDoc EN  RU Tutorial
                Localization ru_PFSense

                1 Reply Last reply Reply Quote 0
                • R
                  rubic last edited by rubic

                  @vibperson:

                  Спасибо за руководство!
                  Попробовал настроить всё как у вас
                  Виртуал сеть 10.0.8.0/24
                  Сеть сервера овпн 10.10.10.0/24
                  Сеть клиента овпн 192.168.61.0/24

                  Сервер находится в рабочей сети тоже на виртуалке (ван по дхсп от роутера, на лан статик ип)
                  Клиент находится на виртуалке вмваре на моем пк (только ван интерфэйс с дхсп)
                  Подключение проходит нормально, но пинга так и нет (пробовал из консоли виртуалки)

                  Вот скриншоты диагностики маршрутизации

                  Сервер

                  Какая-то муть с OpenVPN на сервере (на клиенте все OK). Точно на сервере Tunnel Network 10.0.8.0/24?
                  Вот так по идее должно быть:

                  img9.png

                  1 Reply Last reply Reply Quote 0
                  • R
                    rubic last edited by rubic

                    @Bansardo:

                    Красота, молодец! Только еще додумать надо как инет пустить туда ;)

                    Для того, чтобы филиал выходил в интернет через головной офис, нужно пустить весь трафик, идущий из LAN филиала в интернет, через туннель. Сделать это можно только назначив этому трафику новый gateway. Но, так как gateway в pfSense назначаются только интерфейсам, нужно объявить интерфейс OpenVPN в pfSense явно:

                    На клиенте идем в Interfaces -> (assign), жмем "+" и выбираем ovpnc1

                    img10.png

                    Жмем "Save", переходим в Interfaces -> OPT1 и ставим галку в Enable Interface.

                    img11.png

                    Даем новому интерфейсу имя, больше ничего не меняем. Жмем "Save" - "Apply changes", идем в VPN -> OpenVPN на вкладку Client и жмем "е" для редактирования клиента. Ничего не меняем, посто жмем "Save" внизу, чтобы перезапустить туннель.
                    Теперь в Status -> Gateways должна наблюдаться такая картина:

                    img12.png

                    Если в System -> General Setup прописан какой-то левый DNS сервер, то его тоже надо пустить через новый gateway:
                    img13.png

                    Переходим в Firewall -> Rules на вкладку LAN и приводим правила к такому виду:

                    img14.png

                    То есть дефолтному правилу мы назначили новый gateway, а над дефолтным сделали еще правило для доступа из LAN к DNS Forwarder'у pfSense, иначе бы эти запросы полетели в новый gateway т.е. в никуда.

                    На этом настройка клиента с некоторыми оговорками закончена.

                    На сервере (т.е. в головном офисе) заходим в Firewall -> NAT на вкладку Outbound и если стоит  Automatic outbound NAT rule generation, то переводим в Manual и сохраняем. Добавляем правило:

                    img15.png

                    Где 192.168.20.0/24 - локальная сеть клиента (т.е. филиала).

                    На этом все, компы филиала выходят в интернет через головной офис.

                    Если на pfSense филиала изначально интернета нет, а просто провайдер дал вам виртуальный канал для связи с головным офисом и вы в этом канале сделали еще канал OpenVPN, то сам pfSense филиала при таких настройках в интернет (например за пакетами или обновлениями) не попадет. Чтобы он тоже ходил в интернет через туннель заходим на нем в Firewall -> Rules на вкладку Floating и добавляем правило:

                    img16.png

                    Здесь 192.0.2.2 - WAN адрес головного офиса, остальное должно быть точно как на картинке. Это правило заворачивает трафик самого pfSense филиала в туннель и он попадает в головной офис. Там его еще нужно проNATить. На pfSense головного офиса опять заходим в Firewall -> NAT на вкладку Outbound и создаем правило:

                    img17.png

                    Где 203.0.113.2  - WAN адрес филиала. Но pfSense головного офиса так же не знает что ответные пакеты на WAN адрес филиала теперь нужно посылать через туннель. Заходим на нем в свойства OpenVPN сервера и в Advanced пишем route 203.0.113.2 255.255.255.255.

                    Это все. Если кто-нибудь скажет мне, что это не работает, пусть будет готов запостить столько же скриншотов, сколько я

                    1 Reply Last reply Reply Quote 0
                    • ?
                      A Former User last edited by

                      Сегодня протестирую дополнение!

                      1 Reply Last reply Reply Quote 0
                      • ?
                        A Former User last edited by

                        @dvserg:

                        Поле сервера Local Network не заполнено.

                        Оно не должно быть заполнено для Shared VPN

                        1 Reply Last reply Reply Quote 0
                        • ?
                          A Former User last edited by

                          Так, вобщем после тго как я прописал в генерале ДНС, интернет появился на ван интерфейсе и на виртуальном интерфейсе… с лан не хочет пинговать... в чем тут дело?
                          Плюс сейчас нарвался на подвисания веб интерфейса... интернета так и нет...
                          Более того, пошли какието непонятки на сервере... ничего в адвансед не написано а в логах сразу
                          openvpn[48071]: ERROR: FreeBSD route add command failed: external program exited with error status: 1
                          статус канал не пишет, в табличке заполнена только первая срочка… не могу понять что творится

                          1 Reply Last reply Reply Quote 0
                          • R
                            rubic last edited by

                            Обновил 3 пост топика OSPF!

                            1 Reply Last reply Reply Quote 0
                            • D
                              dvserg last edited by

                              @rubic:

                              Обновил 3 пост топика OSPF!

                              Спасибо за развернутый мануал.

                              SquidGuardDoc EN  RU Tutorial
                              Localization ru_PFSense

                              1 Reply Last reply Reply Quote 0
                              • ?
                                A Former User last edited by

                                http://forum.pfsense.org/index.php/topic,58764.msg316116.html#msg316116
                                Вот так вот подвисло все

                                1 Reply Last reply Reply Quote 0
                                • R
                                  rubic last edited by

                                  @dvserg:

                                  Спасибо за развернутый мануал.

                                  Не поверишь, но у меня нет в продакшене ни ovpn, ни ospf. Просто самому стало интересно и вопросы эти в последнее время как-то часто стали вставать в сообшестве.
                                  Если можно, закрепи тему вверху или в FAQ. Чую не раз еще к этому вернемся))

                                  1 Reply Last reply Reply Quote 0
                                  • D
                                    dvserg last edited by

                                    @rubic:

                                    @dvserg:

                                    Спасибо за развернутый мануал.

                                    Не поверишь, но у меня нет в продакшене ни ovpn, ни ospf. Просто самому стало интересно и вопросы эти в последнее время как-то часто стали вставать в сообшестве.
                                    Если можно, закрепи тему вверху или в FAQ. Чую не раз еще к этому вернемся))

                                    Уже в FAQ. Аналогично, хотелось заняться этой темой, но времени катастрофически не хватает.

                                    SquidGuardDoc EN  RU Tutorial
                                    Localization ru_PFSense

                                    1 Reply Last reply Reply Quote 0
                                    • R
                                      rubic last edited by

                                      @dvserg:

                                      @rubic:

                                      @dvserg:

                                      Спасибо за развернутый мануал.

                                      Не поверишь, но у меня нет в продакшене ни ovpn, ни ospf. Просто самому стало интересно и вопросы эти в последнее время как-то часто стали вставать в сообшестве.
                                      Если можно, закрепи тему вверху или в FAQ. Чую не раз еще к этому вернемся))

                                      Уже в FAQ. Аналогично, хотелось заняться этой темой, но времени катастрофически не хватает.

                                      О! Спасиб! Из-за такой зарплаты что ли у меня времени вагон? Надо пересмотреть приоритеты))

                                      1 Reply Last reply Reply Quote 0
                                      • ?
                                        A Former User last edited by

                                        Инструкция и правда очень хорошая, счас ее протестим на все и будет серьезный мануал!

                                        1 Reply Last reply Reply Quote 0
                                        • ?
                                          A Former User last edited by

                                          @rubic:

                                          Переходим в 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

                                          Плюс, если не прописать в генерале днс по дефолту, то ничего не получится даже на интерфейса виртуальном у клиента

                                          1 Reply Last reply Reply Quote 0
                                          • R
                                            rubic last edited by

                                            Пока объяснял уже сам все понял. Дела… Сегодня заставил наконец бегать OSPF по OpenVPN между работой и домашним микротиком. Полгода назад неделю на это убил безрезультатно. Пришлось править quagga_ospfd.inc

                                            1 Reply Last reply Reply Quote 0
                                            • ?
                                              A Former User last edited by

                                              короче счас все опишу что творится ) погодите
                                              Клиент:






                                              Сервер:




                                              Творится следующее:
                                              На клиентской части сам пфсенс в нет невыходит (я немогу смотреть пакеты)
                                              Со стороны клиента подсеть не может выйти в интернет…
                                              ДНС сервера не выдаются...

                                              1 Reply Last reply Reply Quote 0
                                              • R
                                                rubic last edited by

                                                На сервере Outbound NAT для 192.168.1.0/24 интерфейс не VPN, а PPPOE должен быть.

                                                1 Reply Last reply Reply Quote 0
                                                • ?
                                                  A Former User last edited by

                                                  Все работает! Мануалы супер! Автор красавчик!

                                                  1 Reply Last reply Reply Quote 0
                                                  • A
                                                    aleksvolgin last edited by

                                                    Хорошая инструкция. Было бы неплохо нарисовать ещё мануал IP2IP+IPSec, как более орднунг.

                                                    1 Reply Last reply Reply Quote 0
                                                    • ?
                                                      A Former User last edited by

                                                      Провайдер подкинул еще одну делему.
                                                      Дело в том, что он мне назначил для точки подключения 1 адрес 10.1.1.0/30. То есть их порт будет занимать 10.1.1.1/30 и далее мой серв с впн 10.1.1.2/30. Во второй точке они мне назначили 10.1.2.0/30 то есть 10.1.2.1/30 это их порт и 10.1.2.2/30 это клиентская моя коробка с сенсом. Кто о опыту скажет как быть? А то ездить между филиалами не айс(
                                                      Хороо бы это в ман добавить а то елеком так всех подключает

                                                      Я сделал так:
                                                      На сервере

                                                      Ну а на клиенте гейт 10.10.2.1/30 и роутинг до 10.10.1.0/30 через него.
                                                      пингует с 10.10.1.2/30 порт на другой стороне 10.10.2.1/30, поидее все должно быть нормально?
                                                      Вобщем ничего не работает. Понять не могу. Логи заканчиваются на том что опен правильно определил локал и ремоут и все. Через пинг пиршуется удаленный порт, сам сенс не пингуется…

                                                      1 Reply Last reply Reply Quote 0
                                                      • R
                                                        rubic last edited by

                                                        Почему в тексте 10.1.1.0/30, а на скринах 10.10.1.1?

                                                        1 Reply Last reply Reply Quote 0
                                                        • ?
                                                          A Former User last edited by

                                                          @rubic:

                                                          Почему в тексте 10.1.1.0/30, а на скринах 10.10.1.1?

                                                          10.10 правильно
                                                          Вобщем в чем состоит дело. Все было настроено на 10.1.1.0/30.
                                                          Потом пров сделал так:
                                                          в офисе 1 он назначил подсеть 10.10.1.0/30, то есть 10.10.1.1/30 это порт а 10.10.1.2/30 это сенс сервер впн.
                                                          в офисе 2 он назначил подсеть 10.10.2.0/30, то есть 10.10.2.1/30 это порт а 10.10.2.2/30 это сенс клиент впн.
                                                          Я прописал роутинги как описано выше.
                                                          Картина такая:
                                                          На сервере (10.10.1.2/30) я могу пингануть 10.10.2.1/30. При этом 10.10.1.1/30 не пингуется
                                                          На клиенте (10.10.2.2/30) я могу пинговать 10.10.2.1/30 и 10.10.1.1/30, не пингуется 10.10.1.2.
                                                          Не могу понять почему не пингуется сам порт 10.10.1.1/30 с сервера 10.10.1.2/30…
                                                          Мне кажется что нат режет трафик. А может и нет.
                                                          Лог ВПН с клиента:

                                                          Feb 18 19:23:29
                                                          openvpn[22850]: UDPv4 link local (bound): [AF_INET]10.10.2.2
                                                          Feb 18 19:23:29
                                                          openvpn[22850]: UDPv4 link remote: [AF_INET]10.10.1.2:1194
                                                          Feb 18 19:23:29
                                                          openvpn[22850]: write UDPv4: No route to host (code=65)
                                                          Feb 18 19:23:29
                                                          openvpn[22850]: write UDPv4: No route to host (code=65)
                                                          Feb 18 19:23:30
                                                          openvpn[22850]: write UDPv4: No route to host (code=65)
                                                          Feb 18 19:23:31
                                                          openvpn[22850]: write UDPv4: No route to host (code=65)
                                                          Feb 18 19:24:29
                                                          openvpn[22850]: Inactivity timeout (--ping-restart), restarting
                                                          Feb 18 19:24:29
                                                          openvpn[22850]: SIGUSR1[soft,ping-restart] received, process restarting
                                                          Feb 18 19:24:31
                                                          openvpn[22850]: NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
                                                          Feb 18 19:24:31
                                                          openvpn[22850]: Re-using pre-shared static key
                                                          Feb 18 19:24:31
                                                          openvpn[22850]: Preserving previous TUN/TAP instance: ovpnc1
                                                          Feb 18 19:24:31
                                                          openvpn[22850]: UDPv4 link local (bound): [AF_INET]10.10.2.2
                                                          Feb 18 19:24:31
                                                          openvpn[22850]: UDPv4 link remote: [AF_INET]10.10.1.2:1194
                                                          
                                                          
                                                          1 Reply Last reply Reply Quote 0
                                                          • R
                                                            rubic last edited by

                                                            @aleksvolgin:

                                                            Хорошая инструкция. Было бы неплохо нарисовать ещё мануал IP2IP+IPSec, как более орднунг.

                                                            Не рекомендуют разработчики использовать IPSEC, если OpenVPN поддерживается на обеими соединяемыми сторонами. Впрочем, GRE/GIF over IPSEC + OSPF я настроил, хотя и не без плясок с бубном))

                                                            1 Reply Last reply Reply Quote 0
                                                            • A
                                                              aleksvolgin last edited by

                                                              Не рекомендуют разработчики использовать IPSEC

                                                              Разработчики чего? Сенса, IPSec'a, OpenVPN'a? А то, что переход с openvpn на ipsec даёт значительное снижение нагрузки на маршрутизатор и нехилое увеличение скорости соединения про это  разработчики "забыли"? А может вообще не знают? Кароче, меньше слушать надо таких разработчиков.  :D

                                                              1 Reply Last reply Reply Quote 0
                                                              • R
                                                                rubic last edited by

                                                                @aleksvolgin:

                                                                Не рекомендуют разработчики использовать IPSEC

                                                                Разработчики чего? Сенса, IPSec'a, OpenVPN'a? А то, что переход с openvpn на ipsec даёт значительное снижение нагрузки на маршрутизатор и нехилое увеличение скорости соединения про это  разработчики "забыли"? А может вообще не знают? Кароче, меньше слушать надо таких разработчиков.  :D

                                                                Разработчики pfSens'a конечно, здесь мы вроде как его обсуждаем, но вам безусловно виднее))
                                                                http://forum.pfsense.org/index.php/topic,51551.0.html

                                                                1 Reply Last reply Reply Quote 0
                                                                • R
                                                                  rubic last edited by

                                                                  Небольшое замечание по настройке OSPF. Не надо делать как на картинках выше. Во-первых, в пакет Quagga OSPF сейчас добрые люди прислали коммит, который не дает сервису OSPFd запустится, если у вас что-то прописано в Disable Redistribution. Во-вторых, даже если это починят, прописывать туда что-либо нет нужды и вообще неправильно.
                                                                  Т.е. в Global Settings снимаем галку с Redistribute connected subnets и вычищаем все Disable Redistribution. Идем на вкладку Interface Settings и добавляем там наш LAN интерфейс, в настройках которого ставим галку Interface is Passive.
                                                                  Этого достаточно для того, чтобы соседи по OSPF узнали маршрут в вашу локальную сеть, и такая настройка более лучше соответствует принципам OSPF.

                                                                  1 Reply Last reply Reply Quote 0
                                                                  • S
                                                                    smils last edited by

                                                                    Сети для самых маленьких. Часть седьмая. VPN
                                                                    http://linkmeup.ru/blog/50.html

                                                                    1 Reply Last reply Reply Quote 0
                                                                    • A
                                                                      aleksvolgin last edited by

                                                                      Сети для самых маленьких. Часть седьмая. VPN

                                                                      Дельная ссылка, спасибо.

                                                                      1 Reply Last reply Reply Quote 0
                                                                      • V
                                                                        VOLKOV last edited by

                                                                        Ребята, помогите плз…чего-то я вообще не пойму что происходит, ни при каких вариантах...
                                                                        Что имеем:
                                                                        1. Шлюз_1
                                                                        WAN: 94.27.XX.X1/29
                                                                        LAN: 192.168.2.0/24
                                                                        2. Шлюз_2
                                                                        WAN: 94.27.XX.X2/29
                                                                        LAN: 192.168.3.0/24
                                                                        Оба шлюза стоят рядышком и подключены в тупой свитч от одного провайдера.
                                                                        На обоих стоит пакет Quagga OSPF и настроено согласно картинок выше. OSFP поднимается, все замечательно, а попингуя нет и доступа между сетями тоже, и в чем причина никак не могу понять!!!
                                                                        В фаерволе разрешил WAN подсети ходить как угодно и куда угодно, так же добавил правило для локальных сетей, снял галочки на в настройках WAN интерфейса "Block private networks" и "Block bogon networks". Где гоню, подскажите пожалуйста.
                                                                        HELP ME PLEASE!!! А то скоро шарики за ролики заедут совсем...  :(

                                                                        1 Reply Last reply Reply Quote 0
                                                                        • A
                                                                          alex_pupkin last edited by

                                                                          Здравствуйте, настроил между головным офисом и тремя филиалами туннели без динамической маршрутизации пока, все три туннеля поднялись, но с третьим проблема,
                                                                          головной офис - LAN IP 192.168.9.1/24    Tunnel IP 10.0.6.1
                                                                          филиал - LAN IP 192.168.7.1/24    Tunnel IP 10.0.6.2
                                                                          из локальной сети филиала  головной офис не пинугеться и на оборот, НО если это делать через терминал на шлюзах то всё пинугеться.
                                                                          так же из локальной сети пингуются туннельные адреса  10.0.6.1 и 10.0.6.2 и из филиала и из головного офиса.
                                                                          Правило в фаерволе для интерфейса OPENVPN - разрешёно всё, на обеих шлюзах.
                                                                          Т.е. на двух предыдущих туннелях сделано один в один, там всё номрально, тут вот такая ерунда.
                                                                          маршруты:




                                                                          1 Reply Last reply Reply Quote 0
                                                                          • G
                                                                            glamourok last edited by

                                                                            Настроено 2 канала OpenVPN (site-to-site, shared key), маршрутизация по OSPF. В общем все сделано, как у вас здесь написано. Нарисовалась проблема, при падению 1 из каналов интернета, соответственно падает туннель опенвпн. Ospf в соотвествии с метриками перекидывает все на другой канал опенвпн. Но вот при появлении интернета, туннель не восстанавливается. В логах пишется вот такая ошибка и служба openvpn падает. Перезапуск не помогает, светится такая же ошибка.

                                                                            Aug 19 11:28:58 	openvpn[48699]: OpenVPN 2.2.2 i386-portbld-freebsd8.1 [SSL] [LZO2] [eurephia] built on Apr 2 2013
                                                                            Aug 19 11:28:58 	openvpn[48699]: NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
                                                                            Aug 19 11:28:58 	openvpn[48699]: LZO compression initialized
                                                                            Aug 19 11:28:58 	openvpn[48699]: TUN/TAP device /dev/tun2 opened
                                                                            Aug 19 11:28:58 	openvpn[48699]: /sbin/ifconfig ovpns2 172.17.1.1 172.17.1.2 mtu 1500 netmask 255.255.255.255 up
                                                                            Aug 19 11:28:58 	openvpn[48699]: FreeBSD ifconfig failed: external program exited with error status: 1
                                                                            Aug 19 11:28:58 	openvpn[48699]: Exiting
                                                                            

                                                                            Помогает перезапуск службы Quagga OSPFd. После этого служба Openvpn стартует и все работает.

                                                                            1 Reply Last reply Reply Quote 0
                                                                            • werter
                                                                              werter last edited by

                                                                              Что-то похожее :

                                                                              1. http://lists.freebsd.org/pipermail/freebsd-current/2009-July/010020.html
                                                                              Как вариант, если возможно, использовать tap-адаптер вместо tun

                                                                              2. http://www.daemonforums.org/showthread.php?t=527&highlight=hostname
                                                                              Смотрите внимательно конфиг. Красным в его конфиге сервера выделено dev tun0, т.е. явно указан номер tun-интерфейса.

                                                                              1 Reply Last reply Reply Quote 0
                                                                              • R
                                                                                rubic last edited by

                                                                                @glamourok:

                                                                                Настроено 2 канала OpenVPN (site-to-site, shared key), маршрутизация по OSPF. В общем все сделано, как у вас здесь написано. Нарисовалась проблема, при падению 1 из каналов интернета, соответственно падает туннель опенвпн. Ospf в соотвествии с метриками перекидывает все на другой канал опенвпн. Но вот при появлении интернета, туннель не восстанавливается. В логах пишется вот такая ошибка и служба openvpn падает. Перезапуск не помогает, светится такая же ошибка.

                                                                                Aug 19 11:28:58 	openvpn[48699]: OpenVPN 2.2.2 i386-portbld-freebsd8.1 [SSL] [LZO2] [eurephia] built on Apr 2 2013
                                                                                Aug 19 11:28:58 	openvpn[48699]: NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
                                                                                Aug 19 11:28:58 	openvpn[48699]: LZO compression initialized
                                                                                Aug 19 11:28:58 	openvpn[48699]: TUN/TAP device /dev/tun2 opened
                                                                                Aug 19 11:28:58 	openvpn[48699]: /sbin/ifconfig ovpns2 172.17.1.1 172.17.1.2 mtu 1500 netmask 255.255.255.255 up
                                                                                Aug 19 11:28:58 	openvpn[48699]: FreeBSD ifconfig failed: external program exited with error status: 1
                                                                                Aug 19 11:28:58 	openvpn[48699]: Exiting
                                                                                

                                                                                Помогает перезапуск службы Quagga OSPFd. После этого служба Openvpn стартует и все работает.

                                                                                Это читали?

                                                                                @rubic:

                                                                                Небольшое замечание по настройке OSPF. Не надо делать как на картинках выше. Во-первых, в пакет Quagga OSPF сейчас добрые люди прислали коммит, который не дает сервису OSPFd запустится, если у вас что-то прописано в Disable Redistribution. Во-вторых, даже если это починят, прописывать туда что-либо нет нужды и вообще неправильно.
                                                                                Т.е. в Global Settings снимаем галку с Redistribute connected subnets и вычищаем все Disable Redistribution. Идем на вкладку Interface Settings и добавляем там наш LAN интерфейс, в настройках которого ставим галку Interface is Passive.
                                                                                Этого достаточно для того, чтобы соседи по OSPF узнали маршрут в вашу локальную сеть, и такая настройка более лучше соответствует принципам OSPF.

                                                                                Если да, то конфиг Quagga и таблицу маршрутов на момент, когда один канал VPN лежит, приведите.

                                                                                1 Reply Last reply Reply Quote 0
                                                                                • G
                                                                                  glamourok last edited by

                                                                                  Да, именно так и делал. LAN добавил, сделал Пасссивным.

                                                                                  Вот все маршруты. OpenVPN CLient лежит (там где коннект рвется, там и служба OpenVPN падает, может сервер, может клиент).

                                                                                  
                                                                                  IPv4
                                                                                  Destination 	Gateway 	Flags 	Refs 	Use 	Mtu 	Netif 	Expire
                                                                                  default 	213.228.116.131 	UGS 	0 	26259 	1492 	pppoe0 	 
                                                                                  10.64.64.2 	link#11 	UH 	0 	0 	1492 	ppp2 	 
                                                                                  10.122.66.247 	link#11 	UHS 	0 	6 	16384 	lo0 	 
                                                                                  10.154.44.150 	10.64.64.2 	UGHS 	0 	174640 	1492 	ppp2 	 
                                                                                  10.154.44.154 	10.64.64.2 	UGHS 	0 	11702 	1492 	ppp2 	 
                                                                                  10.154.44.158 	10.64.64.2 	UGHS 	0 	11706 	1492 	ppp2 	 
                                                                                  92.126.192.213 	link#9 	UHS 	0 	0 	16384 	lo0 	 
                                                                                  95.191.130.4 	213.228.116.131 	UGHS 	0 	98 	1492 	pppoe0 	 
                                                                                  127.0.0.1 	link#8 	UH 	0 	21776 	16384 	lo0 	 
                                                                                  172.17.1.2 	172.17.2.1 	UGH1 	0 	0 	1500 	ovpnc3 	 
                                                                                  172.17.2.1 	link#13 	UH 	0 	0 	1500 	ovpnc3 	 
                                                                                  172.17.2.2 	link#13 	UHS 	0 	0 	16384 	lo0 	 
                                                                                  192.168.0.0/24 	172.17.2.1 	UG1 	0 	8989 	1500 	ovpnc3 	 
                                                                                  192.168.10.0/24 	link#3 	U 	0 	7810096 	1500 	fxp0 	 
                                                                                  192.168.10.254 	link#3 	UHS 	0 	0 	16384 	lo0 	 
                                                                                  195.162.32.5 	213.228.116.131 	UGHS 	0 	2495 	1492 	pppoe0 	 
                                                                                  195.162.41.8 	213.228.116.131 	UGHS 	0 	2395 	1492 	pppoe0 	 
                                                                                  213.228.116.131 	link#9 	UH 	0 	0 	1492 	pppoe0 	 
                                                                                  
                                                                                  

                                                                                  172.17.1.0/24 - сеть первого туннеля (ovpnc2), который упал. И больше не поднимается, как раз ошибка, как в посте выше.

                                                                                  А как конфиг просмотреть QUAGGA OSPFd?

                                                                                  1 Reply Last reply Reply Quote 0
                                                                                  • R
                                                                                    rubic last edited by

                                                                                    @glamourok:

                                                                                    Да, именно так и делал. LAN добавил, сделал Пасссивным.

                                                                                    Вот все маршруты. OpenVPN CLient лежит (там где коннект рвется, там и служба OpenVPN падает, может сервер, может клиент).

                                                                                    
                                                                                    IPv4
                                                                                    Destination 	Gateway 	Flags 	Refs 	Use 	Mtu 	Netif 	Expire
                                                                                    default 	213.228.116.131 	UGS 	0 	26259 	1492 	pppoe0 	 
                                                                                    10.64.64.2 	link#11 	UH 	0 	0 	1492 	ppp2 	 
                                                                                    10.122.66.247 	link#11 	UHS 	0 	6 	16384 	lo0 	 
                                                                                    10.154.44.150 	10.64.64.2 	UGHS 	0 	174640 	1492 	ppp2 	 
                                                                                    10.154.44.154 	10.64.64.2 	UGHS 	0 	11702 	1492 	ppp2 	 
                                                                                    10.154.44.158 	10.64.64.2 	UGHS 	0 	11706 	1492 	ppp2 	 
                                                                                    92.126.192.213 	link#9 	UHS 	0 	0 	16384 	lo0 	 
                                                                                    95.191.130.4 	213.228.116.131 	UGHS 	0 	98 	1492 	pppoe0 	 
                                                                                    127.0.0.1 	link#8 	UH 	0 	21776 	16384 	lo0 	 
                                                                                    172.17.1.2 	172.17.2.1 	UGH1 	0 	0 	1500 	ovpnc3 	 
                                                                                    172.17.2.1 	link#13 	UH 	0 	0 	1500 	ovpnc3 	 
                                                                                    172.17.2.2 	link#13 	UHS 	0 	0 	16384 	lo0 	 
                                                                                    192.168.0.0/24 	172.17.2.1 	UG1 	0 	8989 	1500 	ovpnc3 	 
                                                                                    192.168.10.0/24 	link#3 	U 	0 	7810096 	1500 	fxp0 	 
                                                                                    192.168.10.254 	link#3 	UHS 	0 	0 	16384 	lo0 	 
                                                                                    195.162.32.5 	213.228.116.131 	UGHS 	0 	2495 	1492 	pppoe0 	 
                                                                                    195.162.41.8 	213.228.116.131 	UGHS 	0 	2395 	1492 	pppoe0 	 
                                                                                    213.228.116.131 	link#9 	UH 	0 	0 	1492 	pppoe0 	 
                                                                                    
                                                                                    

                                                                                    172.17.1.0/24 - сеть первого туннеля (ovpnc2), который упал. И больше не поднимается, как раз ошибка, как в посте выше.

                                                                                    А как конфиг просмотреть QUAGGA OSPFd?

                                                                                    /var/etc/quagga/ospfd.conf

                                                                                    проблема в этом маршруте:

                                                                                    
                                                                                    172.17.1.2 	172.17.2.1 	UGH1 	0 	0 	1500 	ovpnc3 	 
                                                                                    
                                                                                    

                                                                                    quagga видит клиентский адрес упавшего туннеля через сервер и держит маршрут к нему в таблице,
                                                                                    соответственно openvpn, поднимая туннель, не может сконфигурировать интерфейс с таким адресом
                                                                                    почитайте тут:

                                                                                    http://redmine.pfsense.org/issues/2712
                                                                                    http://forum.pfsense.org/index.php/topic,60231.0.html

                                                                                    вроде были какие-то патчи, не помню чем дело кончилось

                                                                                    1 Reply Last reply Reply Quote 0
                                                                                    • First post
                                                                                      Last post