Настройка DHCP-сервера на Linux (Debian / Ubuntu), настройка isc-dhcp-server, решение semicolon expected

Статья последний раз была обновлена 25.07.2023

Настройка DHCP-сервера, на базе тачки с убунту или дебиан, позволит нам раздавать адреса внутри сети, формируя таким образом саму локальную сеть. Ведь многие устройства попросту не могут сконфигурировать сеть сами, плееры, хранилища, телефоны и проч.

В моем случае DHCP уже был встроен в дистрибутив Debian, зовется он isc-dhcp-server, для Ubuntu это:

sudo apt install dhcp3-server

Ну вот и все, далее топаем в конфигурационный файл и настраиваем. В дебиане все это дело лежит в /etc/dhcp/dhcpd.conf в убунте /etc/dhcp3/dhcpd.conf

Имя сети, можно оставить как есть, но лучше закомментировать.

#option domain-name "example.org"; 
#option domain-name-servers ns1.example.org;

Если данный DHPC-сервер будет единственным в сети, то эту директиву лучше раскоментировать.

authoritative;

Далее находим диапазон настроек адресов. Снимем комментарии со строчек, которые нам необходимы:

subnet 192.168.0.0 netmask 255.255.255.0 { # Подсеть и маска
range 192.168.0.5 192.168.0.254; # Указываем диапазон IP-адресов, которые будут выдаваться клиентам
option domain-name-servers 192.168.0.2; # IP DNS-сервера. Указываем адреса ДНС провайдера или ДНС сервера Google. Без явного указания, интернет вряд ли будет работать нормально
option domain-name "internal.example.org"; # Можно задать название своей сети
option routers 192.168.0.1; # Адрес шлюза или маршрутизатора, через который мы выходим в интернет. Иными словами, адрес нашего роутера или компьютера, выступающего в качестве роутера
option broadcast-address 192.168.0.255; # Широковещательный адрес, который находится последним в диапазоне IP данной подсети  
default-lease-time 600; # Время аренды IP-адреса в сек.   
max-lease-time 7200; } # Максимальное время аренды IP-адреса

Внимание! Несколько NAME-серверов надо прописывать в отдельных строках:

option domain-name "internal.example.org";
option domain-name "internal2.example.org";
option domain-name "internal3.example.org";

Иначе будет ругаться DHCP-сервер, говоря semicolon expected!

Все, теперь запускаем наш сервер в Ubuntu:

sudo /etc/init.d/dhcp3-server start

В Debian это:

sudo /etc/init.d/isc-dhcp-server restart

Если запуск прошел без ошибок, то если подключить клиентский компьютер в эту сеть, он получит IP адрес.

Рассмотрим вариант немного сложнее

Предположим, что в качестве маршрутизатора у нас выступает ПК с двумя сетевыми картами eth0 — смотрит в локальную сеть, eth1 — смотрит в интернет.

Чтобы наш DHCP-сервер выдавал IP-адреса только клиентам нашей локальной сети, необходимо указать системе, на каком сетевом интерфейсе принимать запросы от клиентов, в нашем случае eth0

sudo nano /etc/default/dhcp3-server

В строке INTERFACES указываем сетевой интерфейс, который смотрит в нашу локальную сеть (eth0).

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

Но и на этом не успокаиваемся

Предположим, нам необходимо закрепить определенный IP-адрес за опеределенный сетевым устройством, например, сетевым принтером.

MAC-адрес сетевого адаптера позволяет довольно легко идентифицировать нужное нам устройство внутри локальной сети.

Итак, определились: у нас есть принтер (хотя это может быть любое устройство, которое может подключаться к локальной сети) с MAC-адресом: 00:00:72:6c:9m:2p, нам необходимо присвоить ему постоянный IP 192.168.0.100

sudo nano /etc/dhcp3/dhcpd.conf

Добавляем в самый конец dhcpd.conf:

host network-printer {
hardware ethernet 00:00:72:6c:9m:2p;
fixed-address 192.168.0.100; }

Где:

  • hardware ethernet — аппаратный адрес, он же MAC;
  • fixed-address — IP, который должен доставаться именно этому устройству.

После этого перезагружаем DHCP-сервер, чтобы изменения вступили в силу.

sudo /etc/init.d/dhcp3-server restart

В случае если необходимо просмотреть журнал службы DHCP, идем в /var/log/messages

Настройка DHCP-сервера отнимет у вас не более пяти мин. жизни, но в последствии сохранит море времени.

Вот собственно и все!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *