Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

Глава 4. Настройка DHCP сервера

DHCP (Dynamic Host Configuration Protocol), динамический протокол настройки хостов - это протокол, который дает возможность компьютерам в сети получать свои сетевые настройки у сервера. В “сетевые настройки” входит IP-адрес, маска подсети, адрес DNS сервера, шлюз по умолчанию (default gateway). Также DHCP может взаимодействовать с DNS сервером и динамически менять в нем имена хостов. В GNU/Linux протокол DHCP поддерживается демоном dhcpd

1. Простейший DHCP сервер

Установим 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;.