Различия между версиями 1 и 8 (по 7 версиям)
Версия 1 от 2008-07-08 21:34:19
Размер: 7033
Редактор: eSyr
Комментарий:
Версия 8 от 2008-07-13 22:36:43
Размер: 7903
Редактор: VsevolodKrishchenko
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 1: Строка 1:
== Настройка DHCP == == Настройка DHCP-сервера ==
Строка 3: Строка 3:
Установим dhcp-сервер Для начала следует напомнить, что из себя представляет служба DHCP. Предположим, что в процессе подготовки класса уже настроены маршрутизация и трансляция сетевых адресов. Теперь возникает необходимость настроить рабочие машины класса для работы в локальной сети и доступа в Интернет. Есть два пути:

 * вручную прописывать все необходимые настройки (как минимум это IP-адрес, маршрутизатор по умолчанию и DNS) на всех клиентских машинах;
 * использовать службу DHCP.

Работает служба DHCP на нескольких уровнях стека TCP/IP, и, вообще говоря, ее возможности шире чем просто выдача IP-адреса, адреса маршрутизатора по умолчанию и адресов DNS --- например с помощью DHCP можно организовать загрузку бездискового клиента по сети или автоматическое определение параметров прокси-сервера клиентами.

Для начала установим на маршрутизаторе класса dhcp-сервер.
Строка 8: Строка 15:
Что такое DHCP. Мы занимаемся некей подготовкой класса. Мы сделали маршрутизацию, nat, не сделали тлько автонастройку клиентов. В данном случае мы не говорим о внутренностей (единой системе паролей...), а говорим только о сети. Возникает необх. как-то настраивать сеть. На службу приходит служба DHCP, рабтает она на неск. уровнях, и даже может организовать загрузку бездискового клиента по сети. В частности, чт нужно для авт. настройки клиента в сети:
 * IP-адрес
 * Маршрутизатор по умолчанию
 * DNS
Всё остальное опционально.
Существует несколько вариантов поведения сервера DHCP. Далее рассмотрим два наиболее распространенных.
Строка 14: Строка 17:
Зайдём, отредактируем файл, который называется /etc/dhcp. В дебиане полиси, что после устаноки он устанавилвается и работает, в альте не так. Поскольку dhcpd капризный демон, и если он видит, что конфиг неправильный, то он перестаёт работать. По этой причине создаётся сэмпл и dhcp не запускается. Скопируем dhcpd.conf.sample в dhcpd.conf === Динамическое распределение IP-адресов ===
Строка 16: Строка 19:
Комментарии по повду того, как работает dhcp: но работает двумя способами. Первый способ: настр. выдаются клиенту не навсегда, а выдаются в leasing. Через какое-то время, когда срок аренды истекает, компьютер должен снова запустить процедуру обновления настроек, и может вполне ожидать, в котором выдадут настройки другие. После истечения макс. времени аренды адрес считается незанятым. Тем не менее, есть такой алгоритм... Поэтому, когда раздаются адреса по dhcp, из которого по непонятному алгоритму демон выбирает адрес, который он отдаё клиенту вместе со всеме настройками. Алгоритм обычно такой: первому выдаётся посл. адрес, второму предпосл. и так далее. Дополн. св-во: если приходит новый клиент, то выдаётся обычно неисп. ранее адрес. Ежели приходит клиент, который в списке выдаваемых адр. наличествовал, то ему выдаётся по возм. тот же адрес. В этом режиме клиенту выдается адрес из указанного администратором диапазона. По истечении определенного времени --- срока аренды (''leasing''), клиент обязан снова запросить настройки у сервера, причем новые настройки могут не совпадать с предыдущими. Сервер считает свободными те IP-адреса диапазона, для которых истек срок аренды. Алгоритм выбора сервером IP-адреса обычно следующий: по первому запросу выдается последний адрес диапазона, по второму -- предпоследний, и т. д. Клиенту, запрашивающему адрес не в первый раз, выдается, если возможно, тот же адрес, что у него был. У такого алгоритма есть хорошее свойство -- если появляется новый клиент, то ему, по возможности, выдается ранее не использовавшийся адрес.
Строка 18: Строка 21:
Что такое dynamic dns update. DHCP пишут те же люди, что и BIND. Пишет internet service consorcium. У них тесное взаимод., по поводу взаимод. имени и ip-адреса в dns-зоне. Соответственно, имя машины прописывается в dns. И его обычно всегда стоит выключать. Понятно, что это связан с наруш. безопасности, так что когда читаете man dhcpd, пропускайте большие куски про security, это не для простых смертных. Итак, рассмотрим настройку динамического распределения IP-адресов с помошью службы DHCP.
Строка 20: Строка 23:
В dhcpd/conf бязаны быть перечислены все сети, которые видны на компьютере. Скопируем файл /etc/dhcpd.conf.sample в /etc/dhcpd.conf и отредактируем его. Файл /etc/dhcpd.conf.sample в ALTLinux создается автоматически, если отсутствует правильный конфигурационный файл для DHCP.
В результате файл /etc/dhcpd.conf должен выглядеть так:
Строка 22: Строка 26:
{{{
# See dhcpd.conf(5) for further configuration

ddns-update-style none;

subnet 172.16.0.0 netmask 255.255.255.0 {
        option routers 172.16.0.1;
        option subnet-mask 255.255.255.0;

        option domain-name "demo.class.altlinux.ru";
        option domain-name-servers 10.0.2.3;

        range dynamic-bootp 172.16.0.10 172.16.0.90;
        default-lease-time 21600;
        max-lease-time 43200;

}
}}}
 
