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

    OpenVPN server. Пример настройки.

    Scheduled Pinned Locked Moved Russian
    27 Posts 3 Posters 8.0k 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.
    • S
      StanislawK
      last edited by

      Итак.

      У нас есть головной офис. (верхняя часть картинки).

      в головном офисе есть pfsense gateway.
      "сервер" 192.168.10.2  отдающий html страничку
      workstation 192.168.10.33 - рабочее место

      У нас есть удаленный офис.
      workstation 192.168.20.32 - рабочее место

      У нас есть "мобильные пользователи с ноутбуками."

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

      Тестовый мир выглядит примерно так:

      0000.jpg
      0000.jpg_thumb

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

        1 Первым делом создаем корневой СА сертификат.

        System-> Cert Manager

        1.1 Создаем корневой сертификат.

        http://192.168.10.1/system_camanager.php

        Нажимаем "Плюс", [[i]add ot import ca]

        0001.jpg
        0001.jpg_thumb
        0002.jpg
        0002.jpg_thumb

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

          Имея СА выпустим сертификаты для службы впн сервера.

          0003.jpg
          0003.jpg_thumb
          0004.jpg
          0004.jpg_thumb

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

            для pfsense в удаленном офисе

            0005.jpg
            0005.jpg_thumb

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

              для мобильного пользователя.

              _в нашем примере это будет комп windows xp sp3 x86 32b с установленным актуальным на сегодня openvpn клиентом. однако для айфона, андроида  линукса или др. процедура не отличается.

              главное правило: один сертификат = один клиент.
              каждому устройству один персональный сертификат.
              один человек два устройства - два разных сертификата._

              0006.jpg
              0006.jpg_thumb

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

                получилось так:

                0007.jpg
                0007.jpg_thumb

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

                  Настал момент, когда пора уже настроить OpenVPN server.

                  0008.jpg
                  0008.jpg_thumb
                  0009.jpg
                  0009.jpg_thumb
                  0010.jpg
                  0010.jpg_thumb
                  0011.jpg
                  0011.jpg_thumb
                  0012.jpg
                  0012.jpg_thumb

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

                    Настроим клиентов.

                    из уважения, первым удаленный офис.

                    Указывая параметр Tunnel Network: 10.0.0.4/30  мы закрепляем за этим клиентом IP адрес, для нашего удобства.

                    В разделе Advanced дополнительно прописываем маршрутизацию.
                    Эти параметры применятся когда "поднимется" связь с удаленным офисом, тогда оба маршрутизатора узнают что с этой стороны находится локальная сеть с адресами 192.168.10.0/24, а с той стороны локальная сеть с адресами 192.168.20.0/24.  маршрутизаторы построят правильные маршруты и начнут правильно отправлять пакеты.

                    0013.jpg
                    0013.jpg_thumb
                    0014.jpg
                    0014.jpg_thumb

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

                      мобильный клиент.

                      как видно, добавляется точно так же.

                      В разделе Advanced дополнительно прописываем маршрутизацию.

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

                      0015.jpg
                      0015.jpg_thumb
                      0016.jpg
                      0016.jpg_thumb

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

                        Если еще нету, устанавливаем пакет "OpenVPN Client Export Utility"

                        0100.jpg
                        0100.jpg_thumb

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

                          Экспортируем настройки

                          Если у клиента уже установлен OpenVPN, можно скачать только конфиг.

                          Я предпочитаю Inline Configurations: Others

                          Вся конфигурация VPN клиента и необходимые сертификаты в одном файле.

                          Для использования этой конфигурации с windows openvpn клиентом его достаточно перенести в папку "C:\Program Files\OpenVPN\config"

                          Экспортируем - это значит что, мы взяли одну usb флешку, и сохранили на неё конфиг впн одного клиента.
                          взяли вторую флешку. сохранили на нее конфиг впн другого клиента.
                          одна флешка - один клиент.
                          и еще в архиве под паролем
                          чтобы случайно не потерять в бесконтрольное путешествие весьма и весьма секретную информацию.

                          0017.jpg
                          0017.jpg_thumb
                          0018.jpg
                          0018.jpg_thumb

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

                            Не забываем разрешить трфик. Firewall.

                            1. на wan интерфейсе  разрешить входящие соединения к службе OpenVPN server.

                            2. собственно трафик внутри впн тунеля.
                            2.1 трафик  TCP/UDP - для полезных данных.
                            2.2 трафик ICMP - для пингов.

                            0019.jpg
                            0019.jpg_thumb
                            0020.jpg
                            0020.jpg_thumb

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

                              все выше написанное было проделано "сидя" за компом в головном офисе.
                              на плане он обозначен как 192.168.10.33.

                              пользуясь случаем заглянем на сервер 192.168.10.2.

                              0021.jpg
                              0021.jpg_thumb

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

                                Настраиваем удаленный доступ на ноутбуке.
                                на ноутбуке у нас windows xp. sp3  32 bit.
                                скачиваем соответствующий openvpn
                                устанавливаем.

                                Теперь мы берем соответствующую usb флешку, подключаем к мобильному клиенту.
                                достаем из запароленного архива и переносим конфиг клиента, инлайн, (файл с настройками) в
                                "C:\Program Files\OpenVPN\config"

                                на слайде 203 видно что после установки впн соединения добавилось два маршрута.
                                на слайде 204 видно что появилась связь с сервером 192.168.10.2

                                0201.jpg
                                0201.jpg_thumb
                                0202.jpg
                                0202.jpg_thumb
                                0203.jpg
                                0203.jpg_thumb
                                0204.jpg
                                0204.jpg_thumb

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

                                  Немного о безопасности.

                                  предположим у нас был сотрудник с ноутбуком, в поездке ноутбук украли. Сотрудник ответственно отнесся и не забыл нас известить.  У нас конечно всем сертификатам даются разумные имена, по которым мы легко опознаем кому какой выдан. Или ведется тетрадочка-табличка реестр соответствия.
                                  Мы заглянули в такую тетрадочку и видим что утерянный сертификат выпущен нашим СА и называется epic-fail.

                                  Мы "идем" в pfsense System: Certificate Manager

                                  Внимание! НЕ УДАЛЯЕМ этот скомпрометированный сертификат. он должен остаться у нас.

                                  Открываем раздел "отзыв плохих сертификатов", System: Certificate Revocation List Manager

                                  Создаем список отзыва. (у каждого корневого СА сертификата свой список отзыва.)
                                  Создаем, открываем. добавляем в него сертификат, и указываем причину отзыва.

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

                                  0900.jpg
                                  0900.jpg_thumb
                                  0901.jpg
                                  0901.jpg_thumb
                                  0902.jpg
                                  0902.jpg_thumb
                                  0903.jpg
                                  0903.jpg_thumb
                                  0904.jpg
                                  0904.jpg_thumb
                                  0905.jpg
                                  0905.jpg_thumb
                                  0906.jpg
                                  0906.jpg_thumb

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

                                    Еще о безопасности.

                                    Предположим сотрудник с ноутбуком пошел в отпуск. И нам нужно временно заблокировать доступ.

                                    Можно отозвать сертификат, добавить его в сertificate Revocation List,  а потом убрать. но идеологически более правильно временные запреты реализовать всего одной галкой в настройках впн - Client Specific Override.
                                    Block this client connection based on its common name. .

                                    0907.jpg
                                    0907.jpg_thumb

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

                                      Настройка соединения pfsense-pfsense такая же простая как и pfsense-openvpn хотя и несколько отличается от.

                                      Эти действия делаются на pfsense  в удаленном офисе.

                                      Мы воспользовались "OpenVPN Client Export Utility" и выгрузили себе  Inline Configurations
                                      из него нам нужно извлечь.

                                      1. открытый ключ СА
                                      2. открытый ключ именного сертификата
                                      3. закрытый, приватный, ключ именного сертификата.

                                      для этого любым текстовым редактором открываем его на просмотр.
                                      находим текст между тэгами <ca><cert>и <key>Открываем на 192.168.20.1 (pfsense удаленного офиса)  Certificate Authority Manager  и добавляем новый СА сертификат.
                                      во избежание путаницы, названием задаем такое же как у CA сертификата в головном офисе - "My-root-CA".
                                      метод - импорт.  из текстового редактора переносим и вставляем только открытую часть.  (между <ca></ca>)

                                      Открываем Certificate Manager и импортируем сертификат.
                                      во избежание путаницы, названием задаем такое же как у сертификата в головном офисе - "remote-network".
                                      метод - импорт.  из текстового редактора по одной переносим и вставляем, обе части.  <cert>и <key>соответственно.

                                      0300.jpg
                                      0300.jpg_thumb
                                      0301.jpg
                                      0301.jpg_thumb
                                      0302.jpg
                                      0302.jpg_thumb
                                      0303.jpg
                                      0303.jpg_thumb
                                      0304.jpg
                                      0304.jpg_thumb</key></cert></key></cert></ca>

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

                                        Настраиваем OpenVPN клиента.

                                        В головном офисе сервер, подключаемся из удаленного в режиме клиента. Его и настраиваем.
                                        прописываем IP и порт сервера.
                                        TLS Authentication  копируем с VPN сервера.

                                        Выбираем Peer Certificate Authority, Client Certificate,
                                        Выбираем такой же как на сервере Encryption algorithm
                                        Так же как и на сервере ставим галочку Compression.
                                        Остальные настройки по умолчанию, не заполняем.
                                        При установлении соединения клиент получит их с сервера.

                                        0305.jpg
                                        0305.jpg_thumb
                                        0306.jpg
                                        0306.jpg_thumb
                                        0307.jpg
                                        0307.jpg_thumb

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

                                          После нажатия кнопки save параметры применяются и сразу же устанавливается соединение.
                                          OpenVPN клиент получает настройки от сервера. ip адрес тунеля и маршрут в сеть головного офиса.

                                          Создаем разрешающее правило firewall
                                          Проверяем что есть связь с сервером в головном офисе. Открываем страничку, пингуем.

                                          0308.jpg
                                          0308.jpg_thumb
                                          0309.jpg
                                          0309.jpg_thumb
                                          0310.jpg
                                          0310.jpg_thumb
                                          0311.jpg
                                          0311.jpg_thumb
                                          0312.jpg
                                          0312.jpg_thumb

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

                                            Повторюсь еще раз.

                                            Для доступа из сети за сервером в сеть за клиентом на сервере в fw на LAN необходимо создать явное разрешающее правило вида :

                                            * LAN net * remote_net * * *

                                            Поставить его самым первым (в зав-ти от условий, конечно). Можно и во Floating rules впихнуть вместо lan.

                                            Это особенность 2.1.х и новее.

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