Image

База знаний → Установка и настройка DHCP сервера в Linux Debian 12

[Виртуальные сервера]
Дата публикации: 11.03.2024

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

1. Установка пакетов

apt install isc-dhcp-server

1.1 Предварительная настройка

В файле:

nano /etc/default/isc-dhcp-server

раскомментируем сроки и приведем файл к виду, где в поле INTERFACESv4 укажем порт для локальной сети, в нашем случае enp1s0.

DHCPDv4_CONF=/etc/dhcp/dhcpd.conf
DHCPDv4_PID=/var/run/dhcpd.pid
INTERFACESv4="enp1s0"

1.2 Настройка самого интерфейса enp1s0 если он не настроен

/etc/network/interfaces
auto enp1s0
    iface enp1s0 inet static
    address 100.100.100.1
    netmask 255.255.255.0

1.2.1 Перезапустим службу

service networking restart

1.3 Базовые настройки dhcp службы

nano /etc/dhcp/dhcpd.conf
option domain-name "localhost.localdomain";
option domain-name-servers 100.100.100.1;
default-lease-time 32400;
max-lease-time 604800;
log-facility local7;
authoritative;

subnet 100.100.100.0 netmask 255.255.255.0 {
  range 100.100.100.2 100.100.100.250;
  option broadcast-address 100.100.100.255;
  option routers 100.100.100.1;
}

1.3.1 Настройка статического IP по MAC адресу

nano /etc/dhcp/dhcpd.conf
host mini-pc { 
    hardware ethernet 06:e0:4c:6a:04:14;
    fixed-address 100.100.100.101;
}

1.4 Запустим службу и добавим в автозагрузку

systemctl start isc-dhcp-server
systemctl enable isc-dhcp-server

1.5 Добавим правила в iptables

iptables -A INPUT -p tcp --dport 67 -j ACCEPT
iptables-save > /etc/iptables/rules.v4

1.6 Логирование

При необходимости включения файла лога, установим службу:

apt install rsyslog

Добавим конфигурацию:

nano /etc/rsyslog.conf
local7.* /var/log/dhcpd.log

Перезапустим службу

systemctl restart rsyslog
systemctl restart isc-dhcp-server.service

Лог файл будет создан и доступ по адресу /var/log/dhcpd.log

Настройка выполнена, сервер настроен и раздает ip адреса устройствам, подключенным через порт, выделенный под локальную сеть.





Егор
30.05.2024 22:04
nano /etc/dhcp/dhcpd.conf
option domain-name "Сервер.work";
option domain-name-servers имя доменов;
default-lease-time 3600;
max-lease-time 7200;
authoritative;
subnet ипчик начала netmask маска {
option routers ипчик роутора;
option subnet-mask ип маска;
range радиусов айписов;
}
host наш сервак нужный {
hardware ethernet (мак адрес нашего сервака);
fixed-address конкретный айпи;
}
systemctl start isc-dhcp-server
systemctl enable isc-dhcp-server
Юрок
31.10.2024 02:42
Пункт 1.1 где в поле INTERFACESv4 укажем порт для локальной сети, в нашем случае enp1s0.
Наверно это не порт, а интерфейс будет...
Юрок
01.11.2024 02:55
Пункт 1.3 Базовые настройки dhcp службы там, где в конфиге указываете log-facility local7; и пункт 1.6 Логирование где Вы ставите и настраиваете rsyslog. Получается что у Вас и journalctl и rsyslog генерируют логи, засоряя тем самым место. Не лучше ли отказаться от скуф'ского rsyslog в пользу journalctl и не вывалить тут статью, как юзать сам journalctl...?