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

    Присвоение статических адресов клиента OpenVP

    Scheduled Pinned Locked Moved Russian
    9 Posts 5 Posters 5.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.
    • O
      olnn
      last edited by

      Добрый день! Подскажите как можно присваивать постоянные статические адреса клиентам OpenVPN.
      Привязка адреса должна быть связана с логином пользователя.

      1 Reply Last reply Reply Quote 0
      • O
        olnn
        last edited by

        В разделе OpenVPN: Client Specific Override
        добавил пользователя и добавил в Advanced      ifconfig-push 192.168.120.210 192.168.120.1;
        Ip адрес стал присваиваться - но соединение не устанавливается, у клиента пишет TUN_SETUP_FAILED tun_prop_error; ifconfig addresses are not in the same /30 subnet. хотя адрес OpenVPN 192.168.120.1 и обычным клиентам присваивается начиная с 192.168.120.2

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

          .210 и .1 не попадают в одну /30 подсеть. Используйте topology subnet в Advanced сервера, если sever mode не Peer to Peer ( Shared Key ), но будет ли работать - зависит от клиента.

          1 Reply Last reply Reply Quote 0
          • O
            olnn
            last edited by

            Спасибо да помогло
            Попробовал ip 192.168.120.2 - работает. не понял но как поменять маску на другую

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

              Привязка адреса должна быть связана с логином пользователя

              Использовал это:
              https://forum.pfsense.org/index.php?topic=98884.0#msg550937

              OpenVPN->Client Specific Override->Tunnel Network
              задаем клиенту подсеть /30
              192.168.2.8/30  (клиент получит адрес .10)
              192.168.2.12/30 (клиент получит адрес .14)
              192.168.2.16/30 (клиент получит адрес .18)
              192.168.2.20/30 (клиент получит адрес .22)
              192.168.2.24/30 (клиент получит адрес .26)
              …......

              192.168.2.0/24 - IPv4 Tunnel Network в настройках сервера.

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

              http://www.sergeysl.ru/freebsd-openvpn-client-static-ip/
              http://kickself.com/openvpn-privyazka-ip-klienta-k-cn-ego-sertifikata-ip-to-certificate-binding/

              ifconfig-pool-persist /usr/local/etc/openvpn/ipp.txt 0

              и в файле написать

              имя_сертификата,(!)адрес
              samara1,10.6.63.6
              samara2,10.6.63.10
              samara3,10.6.63.14
              samara4,10.6.63.18
              samara5,10.6.63.22
              samara6,10.6.63.26

              Но сам не пробовал

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

                @pigbrother:

                Как сделать пул зарезервированных адресов было бы интересно самому..

                Есть же документация от OpenVPN. Находим описание ifconfig-pool-persist ipp.txt, пробуем. В advance добавляем:

                
                ifconfig-pool-persist /conf/ovpns1.ipp
                
                

                И работает… Единственное что мне не понятно, почему у меня привязка с CN сертификата пользователя?
                И нужно ли переводить лист в режим только для чтения(ifconfig-pool-persist /conf/ovpns1.ipp 0)

                1 Reply Last reply Reply Quote 0
                • O
                  olnn
                  last edited by

                  Всем спасибо!
                  Все получилось

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

                    @olnn:

                    Всем спасибо!
                    Все получилось

                    Как именно ? Можно ли описать. Спасибо.

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

                      Сервер с topology subnet
                      Добавил в Advanced сервера

                      ;ifconfig-pool-persist /../../ips.list

                      В ips.list:

                      user1,10.11.11.20
                      user2,10.11.11.77

                      В логе OVPN появилось следующее:

                      openvpn[64176]:    ifconfig_pool_read(), in='user1,10.11.11.20', TODO: IPv6
                      Apr 7 09:49:51 openvpn[64176]: succeeded -> ifconfig_pool_set()
                      Apr 7 09:49:51 openvpn[64176]: ifconfig_pool_read(), in='user2,10.11.11.77', TODO: IPv6
                      Apr 7 09:49:51 openvpn[64176]: succeeded -> ifconfig_pool_set()

                      Т.е сервер, похоже, реально резервирует адреса.
                      user1 и user2 стали получать назначенные адреса.
                      Адреса остальных пользователей автоматически добавляются сервером  в ips.list при подключении и, вероятно, закрепляются за ними.
                      Редактировать  ips.list можно при остановленном экземпляре OVPN-сервера\при гарантированном отсутствии подключений. Иначе при запущенном сервере получить ошибку - порт занят, сервер падает и не запускается (видно в логе). Помогает перезагрузка pfSense.

                      И нужно ли переводить лист в режим только для чтения(ifconfig-pool-persist /conf/ovpns1.ipp 0)

                      Вероятно - нужно. Мануал говорит так:

                      –ifconfig-pool-persist file [seconds]
                                    Persist/unpersist ifconfig-pool data to file, at seconds intervals (default=600), as well as on program startup and shutdown.The goal of this option is to provide a long-term association between clients (denoted by their common name) and the virtual IP address as‐signed  to  them from the ifconfig-pool.  Maintaining a long-term association is good for clients because it allows them to effectively use the –persist-tun option.
                                    file is a comma-delimited ASCII file, formatted as <common-name>,<ip-address>.
                                    If seconds = 0, file will be treated as read-only.  This is useful if you would like to treat file as a configuration file.
                      Однако:

                      Note that the entries in this file are treated by OpenVPN as suggestions only, based on past associations between a common name and IP  address.  They do not guarantee that the given common name will always receive the given IP address.  If you want guaranteed assignment, use
                                    --ifconfig-push</ip-address></common-name>

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