sonyps4.ru

Установка dhcp сервера ubuntu. Настройка DHCP-сервера с резервированием IP-адреса

Надоело уже это бесконечное обновление Windows 7! Каждый день загружает и устанавливает. Режет скорость интернета, тормозит компьютер, перезагружает его без спроса. И без разницы этой системе, смотрю я фильм, пишу курсовую или делаю важный отчет для начальства. А еще устанавливаются обновления по 2 часа, и не дают выключить ПК или ноутбук.

А главное – толку почти никакого! Да, устраняются уязвимости, но Вы вообще не заметите разницы ДО обновления и ПОСЛЕ него. Разве что трафик скушает, да место на локальном диске C опять заберет. В общем, сплошной геморрой.

Поэтому, если Вам тоже надоела эта опция – выключите её! Специально для тех, кто не знает, как отключаются обновления на Windows 7, ниже прилагается подробная инструкция с скриншотами.

Существует 2 способа выключить надоедливую функцию автообновление Windows 7

Для начала рассмотрим выключение автоматического обновления на ОС Виндовс 7. Это нужно для того, чтобы система ничего не загружала и не начинала установку без Вашего разрешения.

Если вдруг надо включить поиск обновлений, тогда открываете это же окно и выбираете один из первых трех пунктов на выбор (какой удобнее).

Правда, после этого в нижней части экрана (возле часов) будет постоянно выскакивать сообщение «Центр обновления Windows отключен. Пожалуйста, включите его».

Чтобы оно не надоедало:

Готово. Вы только что убрали это сообщение, и больше оно надоедать не будет.

Способ 2. Центр обновления Windows

Для этого:


Готово. Только что Вы полностью отключили службу обновлений на Windows 7 (их поиск и установку).

Данная процедура осуществляется одинаково на всех компьютерах и ноутбуках, работающих на Windows 7. Версия (Домашняя, Профессиональная, Максимальная) или разрядность (32- или 64-битная) на это не влияют.

Зачем нужно выключать автообновление Windows 7?

  1. Установлена нелицензионная копия Windows. Как минимум при обновлении может слететь активация. В худших случаях компьютер или ноутбук после перезагрузки не включается и приходится переустанавливать ОС (разработчики Microsoft умеют преподносить сюрпризы 🙂).
  2. Лимитный интернет. Если у Вас ограниченное количество трафика, то регулярные обновления влетят в копеечку.
  3. Медленная скорость интернета. Автообновления сильно режут скорость загрузки. А если она у Вас и так маленькая, то ….
  4. Мало места на жестком диске. Автообновления занимают не много места, но со временем их может накопиться на 10-20 Гб. И если на жестком диске останется мало места, компьютер (или ноутбук) будет медленно работать.
  5. Во время автообновления нельзя выключить ПК. Это жутко раздражает (не оставлять же его включенным на ночь!).

Кстати, как вариант, можно отключить только автообновление. То есть, выбрать в настройках Центра обновления 2-ой или 3-ий вариант (чтобы решение об установке принимали лично Вы).

Зачастую в больших сетях для упрощения работы с добавлением новых компьютеров и других устройств в сеть используют протокол динамического выделения адресов — DHCP. Это значительно упрощает настройку оборудования и экономит огромное количество времени. Используя DHCP нам не нужно производить настройку сети на каждом отдельном устройстве, нужно лишь подключить устройство к сети и DHCP сервер сделает все настройки автоматически. Каждый домашний WiFi роутер имеет в себе встроенный DHCP сервер, поэтому вам не нужно каждый раз при подключении к разным роутерам прописывать все настройки вручную, роутер делает это за вас.

DHCP сервер может автоматически присвоить клиенту:

  • Адрес ip;
  • Маску подсети;
  • IP адрес шлюза;
  • IP адрес DNS сервера;

В отдельных случаях:

  • Имя хоста;
  • Имя домена;
  • Адрес серверов времени(NTP);

Преимущество использования DHCP сервера заключается в том, что при огромных размерах сети в несколько тысяч устройств, её будет очень удобно и почти безболезненно настраивать. Представьте себе, если в сети нужно поменять ip адреса на персональных компьютерах сотрудников, принтерам выдать иные адреса, управляемому сетевому оборудованию еще назначить и свои. При размерах сети в несколько тысяч устройств, ручная настройка отняла бы у вас огромное количество времени. Другое дело когда в сети есть настроенный DHCP сервер, который выполнить настройку за вас и на это потребуется всего несколько минут. В дополнение к этому, сервер поддерживает возможность резервирования адресов, таким образом если клиенту(компьютеру,принтеру,коммутатору) нужно назначить фиксированный адрес, мы можем это указать в настройках DHCP сервера и при следующем запросе, клиент получит нужный ему адрес.

Установка и настройка DHCP сервера

В Ubuntu установка и настройка DHCP сервера выполняется всего в несколько шагов, быстро и продуктивно. Для того, чтобы начать использовать сервер нужно установить программное обеспечение на компьютер, делается это при помощи команды:

sudo apt-get install isc-dhcp-server

Минимальная настройка DHCP сервера включает в себя редактирование только 2х файлов.

Первый файл который мы с вами отредактируем, это nano /etc/default/isc-dhcp-server и добавляем/редактируем всего одну строку:

INTERFACES="eth3"

где «eth3» интерфейс к которому подключаются клиенты с внутренней сети и который будет слушать DHCP;

Теперь собственно и сама настройка DHCP сервера. Открываем файл nano /etc/dhcp/dhcpd.conf и удаляем все содержимое.
Сейчас мы с вами настроим сервер только для раздачи адресов всем устройствам, которые будут просить запрашивать у сервера адрес. Добавляем в файл строки:

Default-lease-time 7200; max-lease-time 43200; subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.100 192.168.0.200; option routers 192.168.0.1; option domain-name-servers 192.168.0.1; }

Разберем по-порядку строки которые мы внесли в этот файл:

  • default-lease-time — время аренды(в секундах) адреса у сервера, если клиент не запросил другое;
  • max-lease-time максимальное время аренды адреса;
  • subnet — описывает сеть ip и её маску;
  • range — диапазон адресов с которых по запросу клиента будут предоставляться адреса;
  • option routers — адрес роутера. Это должен быть адрес интерфейса через который пользователи попадают в интернет.
  • option domain-name-servers — адрес DNS сервера. Указывает на то, что сервер расположен на этом же компьютере и слушает интерфейс с адресом 192.168.0.1

Роутером у нас должен выступать интерфейс который мы описали в файле INTERFACES="eth3" и там должен быть назначен адрес который мы описали в настройках DHCP сервера. Как настроить сеть в Ubuntu я описывал в статье — . Если у вас не установлен DNS сервер, можете использовать сервер от вашего ISP провайдера или публичные от google или yandex .

Для управления DHCP сервером используются команды:

  • /etc/ init . d / isc - dhcp - server start — запуск сервера;
  • /etc/ init . d / isc - dhcp - server stop — остановка сервера;
  • /etc/ init . d / isc - dhcp - server restart — перезапуск сервера;

Можно использовать команду service isc-dhcp-server {start|stop|restart} .

Если у вас возникнут вопросы по настройке или установке оставляйте ваши комментарии. В следующей статье я опишу более тонкую настройку DHCP сервера.

Здравствуйте, господа.
Занимаюсь самообразованием по администрированию Linux и недавно заинтересовался установкой и настройкой ddns-сервера (Dynamic DNS) под данной платформой, используя связку Bind + dhcpd . Чтение форумов, man и документации с сайтов дали вполне положительный результат и мне хотелось бы поделиться опытом с людьми. Надеюсь статья будет полезной.
Изначально мы имеем чистую ОС GNU/Linux Debian 6.0.1 , без графического окружения. После установки было произведено обновление и установлен минимальный набор программного обеспечения, такого как mc и sudo . Так же я заранее привел имя хоста к виду hostname.domainname . И так как я использую виртуальную машину VirtualBox и работаю не в «боевых» условиях, все действия производятся из-под root аккаунта. Всё необходимое программное обеспечение устанавливается из репозиториев с помощью пакетного менеджера apt-get .
Суммарная информация:
ОС - GNU/Linux Debian 6.0.1;
Имя сервера - ddnsagc01.agency.com;
Параметры сети - static 192.168.1.2/24;
Установка isc-dhcp-server
Итак, начнем мы с установки сервера dhcp.
# apt-get install dhcp3-server
После установки, останавливаем демон сервера командой:
# /etc/init.d/isc-dhcp-server stop
И идем править основной конфигурационный файл, который находится по адресу /etc/dhcp/dhcpd.conf . Для редактирования я буду использовать идущий в составе дистрибутива редактор nano :
# nano /etc/dhcp/dhcpd.conf
# При начальной настройке я отключаю опцию динамического обновления и подключу её позже.
ddns-update-style none;
# Базовая конфигурация для моего домена agency.com.
subnet 192.168.1.0 netmask 255.255.255.0 {
default-lease-time 21600; # Время на которое выдается адрес, сек.
max-lease-time 28800; # Принудительно забрать адрес через, сек.
option domain-name «agency.com»; # Имя домена.
option domain-name-servers 192.168.1.2; # Адрес dns сервера.
option subnet-mask 255.255.255.0; # Маска подсети.
option routers 192.168.1.1; # Шлюз.
range 192.168.1.1 192.168.1.100; # Диапазон выдаваемых адресов.
}
# Фиксированные адреса выдаваемые для машин по MAC-адресу.
Host adagc01 { # Контроллер домена.
hardware ethernet 08:00:27:19:c8:48;
fixed-address 192.168.1.3;
}
Host ddnsagc01 { # ddns сервер.
hardware ethernet 08:00:27:05:99:1a;
fixed-address 192.168.1.2;
}
Host squid01 { # Шлюз.
hardware ethernet 08:00:27:4f:78:1b;
fixed-address 192.168.1.1;
}
Следующий конфигурационный файл который нам предстоит поправить находится в директории /etc/default/ и называется isc-dhcp-server . Там нам нужно изменить всего одну строчку, указывающую DHCP серверу на каком интерфейсе ему работать:
INTERFACES = «eth0» # Сюда подставляем имя своего интерфейса.
После внесения всех изменений стартуем демон командой:
# /etc/init.d/isc-dhcp-server start
Проверяем работу, пытаясь получить адрес машиной из нашей сети и если всё в порядке сервер выдаст адрес из указанного диапазона и остальные указанные нами настройки.
Установка DNS-сервера Bind
Вместе с Bind полезно будет поставить еще и утилиты для работы с сетью (такие как nslookup и dig, входящие в пакет dnsutils):
# apt-get install bind9 bind9utils dnsutils
После установки останавливаем сервер:
# /etc/init.d/bind9 stop
Конфиги Bind хранит в /etc/bind . Там же лежат файлы корневых зон и зон прописанных по умолчанию - db.0, db.127, db.root и т.д. rndc.key - файл ключ сгенерированный при установке, он нам понадобится для обновления наших файлов-зон с помощью dhcp-сервера. Новый ключ генерируется с помощью утилиты rndc-confgen . Разработчики предлагают вам не вносить изменения в основной конфигурационный файл сервера named.conf, а подключать к нему свои конфигурационные файлы с помощью директивы include . Так, если открыть named.conf после установки там будет всего лишь пояснение, что это за файл и три строчки определяющих подключаемые конфиги:
# less /etc/bind/named.conf | grep include
include «/etc/bind/named.conf.options»;
include «/etc/bind/named.conf.local»;
include «/etc/bind/named.default-zones»;
Сперва я внес информацию из rndc.key в основной конфигурационный файл, добавив его опять же с помощью include:
# nano /etc/bind/named.conf
include «/etc/bind/rndc.key»;
Теперь нам необходимо прописать собственные прямую и обратные зоны. Разработчики предлагают использовать для этого файл named.conf.local , что мы и сделаем:
# nano /etc/bind/named.conf.local
zone «agency.com» { # Название прямой зоны.
type master;
file «db-agency.com»; # Имя файла зоны.

};

Zone «1.168.192.in-addr.arpa» { # Название обратной зоны.
type master;
file «db-1.168.192»; # Имя файла зоны.
allow-update { key rndc-key; }; # Разрешаем обновление зоны с ключом.
};
Далее нам необходимо создать указанные файлы. По умолчанию Bind предполагает их хранение в /var/cache/bind :
# touch /var/cache/bind/db-agency.com
# touch /var/cache/bind/db-1.168.192
Нам необходимо прописать некоторые параметры в только что созданные зоны.
Файл прямой зоны:

# nano /var/cache/bind/db-agency.com
$TTL 10800
agency.com. IN SOA ddnsagc01.agency.com. admin.agency.com. (
11 ; Порядковый номер.
10800 ; Обновление.
3600 ; Повторная попытка.
604800 ; Устаревание.
3600) ; Отрицательное TTL в 1 час.
;
; Укажем серверы имен.
;
agency.com. IN NS ddnsagc01.agency.com.
;
; Так же пропишем А запись для указанного сервера имен.
ddnsagc01 A 192.168.1.2
Файл обратной зоны:

$TTL 10800
1.168.192.in-addr.arpa. IN SOA ddnsagc01.agency.com. admin.agency.com. (
11 ; Порядковый номер
10800 ; Обновление
3600 ; Повторная попытка
604800 ; Устаревание
3600) ; Отрицательное TTL в 1 час
;
; Укажем серверы имен.
;
1.168.192.in-addr.arpa. IN NS ddnsagc01.agency.com.
;
; Так же пропишем PTR запись для указанного сервера имен.
2.1.168.192.in-addr.arpa. IN PTR ddnsagc01.agency.com.
Установим владельцем только что созданных файлов пользователя bind:
# chown bind:bind /var/cache/bind/db-agency.com
# chown bind:bind /var/cache/bind/db-1.168.192

Настройка динамического обновления зон
Bind настроен и теперь нам необходимо настроить dhcp сервер на обновление файлов зон bind. Для этого открываем для редактирования и меняем параметр ddns-update-style с none на interim в /etc/dhcp/dhcpd.conf:
ddns-update-style interim;
Прописываем rndc-key (который можно подключить и через include, но я предпочел прописать вручную):
key rndc-key {
algorithm hmac-md5;
secret «XXXXXXXXXXX»;
}
И наконец указываем какие зоны должен обновлять сервер:
zone agency.com {

key rndc-key;
}
zone 1.168.192.in-addr.arpa {
primary 127.0.0.1; # Адрес DNS сервера.
key rndc-key;
}
Перезапускаем демоны Bind и isc-dhcp-server и проверяем работу установленной связки:
# /etc/init.d/bind9 restart
# /etc/init.d/isc-dhcp-server restart
После перезапуска демонов и в том случае, если всё прописано верно - в каталоге /var/cache/bind появятся.jnl файлы (журналы) наших зон, указывающие на то, что зоны корректно обновляются. В моём случае Bind так же чуть изменил файлы зон, подкорректировав их таким образом, чтобы стали использоваться сокращения в виде символа «@» для подмены имени домена, заменил значения указанные в часах и неделях на секунды (как в приведенных мною конфигах) и некоторые другие.
Bind и isc-dhcp-server записывают информацию о своей работе в syslog , так что если что-то не заработало, идем в /var/log/syslog и ищем в чем загвоздка. Следует обращать внимание на знаки препинания при описании доменных зон. Так моя ошибка заключалась в том, что я пропустил точку при указании домена и никак не мог добиться обновления обратной зоны.
Спасибо за внимание, надеюсь статья окажется полезной.
При написании статьи использовалась книга "DNS и BIND " Крикета Ли и Пола Альбитца, man страницы и многочисленные форумы в сети Интернет.

P.S.

