Сегодня в статье рассмотрим пример по установки и настройки dhcp сервера на операционной системой Ubuntu Server 20.04.
DHCP — сетевой протокол, позволяющий сетевым устройствам автоматически получать IP-адрес и другие параметры, необходимые для работы в сети TCP/IP. Если сказать ещё проще, то это программное обеспечения для автоматической настройки вашей сети.
Все привыкли при подключении к домашней сети, например ноутбука по WiFi или телефона, вводить только пароль от сети, а при подключении по витой паре вообще никаких настроек не производить. Вот тут, как раз нам и понадобиться наш DHCP сервер. Он займется раздачей: IP адреса, DNS сервера, установкой маски сети, и другими необходимыми параметрами входящими в его компетенцию.
Начальная конфигурация:
- Ubuntu Server 20.04
- Настроенный DNS сервер.
- Одна сетевая карта только для локального построения сети без доступа к интернету.
- Две сетевых карты для локальной сети и доступа в интернет.
Установка DHCP сервера
Для установки нашего dhcp сервера воспользуемся пакетом isc-dhcp-server входящий в официальный репозиторий Ubuntu. Подключаемся к нашему серверу по ssh или же просто на сервере набираем следующие команды:
sudo apt update && sudo apt dist-upgrade -y && sudo apt install isc-dhcp-server
- Данными командами мы обновили наш сервер и установили пакет DHCP сервера.
На этом установка закончена, приступаем к настройке.
Настройка DHCP сервера
После установке пакета isc-dhcp-server его необходимо сконфигурировать под наши нужды.
Открываем конфигурационный файл:
sudo nano /etc/dhcp/dhcpd.conf
Отредактируем его:
ddns-update-style none;
authoritative;
log-facility local7;
subnet 10.5.5.0 netmask 255.255.255.0 {
range 10.5.5.10 10.5.5.100;
option domain-name-servers 10.5.5.1;
option domain-name "lan";
option subnet-mask 255.255.255.0;
option routers 10.5.5.1;
option broadcast-address 10.5.5.255;
default-lease-time 600;
max-lease-time 3600;
}
#host ваше_название {
#hardware ethernet ab:22:0b:4d:11:1d;
#fixed-address 10.5.5.2; # }
- subnet — блок в котором описывается наша сеть (пул IP адресов и маска сети).
- range — диапазон IP адресов клиентов.
- option domain-name-servers — тут прописываем ip адрес сервера dns.
- option domain-name — название домена. В моем случае «lan».
- option subnet-mask — маска сети. Что такое маска и как её выбрать можно посмотреть в Википедии.
- option routers — ip адрес роутера. У нас это наша же машина.
- option broadcast-address — широковещательный адрес в сети, обычно это последний адрес сети «255».
- default-lease-time — время аренды адреса у сервера.
- max-lease-time — максимальное время аренды адреса у сервера.
- host — в данном блоке описывается настройки для выделенных IP адресов сетевого оборудования в сети. ( данные IP не должны попадать в диапазон range). Сетевым оборудованием могут выступать как принтеры, сканеры, ip-телефоны так и различные девайсы — телевизоры планшеты, умные интернет вещи и т.д., для которых необходимо зафиксировать определенный IP адрес.
- hardware ethernet — MAC адрес сетевой карты для которой фиксируется IP адрес.
- fixed-address — фиксированный IP адрес.
Так же если вы хотите, чтобы DHCP сервер обрабатывал запросы только с определенной сетевой карты, необходимо указать это в настройках. Для этого смотрим имя интерфейса, который смотрит в локальную сеть:
ifconfig
У меня вывод следующий, у вас может быть другой, но суть от этого не меняется:
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.5.5.1 netmask 255.255.255.0 broadcast 10.5.5.255
inet6 fe80::3445:5dff:fec7:c68c prefixlen 64 scopeid 0x20<link>
ether 36:45:5d:c7:c6:8c txqueuelen 1000 (Ethernet)
RX packets 1944624 bytes 1235126530 (1.2 GB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1900221 bytes 1221337743 (1.2 GB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Локальная петля (Loopback))
RX packets 112 bytes 15791 (15.7 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 112 bytes 15791 (15.7 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
У меня интерфейс eth0 смотрит в локальную сеть.
Давайте настроим сервер на прослушивания определенного интерфейса. Открываем следующий файл для редактирования.
sudo nano /etc/default/isc-dhcp-server
В конце прописываем следующее:
INTERFACESv4="eth0"
- eth0 — имя нашего интерфейса
После данной манипуляции наш DHCP сервер будет принимать и отправлять запросы только от интерфейса eth0
.
Перезагружаем сервис:
sudo service isc-dhcp-server restart
Все на этом настройка закончена. Теперь при подключении к сети все девайсы получать настройки в автоматическом режиме.
[endtxt]
. . . .
- Тест скорости дисков в Linux
- Как запустить команду в фоне в Linux
- Ошибка несоответствие размеров GPT PMBR
- nginx: [warn] protocol options redefined
- Как включить поддержку linux в windows 11