isc-dhcpd

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
a1
рядовой
Сообщения: 13
Зарегистрирован: 2009-08-14 0:12:37

isc-dhcpd

Непрочитанное сообщение a1 » 2011-05-01 15:57:48

Настраиваю сабж. Создаю описание подсети. В ней есть два пула, в одном описан хост h1 и запрещены unknown-clients, в другом разрешены.

Код: Выделить всё

subnet 192.168.1.0 netmask 255.255.255.0 {
  option domain-name "mylan";
  option routers 192.168.1.1;
  option subnet-mask 255.255.255.0;
  option domain-name-servers 192.168.1.1;

  pool {
    deny unknown-clients;
    range 192.168.1.20 192.168.1.199;

    host h1 {
      hardware ethernet 00:00:00:00:00:00;
      fixed-address 192.168.1.25;
    }
  }

  pool {
    allow unknown-clients;
    range 192.168.2.100 192.168.1.254;
  }
}
В результате получаю, что хост от сервера нормально получил свой фиксированный адрес, имя домена, шлюз и т.д., чего я и хотел добиться. Но при этом в логах появляется сообщение:

Код: Выделить всё

dhcpd: Dynamic and static leases present for 192.168.1.25.
dhcpd: Remove host declaration h1 or remove 192.168.1.25
dhcpd: from the dynamic address pool for 192.168.1/24
Т.е., и об этом все пишут, нельзя, чтобы адрес 192.168.1.25 из определения хоста пересекался с range 192.168.1.20 192.168.1.199 из пула, а dhcpd теоретически может выдать адрес 192.168.1.25 другому хосту, пока h1 с MAC-адресом 00:00:00:00:00:00 отключен.

Вопросы:

1. range двух пулов покрывает адреса 192.168.1.20-192.168.1.254. Будет ли таким образом настроенный dhcpd выдавать когда-нибудь адреса из диапазона 192.168.1.1-192.168.1.19?
2. Да, в моём примере с одним хостом я могу разбить range на два, чтобы он не пересекался с хостом. Будет вот так:

Код: Выделить всё

pool {
  deny unknown-clients;
  range 192.168.1.20 192.168.1.24;
  range 192.168.1.26 192.168.1.199;

  host h1 {
    hardware ethernet 00:00:00:00:00:00;
    fixed-address 192.168.1.25;
  }
}
Но что будет, если таких хостов у меня будет пятьдесят и IP адреса у них будут идти, скажем, через один? Добавлять ещё пятьдесят range? Как правильно поступить в подобной ситуации? Возможно, нужно использовать не pool/subnet, а что-то другое?
Последний раз редактировалось f_andrey 2011-05-01 16:48:58, всего редактировалось 1 раз.
Причина: Автору, выбирайте пожалуйста раздел соответствуюший тематике вашего сообщения.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

a1
рядовой
Сообщения: 13
Зарегистрирован: 2009-08-14 0:12:37

Re: isc-dhcpd

Непрочитанное сообщение a1 » 2011-05-01 16:10:01

Вот ещё дополнение ко второму вопросу: я не сильно в этом разбирался, но в man'е по dhcpd видел, что в описании хоста в качестве параметра для fixed-address допустимо указыать не IP, а доменное имя. Тогда dhcpd сам разрешит его в IP и выдаст полученный адрес хосту. В этом случае вообще невозможно указать range, который не будет пересекаться с IP хоста, т.к. запись в DNS может поменяться.

sch
сержант
Сообщения: 282
Зарегистрирован: 2009-05-28 14:36:50
Откуда: Кишинев

Re: isc-dhcpd

Непрочитанное сообщение sch » 2011-05-02 10:01:59

через резервирование можно выдавать произвольные адреса

a1
рядовой
Сообщения: 13
Зарегистрирован: 2009-08-14 0:12:37

Re: isc-dhcpd

Непрочитанное сообщение a1 » 2011-05-02 12:00:32

Имеется в виду infinite-is-reserved true? Но в этом случае мы не можем указывать, какой точно IP мы хотим выдать.

sch
сержант
Сообщения: 282
Зарегистрирован: 2009-05-28 14:36:50
Откуда: Кишинев

Re: isc-dhcpd

Непрочитанное сообщение sch » 2011-05-02 12:30:34

имеется в виду вот это:

Код: Выделить всё

host h1 {
    hardware ethernet 00:00:00:00:00:00;
    fixed-address 192.168.1.25;
  }
или я не понял, о чем ты спрашивал

a1
рядовой
Сообщения: 13
Зарегистрирован: 2009-08-14 0:12:37

Re: isc-dhcpd

Непрочитанное сообщение a1 » 2011-05-02 13:26:11

sch писал(а):или я не понял, о чем ты спрашивал
1. range двух пулов покрывает адреса 192.168.1.20-192.168.1.254. Будет ли таким образом настроенный dhcpd выдавать когда-нибудь адреса из диапазона 192.168.1.1-192.168.1.19?
2. Как выдать фиксированный адрес внутри range, принадлежащего определённому пулу? В моём примере это тот же пул, внутри которого объявлен хост h1. Reserved leases (infinite-is-reserved) не подходят, потому что не позволяют указать адрес, который мы выдаём. Fixed-address не подходит, потому что не допускает выдачу адреса внутри ранее объявленного range.

Аватара пользователя
Raven2000
-=_UNIX_=-
Сообщения: 4427
Зарегистрирован: 2006-10-29 17:59:13
Откуда: Там, где нас нет.
Контактная информация:

Re: isc-dhcpd

Непрочитанное сообщение Raven2000 » 2011-05-02 22:19:53

Если хочешь разобраться... Так иди и разбирайся!
[ igNix.ru | Технология жизни - технологии будущего ] [ Forum.igNix.ru ]

a1
рядовой
Сообщения: 13
Зарегистрирован: 2009-08-14 0:12:37

Re: isc-dhcpd

Непрочитанное сообщение a1 » 2011-05-03 15:02:41

Raven2000 писал(а):Для бонуса
Есть большие сомнения, что вот этот пример будет работать:

Код: Выделить всё

# Указываем, что будем использовать разные подсети с названием <strong>mynet</strong>.
shared-network mynet {
### Локальные параметры подсети 192.168.1.0/24: ###
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.200;
}
 
### Локальные параметры подсети 192.168.2.0/24: ###
subnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.10 192.168.2.200;
}
 
host DC23 {
    hardware ethernet 6c:f0:49:e3:92:9d;
    fixed-address 192.168.1.11;
}
 
host RM54 {
    hardware ethernet 0:13:8f:24:a4:d9;
    fixed-address 192.168.2.22;
} 
 
}
Хосты попадают в range, но при этом fixed-address не пишется в dhcpd.leases, т.е. dhcpd ничего не знает про то, что адрес арендован, и может выдать lease даже если хост включён, но не отзывается на пинги, в логах будет то же самое в стиле:

Код: Выделить всё

dhcpd: Dynamic and static leases present for 192.168.1.25.
dhcpd: Remove host declaration h1 or remove 192.168.1.25
dhcpd: from the dynamic address pool for 192.168.1/24

Аватара пользователя
Raven2000
-=_UNIX_=-
Сообщения: 4427
Зарегистрирован: 2006-10-29 17:59:13
Откуда: Там, где нас нет.
Контактная информация:

Re: isc-dhcpd

Непрочитанное сообщение Raven2000 » 2011-05-03 19:58:01

когда хост обращается к дшсп серверу то сервер проверяет нет ли к его маку привязка если да то выдет адрес который ему выделили и описан в конфиге. Если нет то выдает из пула адресов и тогда пишет в dhcpd.leases что выдал тому та и на столько ему незачем писать в свою баз про привязанные IP тк в конфиге это уже описано там.
Если хочешь разобраться... Так иди и разбирайся!
[ igNix.ru | Технология жизни - технологии будущего ] [ Forum.igNix.ru ]

a1
рядовой
Сообщения: 13
Зарегистрирован: 2009-08-14 0:12:37

Re: isc-dhcpd

Непрочитанное сообщение a1 » 2011-05-04 19:56:14

Raven2000 писал(а):когда хост обращается к дшсп серверу то сервер проверяет нет ли к его маку привязка если да то выдет адрес который ему выделили и описан в конфиге.
Когда хост, hardware ethernet которого прописан в dhcpd.conf, обращается к серверу, сервер выдаёт ему fixed-address. Если range пересекается с fixed-address, сервер спокойно может выдать тот же адрес другому хосту, здесь описано, почему так может произойти.

И теперь проверяем, будет ли работать тот пример:

Код: Выделить всё

shared-network mynet {
  subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.10 192.168.1.200;
    option domain-name "mylan";
    option routers gw.mylan;
    option subnet-mask 255.255.255.0;
    option domain-name-servers ns.mylan;
  }

  host h1 {
    hardware ethernet 00:00:00:00:00:00;
    fixed-address 192.168.1.20;
  }
}
Смотрим в логи:

Код: Выделить всё

dhcpd: Dynamic and static leases present for 192.168.1.20.
dhcpd: Remove host declaration h1 or remove 192.168.1.20
dhcpd: from the dynamic address pool for mynet
Т.е. не работает. Более того, относительно объявления хостов внутри shared-network тоже выдаётся предупреждение:

Код: Выделить всё

dhcpd: WARNING: Host declarations are global.  They are not limited to the scope you declared them in.

Аватара пользователя
Raven2000
-=_UNIX_=-
Сообщения: 4427
Зарегистрирован: 2006-10-29 17:59:13
Откуда: Там, где нас нет.
Контактная информация:

Re: isc-dhcpd

Непрочитанное сообщение Raven2000 » 2011-05-05 10:33:32

Код: Выделить всё

WARNING: Host declarations are global. They are not limited to the scope you declared them in.
Описания хостов должны быть выведены за пределы описания подсетей, то есть запись host... должна начинаться после закрывающей описание subnet (и шаред) фигуронй скобки. Покаж весь конфиг

Код: Выделить всё

cat /usr/local/etc/dhcpd.conf
option domain-name "local";

option domain-name-servers 192.168.0.254;
option subnet-mask 255.255.255.0;
default-lease-time 720000;
max-lease-time 720000;
min-lease-time 720000;
authoritative;
ddns-update-style none;
log-facility local7;
deny unknown-clients; 

shared-network mynet {
subnet 192.168.1.0 netmask 255.255.255.0
{
range 192.168.1.1 192.168.1.240;
option broadcast-address 192.168.1.255;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.1.254;
option routers 192.168.1.254;
}

subnet 192.168.2.0 netmask 255.255.255.0
{
range 192.168.2.1 192.168.2.240;
option broadcast-address 192.168.2.255;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.2.254;
option routers 192.168.2.254;
option netbios-node-type 8;
option ntp-servers 192.168.2.253;
option netbios-name-servers 192.168.2.254;
option netbios-dd-server 192.168.2.254;
}

host p5 {
    hardware ethernet 6c:f0:49:e3:92:9d;
    fixed-address 192.168.1.5;
}
 
Ты самому интерфейсу сервера пытаешься присвоить IP по хз какому МАС?

Код: Выделить всё

  host h1 {
    hardware ethernet 00:00:00:00:00:00;
Если хочешь разобраться... Так иди и разбирайся!
[ igNix.ru | Технология жизни - технологии будущего ] [ Forum.igNix.ru ]