Библиотека сайта rus-linux.net
DHCP (Dynamic Host Configuration Protocol), динамический протокол настройки хостов - это протокол, который дает возможность компьютерам в сети получать свои сетевые настройки у сервера. В “сетевые настройки” входит IP-адрес, маска подсети, адрес DNS сервера, шлюз по умолчанию (default gateway). Также DHCP может взаимодействовать с DNS сервером и динамически менять в нем имена хостов. В GNU/Linux протокол DHCP поддерживается демоном dhcpd
Установим DHCP сервер:
# urpmi dhcpd
Запуск DHCP сервера:
# /etc/init.d/dhcpd start
Останов DHCP сервера:
# /etc/init.d/dhcpd stop
После установки необходимо создать конфигурационный файл /etc/dhcpd.conf
.
Можно просто скопировать файл примера:
cp /etc/dhcpd.conf.sample /etc/dhcpd.conf
Далее мы будем вносить изменения в этот конфигурационный файл
/etc/dhcpd.conf
.
Рассмотрим самый простейший вариант использования DHCP сервера:
пусть мы хотим, чтобы все хосты в сети 192.168.1.0/24
получали IP в диапазоне 192.168.1.128-250
. Также нам нужно,
чтобы машины в сети использовали по умолчанию шлюз 192.168.1.1
и DNS сервер 192.168.1.4. Кроме того нам нужно чтобы клиентская машина знала что
она работает в домене mynet.lan
.
Настройки такого сервера выглядят следующим образом:
ddns-update-style none; subnet 192.168.1.0 netmask 255.255.255.0 { option routers 192.168.1.1; option subnet-mask 255.255.255.0; option domain-name-servers 192.168.1.4; option domain-name "mynet.lan"; range 192.168.1.128 192.168.1.250; }
В нашем примере первая, обратившаяся за настройками, машина получит
адрес 192.168.1.250
, следующая 192.168.1.249
ну и так далее.
В случае, если нам нужно, чтобы некоторые компьютеры в сети получали вместо случайных адресов только жестко закрепленный за ними адрес (в соответствии с аппаратным MAC-адресом сетевой карты), тогда можно использовать такую конфигурацию:
ddns-update-style none; subnet 192.168.1.0 netmask 255.255.255.0 { option routers 192.168.1.1; option subnet-mask 255.255.255.0; option domain-name-servers 192.168.1.4; range 192.168.1.128 192.168.1.250; host smith # Вася Сидоров :-) { hardware ethernet 00:0c:29:8b:02:e7; fixed-address 192.168.1.5; } host neo # Коля Петров { hardware ethernet 00:22:22:22:22:22; fixed-address 192.168.1.6; } }
В этом примере IP-адреса раздаются с привязкой к MAC-адресу сетевой карты.
Сетевая карта с MAC 00:0c:29:8b:02:e7
всегда будет получать
адрес 192.168.1.5
, а сетевая карта с MAC
00:22:22:22:22:22
соответственно адрес 192.168.1.6
,
а остальные компьютеры в сети будут получать адреса случайным образом в диапазоне с
192.168.1.128
по 192.168.1.250
.
Если мы хотим чтобы IP-адреса получали только компьютеры, привязанные к MAC, тогда в
данном примере нужно закомментировать строку
range 192.168.1.128 192.168.1.250;
.