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

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

    Scheduled Pinned Locked Moved Russian
    376 Posts 39 Posters 215.7k Views
    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.
    • X
      xl
      last edited by

      Конечно все это сделано, я же написал, если отключить файрволл, то всё во все стороны ходит.
      Но, дело было не в файрволле. При отключении файрволла там есть такое:
      Disable all packet filtering.
      Note: This converts pfSense into a routing only platform!
      Note: This will also turn off NAT!
      Вот как раз отключение Outbound NAT, в котором криво создались правила, и помогало. Судя по всему какой-то баг в новой версии, переключение режимов из Automatic в Manual и обратно спасло ситуацию.
      И кстати, трейс доходил до 10.0.8.1 (что вроде как сервер), а помогало отключение NAT и файрволла на клиенте. Вот чем тут мне трейсроут помог? :)

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

        Покажите правила в Outbound NAT в режиме автоматическом и ручном на сервере и клиенте.
        И правила fw на LAN\WAN\OpenVPN на сервере и клиенте.

        1 Reply Last reply Reply Quote 0
        • T
          ton
          last edited by

          Добрый день!
          Прежде всего хочу сказать огромное спасибо rubic за инструкцию! По ней у меня всё работает прекрасно.

          Есть сервер
          WAN = реальный ип адрес
          LAN1 = 192.168.21.0/24
          LAN2 = 192.168.0.0/24 новая

          И есть клиент
          WAN1 = реальный ип адрес №1
          WAN2 = реальный ип адрес №2
          LAN1 = 192.168.2.0/24

          Единственное отклонение от инструкции - пришлось в клиенте указать IPv4 Remote Network/s = 192.168.21.0/24
          Иначе хосты из сети клиента не могли видеть хосты в сети сервера от чего-то. Может быть из-за версии пфсенса (у меня 2.1.5-RELEASE с обеих сторон). Хотя в обратную сторону работало.

          И в общем-то всё работало около года без проблем, пока на сервере не появилась новая сетевая карта с сетью 192.168.0.0/24 куда мне нужно обеспечить доступ из сети клиента.

          Казалось бы, всё просто.
          Изменил на сервере IPv4 Local Network/s = 192.168.21.0/24, 192.168.0.0/24
          Изменил на клиенте IPv4 Remote Network/s = 192.168.21.0/24, 192.168.0.0/24

          На клиенте появился маршрут 192.168.0.0/24 10.0.8.5 UGS 0 0 1500 ovpnc1

          Но хосты из сети клиента не хотят по нему ходить! Трасировка показывает, что они пытаются идти через wan сетевую (интернет)!
          Хотя трасировка прямо со шлюза показывает что машрут рабочий, и прямо со шлюза хосты в новой сети пингуются!

          В чем же дело? =(

          1 Reply Last reply Reply Quote 0
          • E
            EternalTear
            last edited by

            @werter:

            Эти директивы есть в конфиг. файле клиента ?

            Прочтите еще раз внимательнее где

            :) удивительно но с первого раза я прочитал придельно внимательно

            Клиентом является роутер pfSense версии 2.2.2-RELEASE (i386) …. настроенный через вебинтерфейс как и другие клиенты с версией 2.1.3....
            и вопрос где? я задавал потому как понятия не имею "где искать конфиг. файл у клиента" а в веб интерфейсе никаких упоминаний  о
            keepalive 5 10
            ping-timer-rem
            persist-tun
            persist-key

            нету…. это нужно через Diagnostics: Edit file смотреть?... если да то куда? :) (адрес к нужному конфиг файлу и понятно что у клиента)

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

              Ищите статьи по настройке pfsense в кач-ве клиента. Уверен, они существуют.

              1 Reply Last reply Reply Quote 0
              • T
                ton
                last edited by

                В инструкции сказано, что написанное в Remote Network, лишь говорит ядру системы о сетях. Да, так и есть. В списке маршрутов на шлюзе появляется нужный маршрут. Но клиенты по нему не ходят!!! А вот как сказать об этом клиентам за pfsense теперь?
                В инструкции пользовались директивой iroute  для передачи знания клиентам на СЕРВЕРЕ о сети КЛИЕНТОВ.
                Так как же мне сообщить КЛИЕНТАМ о новой дополнительной сети на СЕРВЕРЕ? =((

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

                  @ton:

                  Так как же мне сообщить КЛИЕНТАМ о новой дополнительной сети на СЕРВЕРЕ? =((

                  На сервере:

                  push "route ….";

                  На клиенте (-ах) в конец конф. файла добавьте директиву pull

                  1 Reply Last reply Reply Quote 0
                  • P
                    pigbrother
                    last edited by

                    На клиенте (-ах) в конец конф. файла добавьте директиву pull

                    pull разрешает клиенту получать от vpn-сервера push-инструкции, так?
                    Насколько она обязательна?  У меня клиенты получают push route из Client Specific Override без pull.

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

                      pull разрешает клиенту получать от vpn-сервера push-инструкции, так?

                      Верно. Насчет обязательности - не скажу. Но я добавляю.

                      http://forum.ixbt.com/topic.cgi?id=14:40906

                      http://unix.stackexchange.com/questions/16500/how-to-refuse-routes-that-are-pushed-by-openvpn-server

                      You can't refuse individual routes, however if you have access to edit your OpenVPN configuration then you can effectively stop the server –pushing any configuration to you by removing all instances of client or pull from your configuration. You will need instead to add tls-client if this directive doesn't already exist in your configuration (client is just a synonym for pull, tls-client).

                      Т.е. если  в конфиг. файле клиента не будет директив client или pull, то всё что push-ся сервером приниматься на стороне клиента не будет.

                      1 Reply Last reply Reply Quote 0
                      • T
                        ton
                        last edited by

                        @werter:

                        Т.е. если  в конфиг. файле клиента не будет директив client или pull, то всё что push-ся сервером приниматься на стороне клиента не будет.

                        Простите меня, а как правильно добавить в конфиг файл эти директивы? Я до этого работал только с веб интерфейсом, а по ssh как-то пробовал что-то менять, но после перезагрузки все изменения исчезали.

                        1 Reply Last reply Reply Quote 0
                        • P
                          pigbrother
                          last edited by

                          Либо в Client Specific Override для каждого клиента на PfSense, либо в конкретный конфигурационный файл конкретного клиента - зависит от реализации OpenVPN.
                          Если PfSense конфигурируется как клиент, директиву client (tls-client)  PfSense добавляет сам
                          /var/etc/openvpn/clientX.conf

                          1 Reply Last reply Reply Quote 0
                          • T
                            ton
                            last edited by

                            @pigbrother:

                            Либо в Client Specific Override для каждого клиента на PfSense, либо в конкретный конфигурационный файл конкретного клиента - зависит от реализации OpenVPN.
                            Если PfSense конфигурируется как клиент, директиву client (tls-client)  PfSense добавляет сам
                            /var/etc/openvpn/clientX.conf

                            в Client Specific Override на сервере изменил настройки так: push "route 192.168.0.0 255.255.255.0";iroute 192.168.2.0 255.255.255.0
                            Не помогло! Маршрут в таблице-то клиентского pfsense есть, но клиенты по нему не ходят!
                            Директива tls-client есть в /var/etc/openvpn/client1.conf - посмотрел через cat по ssh.
                            Как добавить туда pull не понял, пытался поставить mc по инструкции тут http://itautsors.ru/install-midnight-commander-mc-pfsense но в конце мне говорится ./mc: Exec format error. Binary file not executable. Сделал исполняемым, но ошибка такая же. Думал поможет пакет Filer, судя по описанию, он для изменения файлов, но нет, он вообще не понятно как работает.
                            Как мне добавить pull в /var/etc/openvpn/client1.conf да еще что бы изменения не исчезли после перезагрузки? И почему нет возможности через веб интерфейс это сделать? =(((

                            1 Reply Last reply Reply Quote 0
                            • P
                              pigbrother
                              last edited by

                              Как мне добавить pull в /var/etc/openvpn/client1.conf да еще что бы изменения не исчезли после перезагрузки? И почему нет возможности через веб интерфейс это сделать? =(((

                              В  /var/etc/openvpn/client1.conf ничего писать НЕ НАДО.
                              Я привел путь к client1.conf только для справки\изучения его содержимого.

                              pull внесите либо в Client Specific Override на сервере либо в Advanced configuration клиента

                              1 Reply Last reply Reply Quote 0
                              • T
                                ton
                                last edited by

                                @werter:

                                @ton:

                                Так как же мне сообщить КЛИЕНТАМ о новой дополнительной сети на СЕРВЕРЕ? =((

                                На сервере:

                                push "route ….";

                                На клиенте (-ах) в конец конф. файла добавьте директиву pull

                                Опробовал - никаких изменений! Между pfsens`ами трафик ходит норм, в таблице маршрутизации эти сети есть.
                                Но вот клиенты из сети где pfsense в роли клиента не видят сеть 192.168.0.0/24.
                                Попробовал вот так на сервере (первые два скрина)
                                и вот так на клиенте (последний скрин)
                                Но результат такой же! Работает только сеть 192.168.21.0/24 =(((((
                                Как же заставить клиентов ходить по этому маршруту =((
                                Подумал что через настройки ната, но там нельзя в качестве гетвея выставить openvpn
                                Что мне и где поменять?

                                server.jpg
                                server.jpg_thumb
                                server2.jpg
                                server2.jpg_thumb
                                client.jpg
                                client.jpg_thumb

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

                                  Подскажите здесь идет речь о подключении pfSense клиента к pfSense серверу.
                                  А если мне надо еще отдельных пользователей подключить, например, сидящих дома. Что для этого надо?

                                  1 Reply Last reply Reply Quote 0
                                  • P
                                    pigbrother
                                    last edited by

                                    @saTSGM:

                                    Подскажите здесь идет речь о подключении pfSense клиента к pfSense серверу.
                                    А если мне надо еще отдельных пользователей подключить, например, сидящих дома. Что для этого надо?

                                    http://blog.stefcho.eu/pfsense-2-0-rc1-configuration-of-openvpn-server-for-rad-warrior-with-tls-and-user-authentication/
                                    http://www.packetwatch.net/documents/guides/2012050801.php

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

                                      Спасибо за ссылочки, почитаем…

                                      1 Reply Last reply Reply Quote 0
                                      • P
                                        pigbrother
                                        last edited by

                                        @saTSGM:

                                        Спасибо за ссылочки, почитаем…

                                        Не забудьте про OpenVPN Client Export Utility. Формирует и дает скачать готовый, настроенный для конкретного клиента дистрибутив.

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

                                          Настроил все по этой схеме, два сервера pfsense соединились, все работает. Огромное спасибо автору за такой подробный мануал.

                                          Но как подключать windows клиентов? Подключение не происходит, а в логах пфсенса следующее:

                                          TLS Error: cannot locate HMAC in incoming packet from [AF_INET]ЗДЕСЬ_МОЙ_IP:49516

                                          Помогите, пожалуйста, решить проблему.

                                          1 Reply Last reply Reply Quote 0
                                          • P
                                            pigbrother
                                            last edited by

                                            У клиента нет TLS authentication key.
                                            Для начала отключите в настройках сервера Enable authentication of TLS packets.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.