dhcp в Debian

Knoppix

Модераторы: Warderer, Модераторы разделов

Аватара пользователя
sunny1983
Сообщения: 357
ОС: GNU/Linux 4.x (Fedora, Debian)

dhcp в Debian

Сообщение sunny1983 »

Есть некоторые вопросы по работе dhcp (как серверной так и клиентской части). В Debian по умолчанию в качестве сервера используется isc-dhcp-server, в качестве клиента dhcp3-client.

isc-dhcp-server
Разобрался достаточно быстро, man интуитивно понятен. Настроил так, чтобы клиентам выдавались адреса из пула 10.10.10.1-10.10.10.253, но некоторым известным клиентам выдавались не случайные, а конкретные адреса.
Мой /etc/dhcp/dhcpd.conf выглядит так:

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

ddns-update-style none;
log-facility local7;

subnet 10.10.10.0 netmask 255.255.255.0 {
        range 10.10.10.1 10.10.10.253;
        option domain-name-servers 10.200.0.254;
        option routers 10.10.10.254;
        option broadcast-address 10.10.10.255;
        default-lease-time 180;
        max-lease-time 180;
}

host server {
        hardware ethernet 00:0F:EA:36:D2:70;
        fixed-address 10.10.10.1;
}
host 1zam-1 {
        hardware ethernet E0:CB:4E:DD:DB:9B;
        fixed-address 10.10.10.3;
}
host trudo-1 {
        hardware ethernet 00:01:29:FF:D5:1A;
        fixed-address 10.10.10.4;
}
host sec-2 {
        hardware ethernet 00:26:18:DA:88:0C;
        fixed-address 10.10.10.5;
}
host sec-1 {
        hardware ethernet 00:04:61:5A:F6:C3;
        fixed-address 10.10.10.6;
}
host urist-1 {
        hardware ethernet 00:1D:60:4A:F8:1E;
        fixed-address 10.10.10.7;
}
host urist-2 {
        hardware ethernet 00:24:1D:B1:74:B9;
        fixed-address 10.10.10.8;
}
host buh-1 {
        hardware ethernet 00:26:18:DA:89:DB;
        fixed-address 10.10.10.12;
}
host op-nach {
        hardware ethernet 00:19:66:02:FD:0D;
        fixed-address 10.10.10.21;
}
host op-1 {
        hardware ethernet 8C:89:A5:30:8B:20;
        fixed-address 10.10.10.22;
}
host op-2 {
        hardware ethernet 00:01:29:FF:D5:ED;
        fixed-address 10.10.10.24;
}
host ogi-1 {
        hardware ethernet 00:15:F2:05:5D:BB;
        fixed-address 10.10.10.25;
}
host ogi-2-1 {
        hardware ethernet 8C:89:A5:30:8A:74;
        fixed-address 10.10.10.29;
}
host ogi-prn {
        hardware ethernet 00:80:F0:15:C2:74;
        fixed-address 10.10.10.38;
}
host secret-1 {
        hardware ethernet 00:19:66:41:D9:D9;
        fixed-address 10.10.10.39;
}
host fo-1 {
        hardware ethernet 00:E0:18:A1:51:16;
        fixed-address 10.10.10.48;
}
host op-secur {
        hardware ethernet 00:01:29:94:17:D4;
        fixed-address 10.10.10.101;
}
host op-post {
        hardware ethernet 00:1E:8C:11:2E:F0;
        fixed-address 10.10.10.102;
}
host Kashirin_privat {
        hardware ethernet 00:13:77:99:CD:4C;
        fixed-address 10.10.10.180;
}
host buh-3 {
        hardware ethernet 00:15:99:64:65:88;
        fixed-address 10.10.10.233;
}
host Smirnov_privat {
        hardware ethernet F4:6D:04:A5:5C:99;
        fixed-address 10.10.10.182;
}
host Zorin_privat {
        hardware ethernet 00:16:D3:55:71:1E;
        fixed-address 10.10.10.183;
}

Работать, в принцыпе, работает, но хотел бы спросить у более опытных: 1)время аренды ip-адресов это нормально или его стоит увеличить/уменьшить (руководствовался теми соображениями, что если в сети часто что-то нужно будет менять - то изменения будут применяны через три минуты); 2)как сделать так чтобы сервер прослушивался только на интерфейсе eth1, а на остальных нет; 3)если внёс изменения в конфиг, как их применить "service isc-dhcp-server restart" или есть более мягкий способ?