Кроме того, в dhcpd.conf необходимо перечислить все сети, в которые есть доступ с данного компьютера. В нашем случае достаточно добавить строку

{{{
subnet 10.0.0.0 netmask 255.0.0.0 {}
}}}

Осталось лишь запустить службу DHCP. Для этого на сервере необходимо выполнить:
Строка 26: Строка 56:
На клиенте говорим На клиенте:
Строка 31: Строка 61:
Для успокоения совести освоим схему раздачи по маку и успокоимся. Неудобно раздавать ip-адреса, не зная, кто какой адрес получит. Если мы устанавливаем класс вручную, мы можем в принципе чт сделать: у каждой машины прописать host name, на сервере рганизовывать dns, dynamib update прописать правильный, на dns настроить, чтобы он изх принимал, и ситуацию с взаимоотношением машины и имени решим. Лектор этим заниматься не будет, потому что это довольно сложная операция, можно сделать другое: раздавать ip по mac-ам, поскольку они почти всегда уникальные. Кроме того, его ещё надо знать как поменять, поэтому это является некоторой степенью защиты от дурака и облегчением работы администратора. ==== Dynamic DNS update ====
Так как разработкой DHCP и bind занимаются одни и те же люди, между этими этими проектами существует тесная связь. Например, поддерживается автоматическое обновление имени и IP-адреса в DNS-зоне -- это и называется dynamic DNS update. В отдельных случаях подобное может быть удобно, но обычно рекомендуется отключить это функцию.
Строка 33: Строка 64:
Где-то в /var/lib/dhcp/dhcpd/state/dhcpd.leases записаны все маки, которым был выдан когда-то dhcp. То есть, ы либо ходите и везде смотрите мак-адреса, либо всё включаете и потом смотрите этот файл --- там записаны leases === Распределение IP-адресов по MAC-адресам ===
Существует также возможность выдать определенный IP-адрес компьютеру с определенным MAC-адресом.
Для этого достаточно прописать в dhcpd.conf, например:
{{{
host lite {
 fixed-address 172.16.0.98;
 hardware ethernet 08:00:27:b7:69:b9
}
}}}
Строка 35: Строка 74:
После этого пишется в dhcpd.conf:
host lite {
  fixed-address 172.16.0.98
  hardware ethernet 08:00:27:b7:69:b9
}
И выполнить на соотвествующем клиенте:
{{{
# cd /etc/net/ifaces
# mkdir eth0
# cd eth0
# cat > options
DISABLED=no
BOOTPROTO=dhcp
}}}
Заметим, что выдаваемый таким образом IP-адрес должен лежать вне диапазона адресов распределяемых динамически.
Строка 41: Строка 85:
При этом, этот адрес не должен входить в диапазо динамически выдаваемых. Такой вариант удобен, если есть необходимость знать, какой адрес получит конкретный клиент. Подобная схема работоспособна, так как в большинстве случаев MAC-адреса уникальны.
Узнать список MAC-адресов компьютеров сети можно либо посмотрев адреса вручную на каждом из клиентов, либо используя файл /var/lib/dhcp/dhcpd/state/dhcpd.leases, в котором записана информация, в том числе MAC-адреса, всех клиентов, которым когда либо выдавались в аренду IP-адреса.
Строка 43: Строка 88:
После этого необходимо на клиентах установить BOOTPROTO=dhcp
Строка 50: Строка 95:
|| Готовность (%) || Продолжительность (ак. ч.) || Подготовка (календ. ч.) || Полный текст (раб. д.) || Предварительные знания || Level || Maintainer                       || Start date || End date ||
|| 0              || 1 || 1 || 1 || || 1 || ConstantinYershow, [[Allena]]    || || ||
|| Готовность (%) || Продолжительность (ак. ч.) || Подготовка (календ. ч.) || Полный текст (раб. д.) || Предварительные знания || Level || Maintainer || Start date || End date ||
|| 50 || 1 || 1 || 1 || || 1 || ConstantinYershow, [[Allena]], VsevolodKrishchenko || || ||

Строка 53: Строка 100:
CategoryLectures CategoryPspo CategoryMpgu CategoryUneex  . CategoryLectures CategoryPspo CategoryMpgu CategoryUneex

