• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login
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 Offline
    olnn
    last edited by Feb 10, 2016, 8:44 AM

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

    1 Reply Last reply Reply Quote 0
    • O Offline
      olnn
      last edited by Feb 10, 2016, 11:00 AM

      В разделе 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 Offline
        rubic
        last edited by Feb 10, 2016, 11:15 AM

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

        1 Reply Last reply Reply Quote 0
        • O Offline
          olnn
          last edited by Feb 10, 2016, 12:03 PM

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

          1 Reply Last reply Reply Quote 0
          • P Offline
            pigbrother
            last edited by Feb 10, 2016, 6:03 PM Feb 10, 2016, 1:45 PM

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

            Использовал это:
            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 Offline
              Scodezan
              last edited by Feb 10, 2016, 6:08 PM Feb 10, 2016, 6:03 PM

              @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 Offline
                olnn
                last edited by Feb 16, 2016, 2:34 PM

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

                1 Reply Last reply Reply Quote 0
                • W Offline
                  werter
                  last edited by Feb 16, 2016, 2:39 PM

                  @olnn:

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

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

                  1 Reply Last reply Reply Quote 0
                  • P Offline
                    pigbrother
                    last edited by Apr 7, 2016, 4:56 PM Apr 7, 2016, 7:03 AM

                    Сервер с 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.
                      [[user:consent.lead]]
                      [[user:consent.not_received]]