isc-dhcp-client
По клиенту такой вопрос: если в /etc/network/interfaces прописано например "iface eth0 inet dhcp", но кабель к eth0 по какой-то причине не подключён, то клиент будет пытаться найти dhcp-сервер, которого нет и загрузка затянется на несколько минут. Возможно ли как-нибудь ускорить клиент, чтобы соображал быстрее?
Спасибо сказали:
Аватара пользователя
sysmouse
Сообщения: 45
ОС: Debian GNU/Linux

Re: dhcp в Debian

Сообщение sysmouse »

но некоторым известным клиентам выдавались не случайные, а конкретные адреса.

Всё правильно, обычно клиенту назначается предыдущий адрес, если он не занят.

1)время аренды ip-адресов это нормально или его стоит увеличить/уменьшить (руководствовался теми соображениями, что если в сети часто что-то нужно будет менять - то изменения будут применяны через три минуты);

Не совсем понял о каких изменениях идет речь, но время аренды конечно очень маленькое. Поставь хотя бы день тогда. Часто ставят неделю, что и я делаю.

2)как сделать так чтобы сервер прослушивался только на интерфейсе eth1, а на остальных нет;

В /etc/default/isc-dhcp-server: INTERFACES="eth1".

3)если внёс изменения в конфиг, как их применить "service isc-dhcp-server restart" или есть более мягкий способ?

Это не сквид, тут можно и просто service isc-dhcp-server restart.

Возможно ли как-нибудь ускорить клиент, чтобы соображал быстрее?

allow-hotplug eth0
iface eth0 inet dhcp
Спасибо сказали:
Аватара пользователя
sunny1983
Сообщения: 357
ОС: GNU/Linux 4.x (Fedora, Debian)

Re: dhcp в Debian

Сообщение sunny1983 »

sysmouse писал(а):
12.03.2012 17:25
Это не сквид, тут можно и просто service isc-dhcp-server restart.

Вы не опечатались?

sysmouse писал(а):
12.03.2012 17:25
Не совсем понял о каких изменениях идет речь, но время аренды конечно очень маленькое. Поставь хотя бы день тогда. Часто ставят неделю, что и я делаю.

А тут я опечатался. Я хотел сказать: "время аренды ip-адресов 180 секунд это нормально или его стоит увеличить/уменьшить (руководствовался теми соображениями, что если в сети часто что-то нужно будет менять - то изменения будут применяны через три минуты)". Если будет неделя и в конфиге будет изменён ip извесного хоста, то он изменится только когда этот недельный срок пройдёт и клиент снова будет запрашивать аренду ip-адреса.
Спасибо сказали:
Аватара пользователя
sysmouse
Сообщения: 45
ОС: Debian GNU/Linux

Re: dhcp в Debian

Сообщение sysmouse »

Вы не опечатались?

Не думаю.

Я хотел сказать: "время аренды ip-адресов 180 секунд это нормально или его стоит увеличить/уменьшить (руководствовался теми соображениями, что если в сети часто что-то нужно будет менять - то изменения будут применяны через три минуты)". Если будет неделя и в конфиге будет изменён ip извесного хоста, то он изменится только когда этот недельный срок пройдёт и клиент снова будет запрашивать аренду ip-адреса.

Не, ну ты если хочешь хоть секунду поставь, я не вижу никакого смысла в этом. Ноутбуки, например, после каждого пробуждения будут адрес запрашивать, компьютеры после каждого включения. Да и какая разница, какие IP кто там получает, есть же DNS forward/reverse zone. Ну и пул надо строить с учетом возможного резервирования статических IP. У меня, например, нижние 50 адресов всегда остаются для раздачи статики, с 50 по 249 - пул раздачи, 250-254 - резерв для временного сетевого оборудования, 0, 255 - бродкаст.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: dhcp в Debian

Сообщение sash-kan »