Всё описанное выше я оформил в виде pdf-файла, в котором т.ж. присутствует раздел по использованию настроенной связки для работы с сервером Active Directory. Этот раздел является практически копией статьи Алексеюя Кеда aka Lissyara (http://www.lissyara.su) и я не включаю его в данную публикацию. Но тем не менее, я выкладываю ссылку на данный PDF-документ, который немного отличается по форматированию и имеет небольшие дополнения.

Добрый день, эта статья будет посвящена установке и настройке DHCP на сервере Ubuntu 14.04. В прошлой статье мы говорили о том, как настроить DNS . DHCP очень часто работает в связке с DNS. DHCP раздает адреса, а DNS записывает символьное представление IP-адреса.

И так, приступим. Как всегда я предполагаю, что у Вас установлен сервер Ubuntu 14.04 и он полностью обновлен. Теперь устанавливаем службу DHCP, выполнив команду:

Sudo apt-get install isc-dhcp-server

Служб DHCP в ubuntu привиликое множество, я не буду рассказывать про них. Я предпочитаю именно isc-dhcp-server. После установки рекомендую остановить DHCP службу командой:

Это делается для того, что если у Вас сервер находится в рабочей сети, то чтоб не начал раздавать адреса. Теперь заходим в файл /etc/default/isc-dhcp-server

Sudo nano /etc/default/isc-dhcp-server

В этом фале находим строку INTERFACES=”” и между кавычек вписываем название сетевого интерфейса на котором будут раздаваться адреса. Чтоб посмотреть какие названия сетевых интерфейсов у Вас есть, выполните команду:

После того как впишите название сетевого интерфейса, у Вас должно получится что то вроде этого:

# Defaults for dhcp initscript
# sourced by /etc/init.d/dhcp
# installed at /etc/default/isc-dhcp-server by the maintainer scripts

#
# This is a POSIX shell fragment
#

# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
# Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="eth0"

Sudo nano /etc/dhcp/dhcpd.conf

В этом файле нам необходимо указать диапазон адресов, которые будут выдавать нашим серверов. Сделайте по примеру

Subnet 192.168.0.0 netmask 255.255.255.0 { //указываем подсеть range 192.168.0.2 192.168.0.254; //диапазон выдачи option domain-name-servers 192.168.0.1; //указываем DNS option domain-name "workgroup"; //Доменное имя option routers 192.168.0.1; //Шлюз по умолчанию option broadcast-address 192.168.0.255; //Широковещательный адрес default-lease-time 604800; //время аренды в секундах (7дней) max-lease-time 604800; //максимальное время аренды в секундах (7дней) }

Всё готово, можем запустить:

Sudo service isc-dhcp-server stop

Проверим что адреса выдаются, если всё в порядке, перейдем к связке с DNS. Для связки с DNS нам понадобится ключ. Ключ можно сгенировать следующей командой

Dnssec-keygen -a HMAC-MD5 -b 128 -r /dev/urandom -n USER DHCP_UPDATER

Ключ сгенирован, и для того чтоб его увидеть воспользуемся командой:

Cat Kdhcp_updater.*.private|grep Key

Ключ необходимо записать, он нам понадобится в двух конфигурационных файлах. Теперь открываем /etc/dhcp/dhcpd.conf и в любом месте добавляем:

Key DHCP_UPDATER { //Описание ключа, его алгоритмы algorithm HMAC-MD5.SIG-ALG.REG.INT; secret "ЗДЕСЬ ЗАПИСАННЫЙ КЛЮЧ"; } zone workgroup. { //зона которую DHCP должен обновлять primary 127.0.0.1; key DHCP_UPDATER; } zone 0.168.192.in-addr.arpa. {//обратная зона которую DHCP должен обновлять primary 127.0.0.1; key DHCP_UPDATER; }

Готово, теперь DHCP будет обновлять DNS. Теперь в файле DNS надо разрешить это обновление указав ключ. Открываем файл /etc/bind/named.conf.local и добавляем в него:

Key DHCP_UPDATER { //Описание ключа, его алгоритмы algorithm HMAC-MD5.SIG-ALG.REG.INT; secret "ЗДЕСЬ ЗАПИСАННЫЙ КЛЮЧ"; }

Ищем в этом же фале описание зон workgroup и 0.168.192.in-addr.arpa и в их описание добавляем строку allow-update { key DHCP_UPDATER; }; Должно получится примерно так:

Zone "workgroup" { type master; file "/etc/bind/db.example.com"; allow-update { key DHCP_UPDATER; }; }; zone "0.168.192.in-addr.arpa" { type master; file "/etc/bind/db.0.168.192"; allow-update { key DHCP_UPDATER; }; };

Теперь перезапустим службы DNS и DHCP

Sudo service isc-dhcp-server restart
sudo service bind9 restart

Всё готво, теперь все компьютеры получившие адреса от DHCP будут попадать в DNS.

Выкладываю мини-HOWTO настройки DHCP-сервера на Linux . В статье хочу рассказать, как работает протокол DHCP ? Как работает клиент DHCP ? А так же как собственно, настроить сервер DHCP ?

Чем же данный сервер может быть полезен в сети? Основная функция - это автоматическая выдача клиентским машинам информации о конфигурации сети (такой как IP-адрес, маска, шлюз и др.).

Протокол DHCP

Протокол DHCP (Dynamic Host Configuration Protocol - протокол динамического конфигурирования хостов ) является протоколом клиент-серверной модели. То есть, есть сервер DHCP (демон dhcpd) отвечающий на запросы клиентов и есть клиент DHCP (dhclient) посылающий запросы и принимающий ответы от сервера. Передача данных производится при помощи протокола UDP , при этом сервер принимает сообщения от клиентов на порт 67 и отправляет сообщения клиентам на порт 68 .

В общем случае, не размусоливая о структуре посылаемых пакетов, схему работы протокола можно представить следующим рисунком:

Градиентными овалами и стрелками на схеме обозначены широковещательные сообщения и направление сообщения соответственно. Линиями обозначены не широковещательные сообщения. Пунктиром обозначены, возможные сообщения (необязательные). На основании рисунка, рассмотрим пример процесса получения IP-адреса клиентом от параллельно работающих серверов DHCP . Предположим, клиент ещё не имеет собственного IP-адреса. Процесс состоит из следующих этапов:

1. Обнаружение DHCP (DHCPDISCOVER)

На первом этапе , клиент выполняет широковещательный запрос по всей физической сети с целью обнаружить доступные DHCP-серверы. Он отправляет сообщение типа DHCPDISCOVER , при этом в качестве IP-адреса источника указывается 0.0.0.0 (так как компьютер ещё не имеет собственного IP-адреса), а в качестве адреса назначения - широковещательный адрес 255.255.255.255. Кроме IP источника и назначения, клиент в данном сообщении посылает: уникальный идентификатор запроса, свой MAC, и, возможно, прошлый присвоенный IP .

2. Ответ DHCP - сервера (DHCPOFFER)

Получив сообщение от клиента, сервера определяют требуемую конфигурацию клиента в соответствии со своими указанными в конфигурационном файле настройками. Все сервера, получившие запрос, формируют ответ (DHCPOFFER ), содержащий конфигурацию клиента, и отправляют его клиенту на MAC-адрес. В ответе содержится следующая информация: IP, назначенный хосту, и прочие параметры (такие, как адреса маршрутизаторов и DNS-серверов). Клиент получает ответы от всех серверов DHCP, функционирующих в сети, из них он должен выбрать тот, который его «устраивает» (а устраивает его скорее всего тот, который пришел первым).

3. Запрос DHCP-сервера (DHCPREQUEST)

Выбрав одну из конфигураций, предложенных DHCP-серверами, клиент отправляет запрос DHCP (DHCPREQUEST ). Он рассылается широковещательно. В сообщении содержится информация из сообщения DHCPDISCOVER + специальная опция - идентификатор сервера - указывающая адрес DHCP-сервера. При этом, сервер, который не выбран в качестве "устраивающего" тоже видит, что он не выбран.

4. Подтверждение от DHCP-сервера (DHCPACK)

Наконец, сервер подтверждает запрос и направляет это подтверждение (DHCPACK ) клиенту. После этого клиент должен настроить свой сетевой интерфейс, используя предоставленные опции.

При этом, кроме указанных сообщений, возможны и другие (на схеме указаны пунктиром ):

Отказ от настроек, предоставленных DHCP-сервером (DHCPDECLINE )

Если после получения подтверждения (DHCPACK ) от сервера клиент обнаруживает, что указанный сервером адрес уже используется в сети, он рассылает широковещательное сообщение отказа DHCP (DHCPDECLINE ), после чего процедура получения IP-адреса повторяется.

Отмена от DHCP-сервера (DHCPNAK)

Если по каким-то причинам сервер не может предоставить клиенту запрошенный IP-адрес, или если аренда адреса удаляется администратором, сервер рассылает широковещательное сообщение отмены DHCP (DHCPNAK ). При получении такого сообщения соответствующий клиент должен повторить процедуру получения адреса.

Освобождение адреса DHCP (DHCPRELEASE)

Клиент может явным образом прекратить аренду IP-адреса. Для этого он отправляет сообщение освобождения DHCP (DHCPRELEASE ) тому серверу, который предоставил ему адрес в аренду.

Информация DHCP (DHCPINFORM)

Сообщение информации DHCP (DHCPINFORM ) предназначено для определения дополнительных параметров TCP/IP (например, адреса маршрутизатора по умолчанию, DNS-серверов и т. п.) теми клиентами, которым не нужен динамический IP-адрес (то есть адрес которых настроен вручную). Серверы отвечают на такой запрос сообщением подтверждения (DHCPACK ) без выделения IP-адреса.

Клиент DHCP (dhclient) Linux

Для работы Linux в качестве DHCP-клиента необходимо (в RedHat, возможно - dhcpcd ). Данный клиент запрашивает у сервера параметры и применяет их к локальному хосту. dhclient использует конфигурационный файл /etc/dhclient.conf (иногда /etc/dhcp/dhclient.conf или /etc/dhcp3/dhclient.conf ). А так же, хранит информацию об арендованных параметрах в файле /var/lib/dhcp/dhclient.leases. В общем случае, клиент DHCP устанавливается вместе с дистрибутивом ОС и создает файл конфигурации по умолчанию, который вполне работоспособен и не требует вмешательств. Для работы dhclient , необходимо в конфигурационных файлах сетевых интерфейсов вашего дистрибутива (на которых необходимо получение сетевых параметров по DHCP), указать параметр BOOTPROTO=dhcp (для RedHat) и iface eth_№_ dhcp (для Deb).

Сервер DHCP (dhcp-server / dhcpd) на Linux

Думаю функции сервера, из вышеописанного, вполне ясны - выдавать клиентам (хостам) параметры сетевого подключения. Для работы сервера необходимо установить пакет dhcp-server (в более старых версиях - dhcpd , иногда пакет имеет имя dhcp3-server ). После установки, в системе появиться привидение демон - dhcpd . Данный демон должен быть разрешен для запуска на (команда в RedHat - /sbin/chkconfig dhcpd on , в Debian - /usr/sbin/update-rc.d dhcpd defaults ). Так же, необходимо, чтобы один из интерфейсов был настроен на статический адрес из той подсети, которую будет раздавать клиентам, иначе демон не будет работать корректно. После установки демон попытается запуститься, но у него ничего не получиться, потому что конфиг неверен.

Dhcp-server:~# cat /etc/dhcp3/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; } host hostname { hardware ethernet 08:00:00:00:00:23; fixed-address 192.168.1.222; }

По данному конфигу клиентам распределяются IP-адреса из диапазона 192.168.1.10-192.168.1.100 и 192.168.1.150-192.168.1.200. Если клиент не запрашивает временных рамок, сервер выдает адрес на 600 секунд (default-lease-time 600 ). В противном случае, максимально возможное время будет установлено в 7200 секунд (max-lease-time 7200 ). Сервер будет также "советовать" клиенту использовать 255.255.255.0 в качестве маски подсети (option subnet-mask 255.255.255.0) , 192.168.1.255 для широкого вещания (broadcast) (option broadcast-address 192.168.1.255 ), 192.168.1.254 в качестве маршрутизатора/шлюза и 192.168.1.1 и 192.168.1.2 для DNS-сервера (option routers 192.168.1.254 и option domain-name-servers 192.168.1.1, 192.168.1.1 соответственно ). О чем нам как бы говорит клиент, получивший адрес:

Host@host-VirtualBox1:~$ ifconfig eth0 Link encap:Ethernet HWaddr 08:00:27:fc:b4:ce inet addr:192.168.1.11 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fefc:b4ce/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2939 errors:0 dropped:0 overruns:0 frame:0 TX packets:57 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:945634 (945.6 KB) TX bytes:10373 (10.3 KB)

Так же, в конфиге есть такой параметр как host hostname , который говорит, что хост с именем hostname у которого сетевая карта имеет MAC 08:00:00:00:00:23 должен иметь постоянный адрес 192.168.1.222 (в Windows данная настройка называется резервирование ). Поля options для данного раздела конфигурации так же приемлемы.

Кроме того, возможно "вкладывать" параметр host в параметр subnet для формирования более понятного конфигурационного файла:

Dhcp-server:~# cat /etc/dhcp3/dhcpd.conf ..... 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; host hostname { hardware ethernet 08:00:00:00:00:23; fixed-address 192.168.1.222; } }

Балансировка и резервный DHCP-server

Ознакомившись с настройкой DHCP-сервера, можно настроить резервировный (он же балансирующий нагрузку на основной) сервер DHCP. Резервный DHCP-server настраивается как и основной. Отличие резервного от основного в том, что основным сервером выдаются 80% адресов, а резервным - 20%. То есть параметр range в конфиге задается таким образом, чтобы поделить сеть в соотношении 80/20.



Загрузка...