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.5k 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.
    • T
      Tr0tter
      last edited by

      А как завернуть сеть в сеть которые за VPN находятся ? что бы сети друг друга "знали" ?

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

        @Tr0tter:

        А как завернуть сеть в сеть которые за VPN находятся ? что бы сети друг друга "знали" ?

        Если имеются в виду подсети за OVPN-клиентами, подключенными к "центральному"OVPN-серверу, то указать каждой подсети маршрут в другую подсеть:

        На клиентах в Advanced configuration
        route 192.168.Х.0/24 255.255.255.0

        или, если на сервере используется конфигурация PKI -  в Client Specific Overrides
        push route "192.168.Х.0 255.255.255.0"

        где 192.168.Х.0 - сеть удаленного филиала

        В редких случаях push route может оказаться нужным дополнить явным указанием шлюза:
        push route "192.168.Х.0 255.255.255.0 10.х.х.1"

        где 10.х.х.1 адрес OVPN-сервера в туннеле

        Не лишним может оказаться добавление на LAN на сервере и клиентах правил вида

        IPv4 * LAN net * 192.168.Х.0/24 * * none

        Обратите внимание на **IPv4 *** - по умолчанию правило создается только для TCP

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

          @pigbrother:

          @Tr0tter:

          А как завернуть сеть в сеть которые за VPN находятся ? что бы сети друг друга "знали" ?

          Если имеются в виду подсети за OVPN-клиентами, подключенными к "центральному"OVPN-серверу, то указать каждой подсети маршрут в другую подсеть:

          На клиентах в Advanced configuration
          route 192.168.Х.0/24 255.255.255.0

          или, если на сервере используется конфигурация PKI -  в Client Specific Overrides
          push route "192.168.Х.0 255.255.255.0"

          где 192.168.Х.0 - сеть удаленного филиала

          В редких случаях push route может оказаться нужным дополнить явным указанием шлюза:
          push route "192.168.Х.0 255.255.255.0 10.х.х.1"

          где 10.х.х.1 адрес OVPN-сервера в туннеле

          Не лишним может оказаться добавление на LAN на сервере и клиентах правил вида

          IPv4 * LAN net * 192.168.Х.0/24 * * none

          Обратите внимание на **IPv4 *** - по умолчанию правило создается только для TCP

          Тобишь, если имеется сервер с IPv4 Tunnel Network 172.16.1.0/24  нужно в Advanced добавить помимо вот этого push "route 192.168.0.0 255.255.255.0";
          route 192.168.100.0 255.255.255.0; ещё и push route "192.168.5.0 255.255.255.0 172.16.1.0 ? Сеть от 5 заворачиваем через 172.16.1.0 в 100 ? это на одном сервере, тоже самое на другом, только тунель будет другим ?

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

            Забудьте про адресацию туннелей. Для туннеля ваша единственная задача - обеспечить уникальную (неиспользуемую ни в какой реальной подсети адресацию, которая работает\будет работать в OpenVPN.
            После того, как туннель поднялся все настройки производятся с реальными адресами подсетей, шлюзов и т.д.

            это на одном сервере, тоже самое на другом, только тунель будет другим ?
            Давайте уточним терминологию.
            Сервер - это то, что ожидает подключения.
            Клиент - это то, что инициирует подключение.

            В случае PKI ("сервер с сертификатами") настройки сервера в client specific overrides в принципе равнозначны  настройкам на клиенте.
            Например  push route "…. в  client specific overrides делает то же самое, что route в настройках клиента.
            Исключение - директива iroute, ее нужно указывать именно в client specific overrides на сервере.

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

              @pigbrother:

              Забудьте про адресацию туннелей. Для туннеля ваша единственная задача - обеспечить уникальную (неиспользуемую ни в какой реальной подсети адресацию, которая работает\будет работать в OpenVPN.
              После того, как туннель поднялся все настройки производятся с реальными адресами подсетей, шлюзов и т.д.

              Ну и где это делается ? из сети 192.168.0.0 я могу пинговать всё что можно, а вот из 192.168.5.0 не могу пинговать 192.168.100.0 но из этих сетей я могу пинговать 192.168.0.0

              1 Reply Last reply Reply Quote 0
              • M
                mitushinem
                last edited by

                Добрый день!
                Все сделал как написано в топике, все хорошо работает. Но почему то компьютеры не видят друг друга в сетевом окружении и более того непонятен такой момент. Компьютеры которые находятся в одной подсети с сервером не пингуют компы из подсети клиента, а наоборот пинги есть и доступ по IP.
                Какой то парабокс - доступ из клиентской подсети в серверною есть, а наоборот нет  :(

                Сеть с сервером 10.2.0.0/24
                Сеть клиента 10.2.1.0/24
                Туннель 172.16.0.1/24

                Маршруты на сервере
                default xxx.xxx.xxx.xxx UGS 0 8327006 1500 em1
                10.2.0.0 link#1 U 0 8450553 1500 em0
                gw01 link#1 UHS 0 0 16384 lo0
                10.2.1.0 172.16.0.2 UGS 0 3790876 1500 ovpns1
                xxx.xxx.xxx.0/27 link#2 U 0 205476 1500 em1
                xxx.xxx.xxx.xxx link#2 UHS 0 0 16384 lo0
                localhost link#5 UH 0 217 16384 lo0
                172.16.0.0 172.16.0.2 UGS 0 0 1500 ovpns1
                172.16.0.1 link#7 UHS 0 0 16384 lo0
                172.16.0.2 link#7 UH 0 0 1500 ovpns1

                Маршруты на клиенте

                default xxx.xxx.xxx.xxx UGS 0 29325548 1500 em0
                10.2.0.0/24 172.16.0.5 UGS 0 2891014 1500 ovpnc1
                10.2.1.0/24 link#2 U 0 28010720 1500 em1
                10.2.1.1 link#2 UHS 0 0 16384 lo0
                xxx.xxx.xxx.xxx/27 link#1 U 0 715465 1500 em0
                xxx.xxx.xxx.xxx link#1 UHS 0 0 16384 lo0
                127.0.0.1 link#5 UH 0 176 16384 lo0
                172.16.0.1/32 172.16.0.5 UGS 0 0 1500 ovpnc1
                172.16.0.5 link#7 UH 0 0 1500 ovpnc1
                172.16.0.6 link#7 UHS 0 0 16384 lo0

                Чего не хватает?

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

                  NetBIOS, iroute.

                  1 Reply Last reply Reply Quote 0
                  • M
                    mitushinem
                    last edited by

                    iroute 10.2.1.0 255.255.255.0 добавлено в specific.
                    А как быть с NetBios

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

                      Внимательнее смотрите страницу настроек. Там должна быть галка по поводу NetBIOS.
                      Или поднимайте tap-туннель.

                      1 Reply Last reply Reply Quote 0
                      • K
                        kilkanj
                        last edited by

                        Добрый день!
                        Посоветуйте, как лучше реализовать следующую схему:

                        Есть 2 сети за pfsense и внешние виндовые клиенты с виндовым openvpn.
                        Нужно объединить сети за pfsence и дать возможность внешним клиентам, при подключении видеть общие ресурсы обеих сетей, а не только той к openvpn серверу которой они коннектятся.
                        При этом не хотелось бы устраивать на pfsense множество серверов openvnc.  Желательно вообще 1.

                        Навскидку кажется, что можно это сделать при помощи “Peer to Peer (SSL/TLS)” (PKI), но неясно можно ли подключить туда виндовых клиентов, и если да, то как.

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

                          Для одиночных клиентов есть Remote access… Peer to Peer - это когда нужно сделать связь сети за сервером с сетью за клиентом.

                          1 Reply Last reply Reply Quote 0
                          • K
                            kilkanj
                            last edited by

                            У меня 2 pfsense за каждым из них сеть и эти сети надо объединить. Кроме этого существуют виндовые клиенты, которые подключаются к одному из серверов, но хотят видеть ресурсы из второй сети тоже.
                            Вы предлагаете, поднять для виндовых клиентов отдельный север с RA, а 2 сети объединять Site 2 Site ?  Сейчас так и сделано, но при этом виндовые клиенты видят только сеть за сервером к которому подключаются.

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

                              Если сети за pfSense'ми видят друг-друга, то и клиенты на windows тоже могут без проблем. Нужно просто передать им маршрут в соседнюю сеть. Типа: route 192.168.0.0 255.255.255.0

                              1 Reply Last reply Reply Quote 0
                              • K
                                kilkanj
                                last edited by

                                Это сделано, но не помогает *)

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

                                  @rubic:

                                  Наконец, зачем была нужна директива: iroute 192.168.20.0 255.255.255.0 в Client Specific Overrides для клиента ovpnc1

                                  Прописываю iroute в Client Specific Overrides на OpenVPN сервере (что бы прописать мартрут и сказать серверу за каким клиентом сеть) и почему то не добавляется маршрут на сервере, а если прописываю route в Advanced в настройках самого OpenVPN сервера то маршрут прописывается и все работает

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

                                    если прописываю route в Advanced в настройках самого OpenVPN сервера то маршрут прописывается и все работает

                                    Не советую этого делать.

                                    Прописываю iroute в Client Specific Overrides на OpenVPN сервере (что бы прописать мартрут и сказать серверу за каким клиентом сеть) и почему то не добавляется маршрут на сервере

                                    А имя клиента в Client Specific Overrides - правильное ?

                                    NOTE: Common Name should be the same as specified in the clients certificate:

                                    If you have forgotten this name go to System\Cert Manager\Certificates and check the value of the CN for your VPN user

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

                                      Уважаемый werter, прежде все хочу сказать спасибо за Ваши ответы!

                                      Теперь по теме, я задал не правильно вопрос…
                                      В настройках OpenVPN сервера я прописываю -
                                      VPN - OpenVPN - Server - Advanced - route ip_range netmask;
                                      Делаю я это для того что бы в таблице маршрутизации OpenVPN сервера прописался маршрут до удаленной сети за OpenVPN клиентом.

                                      Вопрос как можно приписать добавление маршрута в таблицу маршрутизации OpenVPN сервера в настройках
                                      VPN - OpenVPN - Client Specific Overrides - CommonName - Advanced

                                      @werter:

                                      если прописываю route в Advanced в настройках самого OpenVPN сервера то маршрут прописывается и все работает

                                      Не советую этого делать.

                                      Поясните как лучше сделать?
                                      @werter:

                                      Прописываю iroute в Client Specific Overrides на OpenVPN сервере (что бы прописать мартрут и сказать серверу за каким клиентом сеть) и почему то не добавляется маршрут на сервере

                                      А имя клиента в Client Specific Overrides - правильное ?

                                      Да праивльное в предыдущем посте про iroute излишняя информация этой дериктивой прописываем за каким конкретно клентом та или иная сеть.
                                      Почему этого не достаточно и необходимо еще прописывать route  в настройках сервера?

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

                                        @temyshk:

                                        … iroute... этой дериктивой прописываем за каким конкретно клентом та или иная сеть.
                                        Почему этого не достаточно и необходимо еще прописывать route  в настройках сервера?

                                        Потому что route инсталлирует маршрут в системную таблицу маршрутов pfSense (и говорит системе, что сеть находится за OpenVPN сервером), а iroute - во внутреннюю базу маршрутов OpenVPN (и говорит серверу за каким именно клиентом находится сеть). Это совсем разные вещи.

                                        Почему iroute не инсталлирует маршруты и туда и туда? Таков дизайн, и это правильно. Мне например никакие системные маршруты от iroute не нужны, т. к. я получаю их по OSPF. Что было бы если бы те же маршруты полезло писать туда же iroute? Так что, пусть каждый занимается своим делом.

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

                                          Помогите пожалуйста.. настраивал OpenVPN по этой инструкции … с подводными камнями разобрался и все работало (есть мои посты выше)
                                          Уже подключено с 10 клиентов и все работает.... версия 2.1.3-RELEASE (i386)

                                          Сейчас подключается еще 1 клиент.... все настроено как и раньше единственное отличие это новая версия pfSense 2.2.2-RELEASE (i386)
                                          Никак не могу понять что он хочет?... почему реконект?

                                          Лог клиента pfSense 2.2.2-RELEASE (i386)

                                          Apr 20 09:18:57	openvpn[96982]: Restart pause, 5 second(s)
                                          Apr 20 09:19:02	openvpn[96982]: WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
                                          Apr 20 09:19:02	openvpn[96982]: NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
                                          Apr 20 09:19:02	openvpn[96982]: Socket Buffers: R=[65228->65536] S=[65228->65536]
                                          Apr 20 09:19:02	openvpn[96982]: Attempting to establish TCP connection with [AF_INET]203.169.76.29:1194 [nonblock]
                                          Apr 20 09:19:03	openvpn[96982]: TCP connection established with [AF_INET]203.169.76.29:1194
                                          Apr 20 09:19:03	openvpn[96982]: TCPv4_CLIENT link local (bound): [AF_INET]10.85.110.7
                                          Apr 20 09:19:03	openvpn[96982]: TCPv4_CLIENT link remote: [AF_INET]203.169.76.29:1194
                                          Apr 20 09:19:03	openvpn[96982]: TLS: Initial packet from [AF_INET]203.169.76.29:1194, sid=9fd8d700 66b332bc
                                          Apr 20 09:19:03	openvpn[96982]: VERIFY OK: depth=1, C=UA, ST=Kyivskaya, L=Kyiv, O=Gidroenergoinvest, emailAddress=itgdr@gmail.com, CN=internal-vpn2-ca
                                          Apr 20 09:19:04	openvpn[96982]: VERIFY OK: depth=0, C=UA, ST=Kyivskaya, L=Kyiv, O=Gidroenergoinvest, emailAddress=itgdr@gmail.com, CN=gei.com
                                          Apr 20 09:19:05	openvpn[96982]: Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
                                          Apr 20 09:19:05	openvpn[96982]: Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
                                          Apr 20 09:19:05	openvpn[96982]: Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
                                          Apr 20 09:19:05	openvpn[96982]: Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
                                          Apr 20 09:19:05	openvpn[96982]: Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 2048 bit RSA
                                          Apr 20 09:19:05	openvpn[96982]: [gei.com] Peer Connection Initiated with [AF_INET]203.169.76.29:1194
                                          Apr 20 09:19:07	openvpn[96982]: SENT CONTROL [gei.com]: 'PUSH_REQUEST' (status=1)
                                          Apr 20 09:19:07	openvpn[96982]: PUSH: Received control message: 'PUSH_REPLY,route 172.21.0.0 255.255.255.0,route 172.21.0.0 255.255.255.0 172.10.0.1,route-gateway 172.10.0.1,topology subnet,ping 10,ping-restart 60,ifconfig 172.10.0.3 255.255.255.0'
                                          Apr 20 09:19:07	openvpn[96982]: OPTIONS IMPORT: timers and/or timeouts modified
                                          Apr 20 09:19:07	openvpn[96982]: OPTIONS IMPORT: --ifconfig/up options modified
                                          Apr 20 09:19:07	openvpn[96982]: OPTIONS IMPORT: route options modified
                                          Apr 20 09:19:07	openvpn[96982]: OPTIONS IMPORT: route-related options modified
                                          Apr 20 09:19:07	openvpn[96982]: Preserving previous TUN/TAP instance: ovpnc1
                                          Apr 20 09:19:07	openvpn[96982]: Initialization Sequence Completed
                                          Apr 20 09:19:12	openvpn[96982]: Connection reset, restarting [0]
                                          Apr 20 09:19:12	openvpn[96982]: SIGUSR1[soft,connection-reset] received, process restarting
                                          Apr 20 09:19:12	openvpn[96982]: Restart pause, 5 second(s)
                                          

                                          Лог с сервера  pfSense 2.1.3-RELEASE (i386)

                                          Apr 20 09:19:00	openvpn[38122]: ktsvo.com/186.105.212.244:9355 send_push_reply(): safe_cap=940
                                          Apr 20 09:19:02	openvpn[38122]: TCP connection established with [AF_INET]105.134.224.202:8627
                                          Apr 20 09:19:05	openvpn[38122]: 105.134.224.202:8627 [ ktsvo.com] Peer Connection Initiated with [AF_INET]105.134.224.202:8627
                                          Apr 20 09:19:05	openvpn[38122]: MULTI_sva: pool returned IPv4=172.10.0.3, IPv6=(Not enabled)
                                          
                                          1 Reply Last reply Reply Quote 0
                                          • werterW
                                            werter
                                            last edited by

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

                                            keepalive 5 10
                                            ping-timer-rem
                                            persist-tun
                                            persist-key

                                            http://tuxnotes.ru/note/1

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