sunny1983 писал(а):
12.03.2012 20:20
время аренды ip-адресов 180 секунд это нормально или его стоит увеличить/уменьшить (руководствовался теми соображениями, что если в сети часто что-то нужно будет менять - то изменения будут применяны через три минуты)
для «проходного двора» можно использовать такое эмпирическое правило: время аренды целесообразно выставлять не бо́льшим, чем ориентировочное время «забивания» всего отведённого пула адресов·
например, пул отведён в 1000 адресов, ежечасно подключается 100 новых адаптеров (ну и примерно столько же отключается), значит пул «забьётся» через 10 часов»·
вот на десять часов и ставьте время аренды: запрос на обновление клиенты обязаны посылать по истечении половины срока аренды, поэтому всё должно быть «ок»·

если у вас не «проходной двор», а холимый и лелеемый почти стабильный набор адаптеров, тут уж как фантазии хватит·
допустим, часов шесть установите как срок аренды, тогда суммарный dhcp-мусор будет размазан часам по трём как минимум·

а на клиентов с закреплёнными адресами при выборе времени аренды, imho, ориентироваться не стоит·
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
sunny1983
Сообщения: 357
ОС: GNU/Linux 4.x (Fedora, Debian)

Re: dhcp в Debian

Сообщение sunny1983 »

sysmouse писал(а):
12.03.2012 17:25
Да и какая разница, какие IP кто там получает, есть же DNS forward/reverse zone.

DNS как раз нет. Я решил, что можно без доменов, обойтись одной IP-адресацией.

А вот такой вопрос: а как можно посмотреть отданные в настоящий момент в аренду ip кроме как заглянув в файл /var/lib/dhcp/dhcpd.leases?

sysmouse писал(а):
12.03.2012 17:25
2)как сделать так чтобы сервер прослушивался только на интерфейсе eth1, а на остальных нет;

В /etc/default/isc-dhcp-server: INTERFACES="eth1".

Вообще-то задача сейчас более сложная, чтобы на одной сетевой карте сервер вообще не прослушивался, на второй работал и был один пул, а на третьей (ей сразу 2 ip присвоено) было сразу два пула.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: dhcp в Debian

Сообщение sash-kan »

sunny1983 писал(а):
14.03.2012 12:41
как можно посмотреть отданные в настоящий момент в аренду ip кроме как заглянув в файл /var/lib/dhcp/dhcpd.leases?
капитан очевидность подсказывает такой вариант:
$ grep ^lease /var/lib/dhcp*/dhcpd.leases | sort -u
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
sunny1983
Сообщения: 357
ОС: GNU/Linux 4.x (Fedora, Debian)

Re: dhcp в Debian

Сообщение sunny1983 »

sash-kan писал(а):
14.03.2012 19:26
sunny1983 писал(а):
14.03.2012 12:41
как можно посмотреть отданные в настоящий момент в аренду ip кроме как заглянув в файл /var/lib/dhcp/dhcpd.leases?
капитан очевидность подсказывает такой вариант:
$ grep ^lease /var/lib/dhcp*/dhcpd.leases | sort -u

Я спросил нет ли какого штатного средства? Если нет, то решение скорее всего будет гораздо сложнее чем вы написали.
Я вот тут нашёл руководство по dhcpd.leases:
Файл dhcpd.leases - база данных(БД), хранящая информацию о выделенных(распределенных) демоном DHCP адресам.
<...>
Для того что бы предотвратить бесконтрольный рост размеров файла он время от времени создается заново и перезаписывается. Сначала создается временный файл БД куда сбрасываются все актуальные записи, затем старый файл переименовывается в /var/state/dhcp/dhcpd.leases~. Ну и наконец, временный файл переименовывается в /var/state/dhcp/dhcpd.leases.

То есть нужно написать скрипт, который: 1)извлечёт записи lease из dhcpd.leases и dhcpd.leases~; 2)отбросит старые записи; 3)проверит актуальность оставшихся записей при помощи arp; 4)выведет данные из актуальных записей в табличной форме
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: dhcp в Debian

Сообщение sash-kan »

sunny1983 писал(а):
16.03.2012 09:58
проверит актуальность оставшихся записей при помощи arp
тогда уж быстрей и проще просканировать сеть·
вместо остальных пунктов·
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
sunny1983
Сообщения: 357
ОС: GNU/Linux 4.x (Fedora, Debian)

Re: dhcp в Debian

Сообщение sunny1983 »

Подниму тему. Такой вопрос возник: если IP-адреса в сети назначаются через host-записи, можно ли одному хосту назначить сразу два ip-адреса?
Спасибо сказали: