| DHCP mini-HOWTO | ||
|---|---|---|
| Пред. | ||
Существует несколько различных DHCP-серверов под Unix и коммерческих, и бесплатных. Наиболее популярным считается Paul Vixie/ISC DHCPd. Последнюю версию 2.0 (для большинства пользователей) или бета-версию 3.0 вы можете взять по адресу
Некоторые дистрибутивы предоставляют готовый пакет dhcpd, так что вы можете пропустить этот раздел, если он у вас есть.
Скачайте и разархивируйте его. После этого перейдите в каталог с исходными текстами и наберите: ./configure
После того, как закончится настройка на вашу систему, наберите: make и make install.
После окончания инсталяции наберите ifconfig -a. Вы увидите примерно следующее:
eth0 Link encap:10Mbps Ethernet HWaddr 00:C0:4F:D3:C4:62
inet addr:183.217.19.43 Bcast:183.217.19.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2875542 errors:0 dropped:0 overruns:0
TX packets:218647 errors:0 dropped:0 overruns:0
Interrupt:11 Base address:0x210 |
Если в сообщении не будет слова MULITICAST, вы должны пересобрать ядро с поддержкой мультикастинга. На большинстве систем это уже включено.
Следующим шагом нужно установить маршрутизацию на 255.255.255.255. Цитата из DHCPd README:
"Чтобы dhcpd работал с разборчивыми DHCP-клиентами (напр. Windows 95), он должен иметь возможность посылать пакеты по IP-адресу 255.255.255.255. К сожалению, Linux использует 255.255.255.255 в качестве адреса рассылки по всей локальной сети (у нас это 192.5.5.223). Это приводит к ошибкам в протоколе DHCP, на которые многие DHCP-клиенты не обращают внимания, хотя некоторые (например все DHCP-клиеты Microsoft) все же обращают. Клиенты, имеющие эту проблему, не видят сообщения сервера DHCPOFFER."
Наберите: route add -host 255.255.255.255 dev eth0
Если появится сообщение "255.255.255.255: Unknown host", вам нужно добавить следующую запись в файл /etc/hosts file:
255.255.255.255 all-ones |
Затем попробовать:
route add -host all-ones dev eth0 |
или
route add 255.255.255.0 dev eth0 |
где eth0 - это, конечно же, имя вашей сетевой платы.
Теперь вам надо настроить DHCPd. Чтобы это сделать, вам нужно создать или отредактировать файл /etc/dhcpd.conf. Существует также графический интерфейс kcmdhcpd для dhcpd под KDE ( http://www.kde.org/ ), который аналогичен конфигуратору DHCP под Windows NT. Когда выйдет KDE 2.0, оно должно идти вместе с kcmdhcpd, или вы можете качать его непосредственно с:
ftp://ftp.us.kde.org/pub/kde/unstable/apps/network/
Если вы хотите настроить его вручную, следуйте нижеуказанным инструкциям.
В большинстве случаев вам нужно назначать случайные IP адреса. Это может быть сделано при помощи следующих установок:
# Пример /etc/dhcpd.conf
# (добавьте свои комментарии здесь)
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
option domain-name-servers 192.168.1.1, 192.168.1.2;
option domain-name "mydomain.org";
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.100;
range 192.168.1.150 192.168.1.200;
} |
В результате этого DHCP-сервер выдает клиентам IP-адреса из диапазона 192.168.1.10-192.168.1.100 или 192.168.1.150-192.168.1.200. Если клиент не запрашивает временных рамок, сервер выдает адрес на 600 секунд. В противном случае, максимально возможное время будет установлено в 7200 секунд. Сервер будет также "советовать" клиенту использовать 255.255.255.0 в качестве маски подсети, 192.168.1.255 для широкого вещания (broadcast), 192.168.1.254 в качестве маршрутизатора/шлюза и 192.168.1.1 и 192.168.1.2 для DNS-сервера.
Если вы хотите указать WINS-сервер для клиентов с Windows, вам нужно добавить опцию:
option netbios-name-servers 192.168.1.1; |
Вы можете также указать IP-адрес, основываясь на адресе сетевой карты:
host haagen {
hardware ethernet 08:00:2b:4c:59:23;
fixed-address 192.168.1.222;
} |
При этом сетевой карте с адресом 08:00:2b:4c:59:23 будет назначаться IP-адрес 192.168.1.222.
Вы можете также смешивать и сочетать настройки. Например, вы можете выдать определенным клиентам (например серверам) "статический" IP-адрес, а другим динамический адрес (например пользователям с портативными компьютерами). Кроме того существует множество других настроек, таких как адрес NIS-сервера, сервера точного времени и т.д. Если вам нужны такие настройки, прочитайте руководство по dhcpd.conf.
Перед запуском сервера вам нужно сделать только одну вещь. В большинстве случаев при инсталляции не создается файл dhcpd.leases. Он нужен DHCPd для хранения информации о текущих выделенных адресах и представляет из себя обычный текстовый файл, который можно посмотреть во время работы DHCPd. Чтобы создать его наберите:
touch /var/state/dhcp/dhcpd.leases |
Создастся пустой файл (нулевого размера). Некоторые старые (<2.0) версии dhcpd хранят этот файл в /etc/dhcpd.leases. Вам не нужно изменять файл dhcpd.leases - это делает сам dhcpd. Если при его создании появилась ошибка, что он уже существует, просто игнорируйте ее и переходите к следующему шагу.
Теперь вы можете запустить DHCP-сервер. Просто наберите (или вставьте в скрипт загрузки)
/usr/sbin/dhcpd |
При это dhcpd запустится на устройство eth0. Если вы хотите запустить его на другой сетевой плате, просто укажите
/usr/sbin/dhcpd eth1 |
Чтобы проверить, что все работает нормально, вы должны включить режим отладки:
/usr/sbin/dhcpd -d -f |
После загрузки одного из ваших клиентов, на консоль выведутся различные отладочные сообщения. Если все работает нормально, то на этом вы можете закончить :-). Выйдите из dhcpd и запустите его без аргументов -d -f. Если вы хотите запускать dhcpd во время загрузки сервера, добавьте dhcpd например в скрипт
/etc/rc.d/rc.local |
В апрельском Linux Magazine есть хорошая статья, которая называется Network Nirvana: How to make Network Configuration as easy as DHCP, которая описывает установку DHCP.
| Пред. | Начало | |
| Установка клиента |