Користувальницькькі налаштування

Налаштування сайту


option82

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Порівняння попередніх версій Попередня ревізія
Наступна ревізія По сторонах наступні версії
option82 [2022/10/06 16:37]
pautina [Настройка Ubilling и DHCP option 82]
option82 [2023/04/22 18:36]
pautina
Рядок 199: Рядок 199:
 Для более удобного вылавливания пар remote-id и circuit-id существует сервис аналогичный [[uhw|UHW]] находящийся в **docs/opt82_uhw**. Настройка в основном аналогична таковой у оригинального сервиса. Ходят слухи, что грозились дописать еще и самостоятельную активацию абонентом ;) Для более удобного вылавливания пар remote-id и circuit-id существует сервис аналогичный [[uhw|UHW]] находящийся в **docs/opt82_uhw**. Настройка в основном аналогична таковой у оригинального сервиса. Ходят слухи, что грозились дописать еще и самостоятельную активацию абонентом ;)
  
 + ====== Патч для isc-dhcp44-server ======
 +Для того, щоб користувачі могли змінювати свої пристрої скільки завгодно разів, та не чекати поки на сервері закінчиться ліза під їх адресу - до DHCP серверу необхідно застосувати патч та перезібрати пакет з ісходного коду. 
 +
 +<code>
 +--- server/dhcp.c.orig 2017-07-25 16:39:54.000000000 +0300
 ++++ server/dhcp.c 2017-09-13 00:26:29.330284000 +0300
 +@@ -31,6 +31,7 @@
 + #include <limits.h>
 + #include <sys/time.h>
    
 ++extern int flag_dd_option;
 + static void maybe_return_agent_options(struct packet *packet,
 +         struct option_state *options);
 + static int reuse_lease (struct packet* packet, struct lease* new_lease,
 +@@ -4900,8 +4901,13 @@
 +  {
 +  if (LEASE_NOT_EMPTY(pool->free))
 +  candl = LEASE_GET_FIRST(pool->free);
 +- else
 ++ else if (LEASE_NOT_EMPTY(pool->abandoned))
 +  candl = LEASE_GET_FIRST(pool->abandoned);
 ++ else if (flag_dd_option)
 ++ {
 ++ candl = LEASE_GET_FIRST(pool->active);
 ++ candl -> ends = cur_time;
 ++ }
 +  }
 + 
 +  /*
 +</code>
 +
 +
 +<code>
 +--- server/dhcpd.c.orig 2017-07-25 16:39:54.000000000 +0300
 ++++ server/dhcpd.c 2017-09-13 03:25:44.556962000 +0300
 +@@ -57,6 +57,7 @@
 + gid_t set_gid = 0;
 + #endif /* PARANOIA */
 + 
 ++int flag_dd_option = 0;
 + struct iaddr server_identifier;
 + int server_identifier_matched;
 + 
 +@@ -184,6 +185,7 @@
 +               [-play trace-input-file]\n"
 + #endif /* TRACING */
 +               [-pf pid-file] [--no-pid] [-s server]\n"
 ++   "             [-dd] - enable dd mode\n"
 +               [if0 [...ifN]]",
 +    isc_file_basename(progname));
 + }
 +@@ -329,6 +331,8 @@
 +  usage(use_noarg, argv[i-1]);
 +  set_chroot = argv [i];
 + #endif /* PARANOIA */
 ++ } else if (!strcmp (argv [i], "-dd")) {
 ++ flag_dd_option = 1;
 +  } else if (!strcmp (argv [i], "-cf")) {
 +  if (++i == argc)
 +  usage(use_noarg, argv[i-1]);
 +</code>
 +
 +Після того, як перезібрали пакет та встановили його в системі, необхідно через rc.conf ввімкнути даний функціонал, додавши опцію ''-dd'' до параметрів запуску, наприклад:
 +<file ini rc.conf>
 +dhcpd_flags="-q -dd"
 +</file>
 +
 +
option82.txt · Востаннє змінено: 2023/07/08 14:11 повз nightfly