Get Adobe Flash player

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

DHCP в Linux реализован в виде dhcpd и dhcpcd. Dhcpd (сервер) непосредственно отвечает за назначение настроек сети клиентам при входе и выходе их из сети. Dhcpc необходим на рабочих станциях для получения информации c сервера.

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

Если понадобится поднять DHCP-сервер на PCLinuxOS, делаем так:

1. Через пакетный менеджер Synaptic установите пакет dhcp-server.

2. Конфигурационным файлом для dhcpd является /etc/dhcpd.conf (возможно его придется создать вручную). При запуске DHCP-сервера происходит выделение IP-адресов согласно содержащимся в файле /etc/dhcp.conf установкам. Выделенные адреса dhcpd регистрирует в файле dhcpd.leases, который находится в каталоге /var/dhcpd.

3. Отконфигурируйте через Midnight Commander файл /etc/dhcpd.conf:

Допустим мы хотим, чтобы все хосты в сети 192.168.0.0/24 получали динамические IP в диапазоне от 192.168.0.128 до 192.168.0.254. Также нам нужно, чтобы машины в сети использовали по умолчанию шлюз 192.168.0.1 и DNS сервер 192.168.0.1. Кроме того нам нужно чтобы клиентская машина знала что она работает в домене mypclinuxos.local (у вас может быть любой другой: comp.local, home.local...).

Настройки такого сервера выглядят следующим образом:

ddns-update-style none;
# описание подсети, которая будет обслуживаться, указывается сетевой адрес и маска сети
subnet 192.168.0.0 netmask 255.255.255.0 
{
# маршрутизатор по умолчанию
    option routers 192.168.0.1;
# маска подсети 255.255.255.0
    option subnet-mask 255.255.255.0;
# адрес DNS сервера, который будут использовать клиенты
    option domain-name-servers 192.168.0.1;
# устанавка домена по умолчанию
    option domain-name "mypclinuxos.local";
# диапазон адресов для клиентов
    range 192.168.0.128 192.168.0.254;
# сказать клиентам, чтобы перезапросили адрес через 21600 секунд (6 часов) после получения адреса
    default-lease-time 21600;
# забрать адрес самому через 28800 секунд (8 часов)
    max-lease-time 28800;
}

С такой настройкой компьютеры в сети будут получать адреса случайным образом в диапазоне с 192.168.0.128 по 192.168.0.254.

Если нужно, чтобы некоторые компьютеры в сети получали вместо случайных адресов только жестко закрепленный за ними статический адрес (в соответствии с аппаратным MAC-адресом сетевой карты), тогда используйте такую конфигурацию:

ddns-update-style none;
subnet 192.168.0.0 netmask 255.255.255.0 
{
    option routers 192.168.0.1;
    option subnet-mask 255.255.255.0;
    option domain-name-servers 192.168.0.1;
    
    range 192.168.0.128 192.168.0.254;

    host smith # Иван Иванов
    {
        hardware ethernet 00:0c:29:8b:02:e7;
        fixed-address 192.168.0.5;
    }

    host neo # Николай Петров 
    {
        hardware ethernet 00:22:22:22:22:22;
        fixed-address 192.168.0.6;
    }
}