Настройка DHCP-сервера

Для начала следует напомнить, что из себя представляет служба DHCP. Предположим, что в процессе подготовки класса уже настроены маршрутизация и трансляция сетевых адресов. Теперь возникает необходимость настроить рабочие машины класса для работы в локальной сети и доступа в Интернет. Есть два пути:

  • вручную прописывать все необходимые настройки (как минимум это IP-адрес, маршрутизатор по умолчанию и DNS) на всех клиентских машинах;
  • использовать службу DHCP.

Работает служба DHCP на нескольких уровнях стека TCP/IP, и, вообще говоря, ее возможности шире чем просто выдача IP-адреса, адреса маршрутизатора по умолчанию и адресов DNS --- например с помощью DHCP можно организовать загрузку бездискового клиента по сети или автоматическое определение параметров прокси-сервера клиентами.

Для начала установим на маршрутизаторе класса dhcp-сервер.

# apt-get install dhcp-server

Существует несколько вариантов поведения сервера DHCP. Далее рассмотрим два наиболее распространенных.

Динамическое распределение IP-адресов

В этом режиме клиенту выдается адрес из указанного администратором диапазона. По истечении определенного времени --- срока аренды (leasing), клиент обязан снова запросить настройки у сервера, причем новые настройки могут не совпадать с предыдущими. Сервер считает свободными те IP-адреса диапазона, для которых истек срок аренды. Алгоритм выбора сервером IP-адреса обычно следующий: по первому запросу выдается последний адрес диапазона, по второму -- предпоследний, и т. д. Клиенту, запрашивающему адрес не в первый раз, выдается, если возможно, тот же адрес, что у него был. У такого алгоритма есть хорошее свойство -- если появляется новый клиент, то ему, по возможности, выдается ранее не использовавшийся адрес.

Итак, рассмотрим настройку динамического распределения IP-адресов с помошью службы DHCP.

Скопируем файл /etc/dhcpd.conf.sample в /etc/dhcpd.conf и отредактируем его. Файл /etc/dhcpd.conf.sample в ALTLinux создается автоматически, если отсутствует правильный конфигурационный файл для DHCP. В результате файл /etc/dhcpd.conf должен выглядеть так:

# See dhcpd.conf(5) for further configuration

ddns-update-style none;

subnet 172.16.0.0 netmask 255.255.255.0 {
        option routers                  172.16.0.1;
        option subnet-mask              255.255.255.0;

        option domain-name              "demo.class.altlinux.ru";
        option domain-name-servers      10.0.2.3;

        range dynamic-bootp 172.16.0.10 172.16.0.90;
        default-lease-time 21600;
        max-lease-time 43200;

}

Кроме того, в dhcpd.conf необходимо перечислить все сети, в которые есть доступ с данного компьютера. В нашем случае достаточно добавить строку

subnet 10.0.0.0 netmask 255.0.0.0 {}

Осталось лишь запустить службу DHCP. Для этого на сервере необходимо выполнить:

# services dhcpd start

На клиенте:

# dhcpcd eth0

Dynamic DNS update

Так как разработкой DHCP и bind занимаются одни и те же люди, между этими этими проектами существует тесная связь. Например, поддерживается автоматическое обновление имени и IP-адреса в DNS-зоне -- это и называется dynamic DNS update. В отдельных случаях подобное может быть удобно, но обычно рекомендуется отключить это функцию.

Распределение IP-адресов по MAC-адресам

Существует также возможность выдать определенный IP-адрес компьютеру с определенным MAC-адресом. Для этого достаточно прописать в dhcpd.conf, например:

host lite {
 fixed-address 172.16.0.98;
 hardware ethernet 08:00:27:b7:69:b9
}

И выполнить на соотвествующем клиенте:

# cd /etc/net/ifaces
# mkdir eth0
# cd eth0
# cat > options
DISABLED=no
BOOTPROTO=dhcp

Заметим, что выдаваемый таким образом IP-адрес должен лежать вне диапазона адресов распределяемых динамически.

Такой вариант удобен, если есть необходимость знать, какой адрес получит конкретный клиент. Подобная схема работоспособна, так как в большинстве случаев MAC-адреса уникальны. Узнать список MAC-адресов компьютеров сети можно либо посмотрев адреса вручную на каждом из клиентов, либо используя файл /var/lib/dhcp/dhcpd/state/dhcpd.leases, в котором записана информация, в том числе MAC-адреса, всех клиентов, которым когда либо выдавались в аренду IP-адреса.


Сведения о ресурсах

Готовность (%)

Продолжительность (ак. ч.)

Подготовка (календ. ч.)

Полный текст (раб. д.)

Предварительные знания

Level

Maintainer

Start date

End date

50

1

1

1

1

ConstantinYershow, Allena, VsevolodKrishchenko


PspoClasses/080708/04Dhcpd (последним исправлял пользователь VsevolodKrishchenko 2008-10-04 10:56:13)