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 адреса устройствам, подключенным через порт, выделенный под локальную сеть.
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
Наверно это не порт, а интерфейс будет...