В этом примере IP-адреса раздаются с привязкой к MAC-адресу сетевой карты. Сетевая карта с MAC 00:0c:29:8b:02:e7 всегда будет получать адрес 192.168.0.5, а сетевая карта с MAC 00:22:22:22:22:22 соответственно адрес 192.168.0.6, а остальные компьютеры в сети будут получать адреса случайным образом в диапазоне с 192.168.0.128 по 192.168.0.254. Если мы хотим чтобы IP-адреса получали только компьютеры, привязанные к MAC, тогда в данном примере нужно закомментировать (поставить знак #) строку range 192.168.0.128 192.168.0.254;.

4. Иногда при инсталляции не создается файл dhcpd.leases. Он нужен DHCPd для хранения информации о текущих выделенных адресах и представляет из себя обычный текстовый файл, который можно посмотреть во время работы DHCPd. Чтобы создать его наберите: touch /var/state/dhcp/dhcpd.leases Создастся пустой файл (нулевого размера). Вам не нужно изменять файл dhcpd.leases - это делает сам dhcpd. Если при его создании появилась ошибка, что он уже существует, просто игнорируйте ее и переходите к следующему шагу.

5. Запустите DHCP-сервер:

  • service dhcpd start - запуск dhcpd-сервера.
  • service dhcpd stop - остановка dhcpd-сервера.
  • service dhcpd restart - перезапуск dhcpd-сервера.

Если не запустится командой service, запускайте через следующие скрипты:

  • /etc/init.d/dhcpd start - запуск сервера.
  • /etc/init.d/dhcpd stop - остановка сервера.

Или:

  • /usr/sbin/dhcpd - dhcpd запустится на устройство eth0.
  • /usr/sbin/dhcpd eth1 - dhcpd запустится на устройство eth1.
  • /usr/sbin/dhcpd -d -f - режим отладки сервера для проверки его корректной работы.

6. Сделаем так, чтобы DHCP-сервер стартовал при загрузке компьютера:

  • Добавьте команду dhcpd в /etc/rc.d/rc.local

postheadericon Настройка динамического DHCP сервера, связанного с DNS

1. Работает связка DHCP с DNS так: машина в сети получает случайный IP-адрес и, при получении этого IP, DHCP сервер перенастраивает DNS сервер таким образом, чтобы у компьютеров в сети независимо от того, какой у них в данный момент IP, всегда было одно и тоже доменное имя.

2. Проверте, чтобы файлы /etc/named.conf, /var/named/mypclinuxos.reversed, /var/named/mypclinuxos.zone выглядели так, как описано здесь.

3. Теперь отконфигурируем файл /etc/dhcpd.conf:

subnet 192.168.0.0 netmask 255.255.255.0 
{
    option routers 192.168.0.1;
    option subnet-mask 255.255.255.0;
    option domain-name-servers 192.168.0.1;
    
    range 192.168.0.128 192.168.1.254;
    
    ddns-updates on;
    ddns-domainname "mypclinuxos.local";
    ddns-rev-domainname "in-addr.arpa";

    option domain-name "mypclinuxos.local";

    # "secret" нужно пересоздать с помощью команды dnssec-keygen, он должен быть ОДИНАКОВЫМ в этом файле, а также в /etc/named.conf, /etc/rndc.conf, /etc/rndc.key
        key mykey {
	algorithm hmac-md5;
	secret "IriCelUSbPMypSjImBsiTHMauOumRPMkdBjoxVINAx0vxJZNRKGWzFCKibad";
    };

    zone mypclinuxos.local. {
		primary 192.168.0.1;
		key mykey;
    }

    zone 0.168.192.in-addr.arpa. {
		primary 192.168.0.1;
		key mykey;
    }

    host ivan # Иван Иванов
    {
        hardware ethernet 00:0c:29:8b:02:e7;
#	option host-name "ivan";
	ddns-hostname "ivan";
    }

    host nikolay # Николай Петров 
    {
        hardware ethernet 00:22:22:22:22:22;
#	option host-name "nikolay";
	ddns-hostname "nikolay";
    }
}

В этом примере машина с МАС-адресом 00:0c:29:8b:02:e7 получит имя ivan.mypclinuxos.local, а машина с МАС-адресом 00:22:22:22:22:22 получит имя nikolay.mypclinuxos.local. Имена остальных машин будут формироваться на основе запроса DHCP клиента.

4. Для того, чтобы DHCP сервер мог управлять DNS сервером, необходимо также отредактировать файл /etc/rndc.conf

key mykey {
        algorithm hmac-md5;
        secret "IriCelUSbPMypSjImBsiTHMauOumRPMkdBjoxVINAx0vxJZNRKGWzFCKibad";
};

options {
        default-key mykey;
        default-server 127.0.0.1;
        default-port 953;
};

и файл /etc/rndc.key

key mykey {
       algorithm hmac-md5;
       secret "IriCelUSbPMypSjImBsiTHMauOumRPMkdBjoxVINAx0vxJZNRKGWzFCKibad";
};

 

5. После выполнения всех настроек перезапускаем DNS сервер и DHCP сервер.

Скачать PCLinuxOS

Поиск
Язык сайта