Различия между версиями 1 и 10 (по 9 версиям)
Версия 1 от 2008-07-08 21:34:19
Размер: 7033
Редактор: eSyr
Комментарий:
Версия 10 от 2008-07-13 23:26:45
Размер: 8978
Редактор: 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-адреса обычно следующий: по первому запросу выдается последний адрес диапазона, по второму -- предпоследний, и т. д. Клиенту, запрашивающему адрес не в первый раз, выдается, если возможно, тот же адрес, что у него был, поскольку сервер хранит MAC-адреса клиентов. У такого алгоритма есть хорошее свойство --- если появляется новый клиент, то ему, по возможности, выдается ранее не использовавшийся адрес.
Строка 18: Строка 21:
Что такое dynamic dns update. DHCP пишут те же люди, что и BIND. Пишет internet service consorcium. У них тесное взаимод., по поводу взаимод. имени и ip-адреса в dns-зоне. Соответственно, имя машины прописывается в dns. И его обычно всегда стоит выключать. Понятно, что это связан с наруш. безопасности, так что когда читаете man dhcpd, пропускайте большие куски про security, это не для простых смертных. Итак, рассмотрим настройку динамического распределения IP-адресов с помощью службы DHCP. Возьмем имеющийся файл с примером настройки и скопируем его для упрощения создания конфигурации. Файл /etc/dhcpd.conf.sample в ALTLinux создается автоматически, если отсутствует правильный конфигурационный файл для DHCP.
{{{
# cd /etc/dhcp/
# cp dhcpd.conf.sample dhcpd.conf
# # Воспользуйтесь любым текстовым редактором
# mcedit dhcpd.conf
}}}
 
В результате редактирования файл /etc/dhcpd.conf должен выглядеть так:
{{{
# See dhcpd.conf(5) for further configuration
Строка 20: Строка 33:
В dhcpd/conf бязаны быть перечислены все сети, которые видны на компьютере. ddns-update-style none;
Строка 22: Строка 35:
{{{
# services dhcpd start
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;

}
Строка 26: Строка 49:
На клиенте говорим Кроме того, в dhcpd.conf необходимо перечислить все сети, которые непосредственно подсоединены к данному компьютеру. В нашем случае достаточно добавить строку с информацией о существовании внешней сети 10.0.2.0/24
Строка 28: Строка 51:
# dhcpcd eth0 subnet 10.0.2.0 netmask 255.255.255.0 {}
Строка 31: Строка 54:
Для успокоения совести освоим схему раздачи по маку и успокоимся. Неудобно раздавать ip-адреса, не зная, кто какой адрес получит. Если мы устанавливаем класс вручную, мы можем в принципе чт сделать: у каждой машины прописать host name, на сервере рганизовывать dns, dynamib update прописать правильный, на dns настроить, чтобы он изх принимал, и ситуацию с взаимоотношением машины и имени решим. Лектор этим заниматься не будет, потому что это довольно сложная операция, можно сделать другое: раздавать ip по mac-ам, поскольку они почти всегда уникальные. Кроме того, его ещё надо знать как поменять, поэтому это является некоторой степенью защиты от дурака и облегчением работы администратора. Осталось лишь запустить службу DHCP. Для этого на сервере необходимо выполнить:
{{{
# services dhcpd restart
}}}
Строка 33: Строка 59:
Где-то в /var/lib/dhcp/dhcpd/state/dhcpd.leases записаны все маки, которым был выдан когда-то dhcp. То есть, ы либо ходите и везде смотрите мак-адреса, либо всё включаете и потом смотрите этот файл --- там записаны leases На клиенте, если он уже включен, следует также перезапустить службу network, предварительно настроенную на использование DHCP.
{{{
# cd /etc/net/ifaces/eth0
# cd /etc/net/ifaces/eth0
# echo 'DISABLED=no' > options
# echo 'BOOTPROTO=dhcp' >> options
# services network restart
}}}
Строка 35: Строка 68:
После этого пишется в dhcpd.conf:
host lite {
  fixed-address 172.16.0.98
  hardware ethernet 08:00:27:b7:69:b9
## dhcpcd eth0 у меня не работает в ALJ, поскольку он упорно запускается сами etcnet.

==== Динамическое обновление DNS ====

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

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

Вторым вариантом использования DNS является выдача определенного IP-адреса компьютеру с определенным MAC-адресом сетевой карты.
Для этого достаточно добавить в файл dhcpd.conf следующие строки для каждого клиента:
{{{
host host01 {
 fixed-address 172.16.0.98;
 hardware ethernet 08:00:27:b7:69:b9
Строка 40: Строка 83:
}}}
Строка 41: Строка 85:
При этом, этот адрес не должен входить в диапазо динамически выдаваемых. Заметим, что выдаваемый таким образом IP-адрес в случае DHCP-сервера из ПСПО должен лежать вне диапазона адресов, распределяемых динамически.
Строка 43: Строка 87:
После этого необходимо на клиентах установить BOOTPROTO=dhcp Такой вариант удобен, если есть необходимость знать, какой адрес получит конкретный клиент. Подобная схема работоспособна, так как в большинстве случаев MAC-адреса уникальны. Узнать список MAC-адресов компьютеров сети можно либо посмотрев адреса вручную на каждом из клиентов командой {{{ip a}}}, либо используя файл {{{/var/lib/dhcp/dhcpd/state/dhcpd.leases}}}, в котором записана информация, в том числе MAC-адреса, всех клиентов, которым когда-либо выдавались в аренду IP-адреса DHCP-сервером.

Строка 50: Строка 96:
|| Готовность (%) || Продолжительность (ак. ч.) || Подготовка (календ. ч.) || Полный текст (раб. д.) || Предварительные знания || Level || Maintainer                       || Start date || End date ||
|| 0              || 1 || 1 || 1 || || 1 || ConstantinYershow, [[Allena]]    || || ||
|| Готовность (%) || Продолжительность (ак. ч.) || Подготовка (календ. ч.) || Полный текст (раб. д.) || Предварительные знания || Level || Maintainer || Start date || End date ||
|| 70 || 1 || 1 || 1 || || 1 || ConstantinYershow, [[Allena]], VsevolodKrishchenko || || ||

Строка 53: Строка 101:
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-адреса обычно следующий: по первому запросу выдается последний адрес диапазона, по второму -- предпоследний, и т. д. Клиенту, запрашивающему адрес не в первый раз, выдается, если возможно, тот же адрес, что у него был, поскольку сервер хранит MAC-адреса клиентов. У такого алгоритма есть хорошее свойство --- если появляется новый клиент, то ему, по возможности, выдается ранее не использовавшийся адрес.

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

# cd /etc/dhcp/
# cp dhcpd.conf.sample dhcpd.conf
# # Воспользуйтесь любым текстовым редактором
# mcedit dhcpd.conf

В результате редактирования файл /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 необходимо перечислить все сети, которые непосредственно подсоединены к данному компьютеру. В нашем случае достаточно добавить строку с информацией о существовании внешней сети 10.0.2.0/24

subnet 10.0.2.0 netmask 255.255.255.0 {}

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

# services dhcpd restart

На клиенте, если он уже включен, следует также перезапустить службу network, предварительно настроенную на использование DHCP.

# cd /etc/net/ifaces/eth0
# cd /etc/net/ifaces/eth0
# echo 'DISABLED=no' > options
# echo 'BOOTPROTO=dhcp' >> options
# services network restart

Динамическое обновление DNS

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

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

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

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

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

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


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

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

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

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

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

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

Level

Maintainer

Start date

End date

70

1

1

1

1

ConstantinYershow, Allena, VsevolodKrishchenko


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