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

    Резервирование адреса в DHCP из диапазона раз

    Scheduled Pinned Locked Moved Russian
    29 Posts 5 Posters 11.6k 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.
    • D
      dvserg
      last edited by

      @Lexuz:

      @dvserg:

      На сколько видел в примерах конфигурации DHCPD резервирование из диапазона технически возможно.

      Прямым путем из веб-интерфейса или обходным, типа "you may remove the input validation check from the PHP file that drives the DHCP editor page."?

      @dvserg:

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

      Вот я честно говоря не понял толком (очень "хорошо" видимо английский понимаю) что это за условия такие, в которых резерв может не сработать? Не могли бы Вы мне пояснить это в двух словах?

      1. "you may remove the input validation check from the PHP file that drives the DHCP editor page." - нужно закомментировать валидатор в php.
      2. сам не до конца понял, разберусь - скажу.

      SquidGuardDoc EN  RU Tutorial
      Localization ru_PFSense

      1 Reply Last reply Reply Quote 0
      • A
        a.kozlov
        last edited by

        @Lexuz:

        @a.kozlov:

        … могу предложить использовать ISC DHCP server. Там все конфигурится руками, и со своими задачами справляется более, чем на 5+.

        http://www.isc.org/software/dhcp   он? Хотелось бы иметь все в одной коробочке и с централизованным управлением типа пф-вовского веб-интерфейса. А при использовании ISC DHCP server, как я понимаю, придется еще один ящик ставить, что с точки зрения надежности вроде как логично (один сервис - один сервер), но вроде уже и не такой высоконагруженный сервис, чтобы под него отдельный ящик ставить.

        Да, он. Если железо, на котором крутиться pfSense нормальное, то можешь и тут развернуть. DHCP не тот сервис под который надо отдельную машину заводить…

        @nomeron:

        Я в пф dhcp попробовал и отказался очень быстро. Неудобно настраивать и нет гибкости.
        Основная конфигурация висит у меня на ubuntu.
        Под ubuntu 10.04 с dhcpd никаких проблем нет. Там диапазоны задаются произвольные. И вроде дублирующихся адресов нет. Но у меня очень большие сроки аренды. У клиентов адреса практически неизменны.
        От windows пришлось отойти из-за того, что когда сервер обслуживает несколько физических подсетей, адрес при изменении сети не меняется (и простые методы типа ipconfig /release и отключение\включение адаптера не помогают)

        Вот с этим согласен. Для серьезных инсталяций, родной DHCP сервер не очень подходит. Единственное, когда 1 сервер обслуживает несколько подсетей, то тут уже VLANами попахивает со всеми вытекающими..но это уже другая тема.

        1 Reply Last reply Reply Quote 0
        • N
          nomeron
          last edited by

          VLANами попахивает со всеми вытекающими..но это уже другая тема.

          Под это и делалось. Еще попахивает релеями + option 60, чтобы желающих поднять свой сервер обрезать.
          Для web интерфейса dhcp можно использовать Webmin, там такой модуль есть.
          Но на практике оказалось удобнее править файл конфигурации вручную (у Webmin такая возможность тоже есть)

          1 Reply Last reply Reply Quote 0
          • N
            nomeron
            last edited by

            У DHCP сервера имеется внутренняя база аренды адресов и база резервированных адресов по MAC. При обращении клиента берется свободный IP адрес по базе выданных, либо IP из резерва согласно MAC клиента.
            За наличие других DHCP серверов в сети, либо статических адресов DHCP сервер ответственности не несет, это задача админа сети.

            У меня сложилось мнение, что некоторые реализации dhcp  пытаются все таки определить занятые адреса двумя путями.
            1. icmp ping
            2. анализ текущей таблицы arp

            1 Reply Last reply Reply Quote 0
            • D
              dvserg
              last edited by

              1. Да, таки пытаются (Conflict Detection Attempts). Вот подтверждение http://adminbook.ru/index.php?men3=4/17

              Вот поведение для Виндового сервера DHCP, но думаю актуально и для других.

              По умолчанию сервер проверяет только список адресов, уже выданных в аренду. Сеть не опрашивается для получения списка используемых адресов. В то же время в интенсивно работающей сети этот адрес может быть присвоен другому компьютеру администратором, или же к сети может подключиться компьютер с неистекшим сроком аренды, хотя сервер DHCPсчитает срок истекшим. В любом случае происходит конфликт адресов, вызывающий проблемы в сети. Чтобы этого не случалось, задайте число попыток распознавания конфликтов больше 0.

              SquidGuardDoc EN  RU Tutorial
              Localization ru_PFSense

              1 Reply Last reply Reply Quote 0
              • N
                nomeron
                last edited by

                По поводу dhcp в пф ситуация видимо плачевная
                Вся конфигурация храниться в config.xml                           
                И параметр <range>не является массивом.     
                Значит выбросы будет крайне трудно сделать модификацией кода services_dhcp.php

                <dhcpd><opt1><range><from>192.168.1.240</from>
                                                <to>192.168.1.245</to></range>
                                        <defaultleasetime><maxleasetime><netmask></netmask>
                                        <failover_peerip><gateway>192.168.1.1</gateway>
                                        <domain><domainsearchlist><ddnsdomain><tftp><ldap><next-server><filename><rootpath><numberoptions><dnsserver>192.168.1.1</dnsserver></numberoptions></rootpath></filename></next-server></ldap></tftp></ddnsdomain></domainsearchlist></domain></failover_peerip></maxleasetime></defaultleasetime></opt1></dhcpd></range>

                1 Reply Last reply Reply Quote 0
                • D
                  dvserg
                  last edited by

                  @nomeron:

                  По поводу dhcp в пф ситуация видимо плачевная
                  Вся конфигурация храниться в config.xml                           
                  И параметр <range>не является массивом.     
                  Значит выбросы будет крайне трудно сделать модификацией кода services_dhcp.php</range>

                  Не понятно, объясните что значит выбросы? Какова цель?

                  SquidGuardDoc EN  RU Tutorial
                  Localization ru_PFSense

                  1 Reply Last reply Reply Quote 0
                  • N
                    nomeron
                    last edited by

                    Я имел в виду, что если адрес нельзя зарезервировать, то можно по крайней мере его просто не выдавать. В виндовс это исключением вроде называется.
                    В dhcpd просто несколько диапазонов задается. Вот это я выбросом из диапазона и назвал.

                    1 Reply Last reply Reply Quote 0
                    • N
                      nomeron
                      last edited by

                      Что убрать проверку на вхождения адреса в диапазон, надо в services_dhcp.php
                      закомментировать следующий кусок кода (с 309 строки)
                      if (is_array($a_maps)) {
                      foreach ($a_maps as $map) {
                      if (empty($map['ipaddr']))
                      continue;
                      if ((ip2ulong($map['ipaddr']) > $dynsubnet_start) &&
                      (ip2ulong($map['ipaddr']) < $dynsubnet_end)) {
                      $input_errors[] = sprintf(gettext("The DHCP range cannot overlap any static DHCP mappings."));
                      break;
                      }
                      }
                      }

                      1 Reply Last reply Reply Quote 0
                      • D
                        dvserg
                        last edited by

                        @nomeron:

                        Я имел в виду, что если адрес нельзя зарезервировать, то можно по крайней мере его просто не выдавать. В виндовс это исключением вроде называется.
                        В dhcpd просто несколько диапазонов задается. Вот это я выбросом из диапазона и назвал.

                        Ну это то-же самое решение, что и у разработчиков pfSense. Только они предлагают выделить все исключения в отдельный единый диапазон.
                        Ваш вариант удобней для пользователя и реализуем, но немного геморнее в плане PHP кода.

                        SquidGuardDoc EN  RU Tutorial
                        Localization ru_PFSense

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