Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

DHCP mini-HOWTO
Пред. 

Установка DHCP-сервера

DHCP-сервер под UNIX

Существует несколько различных DHCP-серверов под Unix и коммерческих, и бесплатных. Наиболее популярным считается Paul Vixie/ISC DHCPd. Последнюю версию 2.0 (для большинства пользователей) или бета-версию 3.0 вы можете взять по адресу

ftp://ftp.isc.org/isc/dhcp/

Некоторые дистрибутивы предоставляют готовый пакет dhcpd, так что вы можете пропустить этот раздел, если он у вас есть.

Скачайте и разархивируйте его. После этого перейдите в каталог с исходными текстами и наберите: ./configure

После того, как закончится настройка на вашу систему, наберите: make и make install.

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

После окончания инсталяции наберите 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

Теперь вам надо настроить 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.


Пред.Начало 
Установка клиента  
Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...