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

    PfSense OpenVPN Server + Linux-client

    Scheduled Pinned Locked Moved Russian
    76 Posts 5 Posters 15.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.
    • P
      pigbrother
      last edited by

      В принципе - любой

      Разница между конфигурациями  Site-to-Site и Client-to-Site условная - в наборе настроек. Выбирайте Client-to-Site (в терминологии pfSense - Remote Acess SSl/TLS или  Remote Acess SSl/TLS +User Auth.
      Потенциально ограничения при работе с Windows-клиентами - желательность выбора типа туннеля net30, более новый тип туннеля subnet не поддерживается старыми(?) версиями Wndows.

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

        А у вас какой именно режим выбран сервера OpenVPN? Одна копия pfSense OpenVPN-сервера?

        modes.jpg
        modes.jpg_thumb

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

          Поправил свой пост выше.
          Исторически копий 2.
          Так сложилось из-за необходимости работы с Микротик, который не поддерживает UDP
          Эта копия - Site-to-Site.
          Вторая - Remote Acess SSl/TLS +User Auth.

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

            Понятно, значит Peer-to-Peer (SSL/TLS) - это как раз-таки Site-to-Site копия, именно для филиальных шлюзов (на linux и т.д.)?
            а Remote Access (SSL/TLS) именно для "виндовых" клиентов?

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

              Remote Access (SSL/TLS) именно для "виндовых" клиентов?

              Не совсем.

              Клиент (как удаленный "сервер-клиент так и физический пользователь) сможет подключится к любому типу сервера.
              Справедливо для любых ОС клиента

              Просто Remote Acess SSl/TLS сразу предлагает максимум доступных из GUI настроек, а +User Auth добавляет возможность задействовать имя\пароль.

              Резюме - к  Remote Acess SSl/TLS смогут подключится все, как удаленный "сервер-клиент, так и физический пользователь, при этом ОС на которой они работают значения не имеет.

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

                Значит, Remote Access (SSL/TLS) - мой выбор. На "виндовом" клиенте он у меня завёлся. Теперь нужно разобраться, как завести его на Linux-клиенте (Debian).

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

                  нужно разобраться, как завести его на Linux-клиенте (Debian).

                  В интернете зиллионы инструкций на эту тему.

                  Установите в  pfSense пакет OpenVPN Client Export Utility и через нее экспортируйте готовый конфиг практически для любого клиента, а для Windows утилита генерит готовый дистрибутив - с конфигом, сертификатми, ключами и всем необходимым софтом..

                  Понятно, значит Peer-to-Peer (SSL/TLS) - это как раз-таки Site-to-Site копия, именно для филиальных шлюзов (на linux и т.д.)?
                  а Remote Access (SSL/TLS) именно для "виндовых" клиентов?

                  Можно поступить и так. Получится 2 независимых сервера (на разных! портах) , которые можно включать\администрировать\управлять правилами на файрволле  по-отдельности. А можно обойтись одним, все зависит от вашего выбора, поставленных целей, дальнейшей перспективы использования.

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

                    Client Export Utility генерит серты под всё, кроме Linux (насколько я понял), поэтому тут нужно другим методом, как-то напрямую с pfSense генерить их, что я уже пробовал сделать, но почему-то не завелось

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

                      в Client Export Utility варианты
                      Archive
                      Config Only
                      Можно попробовать Others.

                      Дают конфиг, требующий минимальных правок.

                      Набор директив конфига на 99% не зависит от версии ОС
                      Расширение .ovpn сменить на .config

                      Сам  pfSense не генерит конфиги для клиента.

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

                        @pigbrother:

                        в Client Export Utility варианты
                        Archive
                        Config Only
                        Можно попробовать Others.

                        Дают конфиг, требующий минимальных правок.

                        Набор директив конфига на 99% не зависит от версии ОС
                        Расширение .ovpn сменить на .config

                        Сам  pfSense не генерит конфиги для клиента.

                        Если делать "Others", то он выдает один файл с расширением .ovpn, меняю расширение на .config и даю скушать Debian'у (клиенту) но выдает ошибку при старте OpenVPN:

                        root@stk-test:/etc/openvpn# service openvpn start
                        
                        Mar  2 17:45:25 stk-test ovpn-linux[13255]: Re-using SSL/TLS context
                        Mar  2 17:45:25 stk-test ovpn-linux[13255]: LZO compression initialized
                        Mar  2 17:45:25 stk-test ovpn-linux[13255]: Control Channel MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ]
                        Mar  2 17:45:25 stk-test ovpn-linux[13255]: Socket Buffers: R=[229376->131072] S=[229376->131072]
                        Mar  2 17:45:25 stk-test ovpn-linux[13255]: Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
                        Mar  2 17:45:25 stk-test ovpn-linux[13255]: Local Options hash (VER=V4): '41690919'
                        Mar  2 17:45:25 stk-test ovpn-linux[13255]: Expected Remote Options hash (VER=V4): '530fdded'
                        Mar  2 17:45:25 stk-test ovpn-linux[13255]: UDPv4 link local: [undef]
                        Mar  2 17:45:25 stk-test ovpn-linux[13255]: UDPv4 link remote: [AF_INET]MY_OPENVPNSERVER_IP:1197
                        Mar  2 17:46:25 stk-test ovpn-linux[13255]: TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
                        Mar  2 17:46:25 stk-test ovpn-linux[13255]: TLS Error: TLS handshake failed
                        Mar  2 17:46:25 stk-test ovpn-linux[13255]: TCP/UDP: Closing socket
                        Mar  2 17:46:25 stk-test ovpn-linux[13255]: SIGUSR1[soft,tls-error] received, process restarting
                        Mar  2 17:46:25 stk-test ovpn-linux[13255]: Restart pause, 2 second(s)
                        Mar  2 17:46:27 stk-test ovpn-linux[13255]: NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
                        Mar  2 17:46:27 stk-test ovpn-linux[13255]: Re-using SSL/TLS context
                        Mar  2 17:46:27 stk-test ovpn-linux[13255]: LZO compression initialized
                        Mar  2 17:46:27 stk-test ovpn-linux[13255]: Control Channel MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ]
                        Mar  2 17:46:27 stk-test ovpn-linux[13255]: Socket Buffers: R=[229376->131072] S=[229376->131072]
                        Mar  2 17:46:27 stk-test ovpn-linux[13255]: Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
                        Mar  2 17:46:27 stk-test ovpn-linux[13255]: Local Options hash (VER=V4): '41690919'
                        Mar  2 17:46:27 stk-test ovpn-linux[13255]: Expected Remote Options hash (VER=V4): '530fdded'
                        Mar  2 17:46:27 stk-test ovpn-linux[13255]: UDPv4 link local: [undef]
                        Mar  2 17:46:27 stk-test ovpn-linux[13255]: UDPv4 link remote: [AF_INET]MY_OPENVPNSERVER_IP:1197
                        Mar  2 17:47:27 stk-test ovpn-linux[13255]: TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
                        Mar  2 17:47:27 stk-test ovpn-linux[13255]: TLS Error: TLS handshake failed
                        Mar  2 17:47:27 stk-test ovpn-linux[13255]: TCP/UDP: Closing socket
                        Mar  2 17:47:27 stk-test ovpn-linux[13255]: SIGUSR1[soft,tls-error] received, process restarting
                        Mar  2 17:47:27 stk-test ovpn-linux[13255]: Restart pause, 2 second(s)
                        Mar  2 17:47:29 stk-test ovpn-linux[13255]: NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
                        Mar  2 17:47:29 stk-test ovpn-linux[13255]: Re-using SSL/TLS context
                        Mar  2 17:47:29 stk-test ovpn-linux[13255]: LZO compression initialized:138 EF:38 EB:0 ET:0 EL:0 ]
                        Mar  2 17:47:29 stk-test ovpn-linux[13255]: Socket Buffers: R=[229376->131072] S=[229376->131072]
                        Mar  2 17:47:29 stk-test ovpn-linux[13255]: Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
                        Mar  2 17:47:29 stk-test ovpn-linux[13255]: Local Options hash (VER=V4): '41690919'
                        Mar  2 17:47:29 stk-test ovpn-linux[13255]: Expected Remote Options hash (VER=V4): '530fdded'
                        Mar  2 17:47:29 stk-test ovpn-linux[13255]: UDPv4 link local: [undef]
                        Mar  2 17:47:29 stk-test ovpn-linux[13255]: UDPv4 link remote: [AF_INET]MY_INET_IP:1197
                        Mar  2 17:48:29 stk-test ovpn-linux[13255]: TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
                        Mar  2 17:48:29 stk-test ovpn-linux[13255]: TLS Error: TLS handshake failed
                        Mar  2 17:48:29 stk-test ovpn-linux[13255]: TCP/UDP: Closing socket
                        Mar  2 17:48:29 stk-test ovpn-linux[13255]: SIGUSR1[soft,tls-error] received, process restarting
                        Mar  2 17:48:29 stk-test ovpn-linux[13255]: Restart pause, 2 second(s)
                        Mar  2 17:48:31 stk-test ovpn-linux[13255]: NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
                        Mar  2 17:48:31 stk-test ovpn-linux[13255]: Re-using SSL/TLS context
                        Mar  2 17:48:31 stk-test ovpn-linux[13255]: LZO compression initialized
                        Mar  2 17:48:31 stk-test ovpn-linux[13255]: Control Channel MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ]
                        Mar  2 17:48:31 stk-test ovpn-linux[13255]: Socket Buffers: R=[229376->131072] S=[229376->131072]
                        Mar  2 17:48:31 stk-test ovpn-linux[13255]: Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
                        Mar  2 17:48:31 stk-test ovpn-linux[13255]: Local Options hash (VER=V4): '41690919'
                        Mar  2 17:48:31 stk-test ovpn-linux[13255]: Expected Remote Options hash (VER=V4): '530fdded'
                        Mar  2 17:48:31 stk-test ovpn-linux[13255]: UDPv4 link local: [undef]
                        Mar  2 17:48:31 stk-test ovpn-linux[13255]: UDPv4 link remote: [AF_INET]MY_OPENVPNSERVER_IP:1197
                        Mar  2 17:49:31 stk-test ovpn-linux[13255]: TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
                        Mar  2 17:49:31 stk-test ovpn-linux[13255]: TLS Error: TLS handshake failed
                        Mar  2 17:49:31 stk-test ovpn-linux[13255]: TCP/UDP: Closing socket
                        Mar  2 17:49:31 stk-test ovpn-linux[13255]: SIGUSR1[soft,tls-error] received, process restarting
                        Mar  2 17:49:31 stk-test ovpn-linux[13255]: Restart pause, 2 second(s)
                        
                        
                        1 Reply Last reply Reply Quote 0
                        • P
                          pigbrother
                          last edited by

                          Редактировать конфиг клиента вам, увы, придется самому.
                          В сети тысячи мануалов по настройке Open VPN для любых Линукс. Со стороны pfSense Open VPN-сервер совершенно стандартен.

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

                            Доброе.
                            Покажите конфиг Вашего клиента.

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

                              Добрый день! Проверьте настройки пользователя (которому предоставлен доступ к ВПН) в части User Certificates. У вас скорее всего не совпадают настройки (Key length и\или Digest Algorithm) в сертификате пользователя и сервера ВПН (DH Parameters Length и\или Auth Digest Algorithm).

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

                                Добрый вечер, два дня штудировал темы про openvpn, однако все в полном объеме настроить не удалось.
                                Начну из далека, вот попалась эту фраза:

                                Понятно, значит Peer-to-Peer (SSL/TLS) - это как раз-таки Site-to-Site копия, именно для филиальных шлюзов (на linux и т.д.)?
                                а Remote Access (SSL/TLS) именно для "виндовых" клиентов?

                                Можно поступить и так. Получится 2 независимых сервера (на разных! портах) , которые можно включать\администрировать\управлять правилами на файрволле  по-отдельности. А можно обойтись одним, все зависит от вашего выбора, поставленных целей, дальнейшей перспективы использования.

                                В связи с этим возник вопрос есть ли проверенный вариант настроек когда поднято ДВА openvpn сервера, один Peer-to-Peer (shared key) по которому объединены две сети (192.168.1.0/24 - главная сеть и 192.168.87.0/24 - удаленная, а второй openvpn сервер Remote access SSL/TSL для мобильных клиентов.
                                Планирую подключить к главной еще одну удаленную есть и важно обеспечить обмен данными между всеми сетями и клиентами, не зависимо кто где находится и как подключен.
                                На стороне удаленных сетей использую роутер с прошивкой http://tomato.groov.pl/
                                В главной сети есть еще одна типа DMZ сеть - 192.168.12.0/24 - web сервер- это для справки.

                                Проблема в том, что мобильные клиенты не могут получить доступ в удаленную сеть. Из главной сети в удаленную и обратно все бегает.
                                Как я понял не создается маршрут вторым сервером в удаленную сеть или должна образоваться связь между openvpn серверами? но её так же нет в роутах, так же как и нет связи между мобильными клиентами.
                                Скрины ниже, wan порты открыты, т.е. сам канал поднимается, в логах криминала не наблюдаю.
                                Куда копать помогите пожалуйста.

                                Openvpn.JPG
                                Openvpn.JPG_thumb
                                ![????????? ??????? peer to peer (shared key)1.JPG](/public/imported_attachments/1/????????? ??????? peer to peer (shared key)1.JPG)
                                ![????????? ??????? peer to peer (shared key)1.JPG_thumb](/public/imported_attachments/1/????????? ??????? peer to peer (shared key)1.JPG_thumb)
                                ![????????? ??????? Remote Access (SSL_TLS)1.JPG](/public/imported_attachments/1/????????? ??????? Remote Access (SSL_TLS)1.JPG)
                                ![????????? ??????? Remote Access (SSL_TLS)1.JPG_thumb](/public/imported_attachments/1/????????? ??????? Remote Access (SSL_TLS)1.JPG_thumb)
                                ![????????? ??????? Remote Access (SSL_TLS)2.JPG](/public/imported_attachments/1/????????? ??????? Remote Access (SSL_TLS)2.JPG)
                                ![????????? ??????? Remote Access (SSL_TLS)2.JPG_thumb](/public/imported_attachments/1/????????? ??????? Remote Access (SSL_TLS)2.JPG_thumb)
                                ![????????? ??????? Remote Access (SSL_TLS)3.JPG](/public/imported_attachments/1/????????? ??????? Remote Access (SSL_TLS)3.JPG)
                                ![????????? ??????? Remote Access (SSL_TLS)3.JPG_thumb](/public/imported_attachments/1/????????? ??????? Remote Access (SSL_TLS)3.JPG_thumb)
                                ???????????.JPG
                                ???????????.JPG_thumb
                                ![Client Specific Override.JPG](/public/imported_attachments/1/Client Specific Override.JPG)
                                ![Client Specific Override.JPG_thumb](/public/imported_attachments/1/Client Specific Override.JPG_thumb)
                                Routes.JPG
                                Routes.JPG_thumb
                                ![Rules LAN.JPG](/public/imported_attachments/1/Rules LAN.JPG)
                                ![Rules LAN.JPG_thumb](/public/imported_attachments/1/Rules LAN.JPG_thumb)
                                ![Rules OpenVPN.JPG](/public/imported_attachments/1/Rules OpenVPN.JPG)
                                ![Rules OpenVPN.JPG_thumb](/public/imported_attachments/1/Rules OpenVPN.JPG_thumb)
                                ![?????? ?3_1.JPG](/public/imported_attachments/1/?????? ?3_1.JPG)
                                ![?????? ?3_1.JPG_thumb](/public/imported_attachments/1/?????? ?3_1.JPG_thumb)
                                ![?????? ?3_2.JPG](/public/imported_attachments/1/?????? ?3_2.JPG)
                                ![?????? ?3_2.JPG_thumb](/public/imported_attachments/1/?????? ?3_2.JPG_thumb)

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

                                  Не вижу в client specific overrides директивы iroute или записи в IPv4 Remote Network с указанием сети за  клиентом.

                                  iroute х.х.1.х 255.255.255= IPv4 Remote Network х.х.1.х/24

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

                                    @pigbrother:

                                    Не вижу в client specific overrides директивы iroute или записи в IPv4 Remote Network с указанием сети за  клиентом.

                                    iroute х.х.1.х 255.255.255= IPv4 Remote Network х.х.1.х/24

                                    Дописал в client specific overrides для одного из клиентов - результат нуль, прикладываю файл с скриншотом.
                                    Более того сегодня днем обнаружил, что из главной сети не могу пропинговать машины в удаленной сети, вчера поскольку машины все были выключены проверял связь между сетями только через наличие доступа к вебморде роутера, т. е. к админке роутера из главной сети доступ есть, а дальше нет. маршруты на роутере так же прилагаю.
                                    Какой-то ступор…

                                    ![Routes-tomato router.JPG_thumb](/public/imported_attachments/1/Routes-tomato router.JPG_thumb)
                                    ![Routes-tomato router.JPG](/public/imported_attachments/1/Routes-tomato router.JPG)
                                    ![Client ?2.JPG_thumb](/public/imported_attachments/1/Client ?2.JPG_thumb)
                                    ![Client ?2.JPG](/public/imported_attachments/1/Client ?2.JPG)

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

                                      Добрый день! В настройках

                                      второй openvpn сервер Remote access SSL/TSL для мобильных клиентов

                                      В разделе Tunnel Settings -> IPv4 Local Network/s допишите через запятую в какие сети хотите предоставить доступ аля: 192.168.1.0/24,192.168.12.0/24,(remoute network/mask)
                                      А из раздела Advanced Settings -> Advanced  удалите всю "какафонию" с роутами.
                                      После, сделайте реконнект мобильных клиентов и посмотрите роуты на клиентах (или просто доступность что пытали открыть)
                                      И покажите пожалуйста правила фаервола для DMZ (чтоб понимать картину происходящего)

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

                                        @timon12:

                                        Добрый день! В настройках

                                        второй openvpn сервер Remote access SSL/TSL для мобильных клиентов

                                        В разделе Tunnel Settings -> IPv4 Local Network/s допишите через запятую в какие сети хотите предоставить доступ аля: 192.168.1.0/24,192.168.12.0/24,(remoute network/mask)
                                        А из раздела Advanced Settings -> Advanced  удалите всю "какафонию" с роутами.
                                        После, сделайте реконнект мобильных клиентов и посмотрите роуты на клиентах (или просто доступность что пытали открыть)
                                        И покажите пожалуйста правила фаервола для DMZ (чтоб понимать картину происходящего)

                                        Уточните пожалуйста куда внести правки.
                                        У меня два openvpn сервера, в настройках сервера peer to peer все указано, в настройке remote access так же указаны локальные сети 192.168.1.0/24 и 192.168.12.0/24.
                                        На клиентских настройках client cpecific overrides в разделе IPv4 Local Network/s - 192.168.1.0/24 в разделе advanced push "route 192.168.1.0 255.255.255.0";push "route 192.168.87.0 255.255.255.0";push "route 192.168.12.0 255.255.255.0"; что по сути одно и то же. Клиенты получают маршруты во все указанные сети, но доступа кроме главной сети нет. Я понял так, что у меня не прописывается маршрут на сервере ovpns2, на скриншоте ROUTES видно, что нет маршрута связывающего сеть 10.0.16.0/24 с сетью 192.168.87.0/24

                                        DMZ.JPG_thumb
                                        DMZ.JPG

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

                                          В связи с этим возник вопрос есть ли проверенный вариант настроек когда поднято ДВА openvpn сервера, один Peer-to-Peer (shared key) по которому объединены две сети (192.168.1.0/24 - главная сеть и 192.168.87.0/24 - удаленная, а второй openvpn сервер Remote access SSL/TSL для мобильных клиентов.

                                          Из своего опыта, у меня 2 офисса, между ними два канала от провайдеров, по каждому каналу поднят отдельный  openvpn сервер  Peer-to-Peer (shared key) (т.е 2 шт) и поверх этих openvpn серверов настроенно Quagga OSPF. Плюс на главном офиссе еще есть 2 openvpn сервер Remote access SSL/TSL для мобильных клиентов. И все прекрасно работает, мобильные лиенты видят удаленный офис.

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

                                          В настроках openvpn сервера для мобильных клиентов (см скрин):
                                          В разделе Tunnel Settings -> IPv4 Local Network/s допишите через запятую в какие сети хотите предоставить доступ аля: 192.168.1.0/24,192.168.12.0/24,192.168.87.0/24. Пускай openvpn сервер сам определяет маршрутизацию. И удалите advanced push "route 192.168.1.0 255.255.255.0";push "route 192.168.87.0 255.255.255.0";push "route 192.168.12.0 255.255.255.0" - стоит попробывать.

                                          ![Remote Access (SSL_TLS)2.jpg](/public/imported_attachments/1/Remote Access (SSL_TLS)2.jpg)
                                          ![Remote Access (SSL_TLS)2.jpg_thumb](/public/imported_attachments/1/Remote Access (SSL_TLS)2.jpg_thumb)

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

                                            Доброе.

                                            2 Tano
                                            Снимите галку с Server definitions в Client Specific …
                                            Покажите скрины Certificates на pfsense

                                            т. е. к админке роутера из главной сети доступ есть, а дальше нет

                                            У всех машин в удал. сети шлюзом должен быть роутер с tomato. Проверьте этот момент.
                                            И исп. команду tracert для понимания , где в прохождение пакетов затык.

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