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

    pfsense и Keenetic Extra site-to-site OpenVPN

    Scheduled Pinned Locked Moved Russian
    13 Posts 3 Posters 2.4k 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.
    • D
      dTinside
      last edited by

      Добрый день!

      Есть следующий кейс: объединить 2 удалённые подсети через OpenVPN. На одной стороне pfSense 2.4.4, на другой Keenetic Extra c NDMS 3.3.15. Обе сети на шлюзе имеют белый IP адрес.

      Офис 1 (pfSense):
      LAN 10.10.66.0/24
      WAN 101.X.X.X

      Офис 2 (Keenetic):
      LAN 192.168.1.0/24
      WAN 102.X.X.X

      Сеть OpenVPN: 1.1.1.0/24

      Для решения этой задачи выбор пал на решение Site-to-site (P2P SSL/TLS). Этот вариант подходит для дальнейшего масштабирования, офисов всего 7. После изучения нескольких мануалов (раз, два, три) было сделано следующее:

      1. Через мастер создан OpenVPN Server, CA, сертификат сервера и клиента на pfSense (открыты порты, созданы правила FW).
        Настройки сервера:
      Peer to Peer (SSL/TLS)
      UDP on IPv4 Only
      tun
      WAN
      1199
      Use a TLS Key
      TLS Authentication 
      CA-CERT
      SERVER-Cert
      DH 1024 bit
      AES-256-CBC
      SHA1
      IPv4 Tunnel Network: 1.1.1.0/24
      IPv4 Local Network: 10.10.66.0/24, 192.168.1.0/24
      IPv4 Remote Network: 192.168.1.0/24
      Custom: client-to-client
      
      1. В Client Specific Override для клиента было добавлено
      iroute 192.168.1.0 255.255.255.0
      
      1. Экспортировал CA, Client Cert, Clienk Key, TLS key (из сервера), добавил это всё в клиент на Keenetic Extra. Конфиг такой:
      client
      dev tun
      proto udp
      remote 101.X.X.X 1199
      resolv-retry infinite
      persist-key
      persist-tun
      remote-cert-tls server
      cipher AES-256-CBC
      comp-lzo
      verb 3
      
      <ca>
      -----BEGIN CERTIFICATE-----
      ***************************************
      -----END CERTIFICATE-----
      </ca>
      <cert>
      -----BEGIN CERTIFICATE-----
      ***************************************
      -----END CERTIFICATE-----
      </cert>
      <key>
      -----BEGIN PRIVATE KEY-----
      ***************************************
      -----END PRIVATE KEY-----
      </key>
      <tls-auth>
      #
      # 2048 bit OpenVPN static key
      #
      -----BEGIN OpenVPN Static key V1-----
      ***************************************
      -----END OpenVPN Static key V1-----
      </tls-auth>
      
      
      1. По мануалу на сайте Keenetic сделал через CLI эти изменения:
      interface OpenVPN0 no ip global
      interface OpenVPN0 security-level private
      no isolate-private
      
      1. В Keenetic в логах висит вот это вот, соединение не устанавливается:
      Мар 20 15:44:59 OpenVPN0
      TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
      Мар 20 15:44:59 OpenVPN0
      TLS Error: TLS handshake failed
      

      На другом форуме находил аналогичную проблему, решилась она добавлением client-to-client на сервер. Не помогло.
      Пробовал перевод сервера на Remote Access - линк был, сеть Офиса 2 видела сеть Офиса 1, в обратную сторону нет.

      Возможно, что-то упускаю, взгляд уже замылился. Буду рад любым идеям, согласен даже на платную помощь, лишь бы ткнули носом, что я делаю не так.

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

        Добрый
        @dTinside

        Экспортировал CA, Client Cert, Clienk Key, TLS key (из сервера)

        Для этого есть отдельный пакет для пф. Вы его пользовали?

        В конфиг клиента добавить:
        ниже cipher:
        tls-client

        и в самый низ:
        key-direction 1

        Сеть OpenVPN: 1.1.1.0/24

        Надеюсь, что сеть ВПН у вас не такая. Это РЕАЛЬНЫЕ внешние IP.

        Офис 2 (Keenetic):
        LAN 192.168.1.0/24

        Рекомендую не пользовать такую адресацию в работе. Потому как след. офис\клиент с такой же адресацией в его ЛАН поломает вам связность работы по ВПН.

        P D 2 Replies Last reply Reply Quote 0
        • P
          pigbrother @werter
          last edited by

          @werter said in pfsense и Keenetic Extra site-to-site OpenVPN:

          Для этого есть отдельный пакет для пф. Вы его пользовали?

          Вы о Client Export Utility?
          Если да, то Site-to-site (P2P SSL/TLS) ею не поддерживается.

          @dTinside said in pfsense и Keenetic Extra site-to-site OpenVPN:

          Пробовал перевод сервера на Remote Access - линк был, сеть Офиса 2 видела сеть Офиса 1, в обратную сторону нет.

          Делал такое на Асус.
          На сервере в Advanced Configuration->Custom options добавил
          route 10.168.1.0
          10.168.1.0 - сеть за клиентом.

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

            На сервере в Advanced Configuration->Custom options добавил

            А там Remote networks нет для этого? Чтобы в Адвансед не лезть. Не помню есть оно в P2P.

            route 10.168.1.0

            тогда уж route X.X.X.X Y.Y.Y.Y;
            где Y.Y.Y.Y - маска подсети удален. клиента.

            И я бы еще разреш. правило fw на ЛАН на сервере добавил, где в Dst будет удален. сеть клиента. И поставил бы это правило выше всех.

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

              @dTinside
              Для вашего Кинетика должен быть Padavan, к-ый гораздо интереснее, чем родная прошивка. Поищите на 4pda.

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

                @werter said in pfsense и Keenetic Extra site-to-site OpenVPN:

                А там Remote networks нет для этого?

                В Remote Access сервере нет этого поля, поэтому и использовал Advanced.

                @werter said in pfsense и Keenetic Extra site-to-site OpenVPN:

                тогда уж route X.X.X.X Y.Y.Y.Y;

                Естественно. Недоскопировал и недовставил.

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

                  @dTinside

                  В Remote Access сервере нет этого поля, поэтому и использовал Advanced.

                  Да? А у ТС-а этот пункт имеется ) В 1-м сообщении есть:

                  IPv4 Remote Network: 192.168.1.0/24

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

                    @dTinside

                    IPv4 Local Network: 10.10.66.0/24, 192.168.1.0/24
                    IPv4 Remote Network: 192.168.1.0/24

                    А чего это у вас 192.168.1.0/24 в обоих пунктах-то? Это неправильно.

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

                      @werter said in pfsense и Keenetic Extra site-to-site OpenVPN:

                      Да? А у ТС-а этот пункт имеется ) В 1-м сообщении есть:

                      IPv4 Remote Network: 192.168.1.0/24

                      Цитируемые вами настройки ТС - это Site-to-site (P2P SSL/TLS).
                      В настройках Remote Access сервера поля для Remote networks нет.

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

                        @pigbrother
                        Вы правы.

                        @dTinside
                        Разберитесь с конфигом ОВПН на сервере.

                        1 Reply Last reply Reply Quote 0
                        • D
                          dTinside @werter
                          last edited by dTinside

                          This post is deleted!
                          1 Reply Last reply Reply Quote 0
                          • D
                            dTinside
                            last edited by

                            @werter @pigbrother

                            Огромное спасибо! Выполнил все ваши рекомендации, сдвинулся с места.

                            Теперь в журнале Keenetic вижу это

                            Мар 21 06:49:16 OpenVPN0
                            TLS Error: Unroutable control packet received from [AF_INET]101.X.X.X:1199 (si=3 op=P_CONTROL_V1)
                            Мар 21 06:49:16 OpenVPN0
                            OpenSSL: error:1416F086:lib(20):func(367):reason(134)
                            Мар 21 06:49:16 OpenVPN0
                            TLS_ERROR: BIO read tls_read_plaintext error
                            Мар 21 06:49:16 OpenVPN0
                            TLS Error: TLS object -> incoming plaintext read error
                            Мар 21 06:49:16 OpenVPN0
                            TLS Error: TLS handshake failed
                            Мар 21 06:49:16 OpenVPN0
                            SIGTERM[soft,tls-error] received, process exiting
                            Мар 21 06:49:16 ndm
                            Service: "OpenVPN0": unexpectedly stopped.
                            Мар 21 06:49:19 OpenVPN0
                            OpenVPN 2.4.6 [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [AEAD]
                            Мар 21 06:49:19 OpenVPN0
                            library versions: OpenSSL 1.1.1d 10 Sep 2019, LZO 2.10
                            Мар 21 06:49:19 OpenVPN0
                            UDP link local (bound): [AF_INET][undef]:1199
                            Мар 21 06:49:19 OpenVPN0
                            UDP link remote: [AF_INET]101.X.X.X:1199
                            Мар 21 06:49:19 OpenVPN0
                            NOTE: UID/GID downgrade will be delayed because of --client, --pull, or --up-delay
                            Мар 21 06:49:20 OpenVPN0
                            TLS Error: Unroutable control packet received from [AF_INET]101.X.X.X:1199 (si=3 op=P_ACK_V1)
                            Мар 21 06:49:21 OpenVPN0
                            TLS Error: Unroutable control packet received from [AF_INET]101.X.X.X:1199 (si=3 op=P_CONTROL_V1)
                            Мар 21 06:49:21 OpenVPN0
                            TLS Error: Unroutable control packet received from [AF_INET]101.X.X.X:1199 (si=3 op=P_CONTROL_V1)
                            Мар 21 06:49:21 OpenVPN0
                            TLS Error: Unroutable control packet received from [AF_INET]101.X.X.X:1199 (si=3 op=P_ACK_V1)
                            Мар 21 06:49:25 OpenVPN0
                            TLS Error: Unroutable control packet received from [AF_INET]101.X.X.X:1199 (si=3 op=P_CONTROL_V1)
                            Мар 21 06:49:25 OpenVPN0
                            TLS Error: Unroutable control packet received from [AF_INET]101.X.X.X:1199 (si=3 op=P_ACK_V1)
                            Мар 21 06:49:29 OpenVPN0
                            TLS Error: Unroutable control packet received from [AF_INET]101.X.X.X:1199 (si=3 op=P_CONTROL_V1)
                            Мар 21 06:49:34 OpenVPN0
                            TLS Error: Unroutable control packet received from [AF_INET]101.X.X.X:1199 (si=3 op=P_CONTROL_V1)
                            Мар 21 06:49:34 OpenVPN0
                            TLS Error: Unroutable control packet received from [AF_INET]101.X.X.X:1199 (si=3 op=P_ACK_V1)
                            Мар 21 06:49:45 OpenVPN0
                            TLS Error: Unroutable control packet received from [AF_INET]101.X.X.X:1199 (si=3 op=P_CONTROL_V1)
                            Мар 21 06:49:49 OpenVPN0
                            TLS Error: Unroutable control packet received from [AF_INET]101.X.X.X:1199 (si=3 op=P_CONTROL_V1)
                            Мар 21 06:49:50 OpenVPN0
                            TLS Error: Unroutable control packet received from [AF_INET]101.X.X.X:1199 (si=3 op=P_ACK_V1)
                            

                            После очередных мучений я решил зайти с другой стороны.
                            Не меняя конфигурацию севера, я настроил Site-to-Site с другим pfSense - всё завелось с пол-пинка (и в режиме Shared Key и в P2P SSL/TLS).
                            То есть причина вот этого непотребства видимо в самом Keenetic.

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

                              @dTinside

                              Для вашего Кинетика должен быть Padavan, к-ый гораздо интереснее, чем родная прошивка. Поищите на 4pda.

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