Сб. Ноя 28th, 2020

В сегодняшней статье рассмотрим пример установки и настройки dhcp на сервере с операционной системой Ubuntu.

DHCP — сетевой протокол, позволяющий сетевым устройствам автоматически получать IP-адрес и другие параметры, необходимые для работы в сети TCP/IP. Если сказать ещё проще, то это программное обеспечения для автоматической регулировки вашей сети.

Все привыкли при подключении к домашней Wi-Fi сети, например телефона или ноутбука, кроме пароля для подключения, ничего больше не вводить и не настраивать. Так вот, всем остальным: раздачей IP адреса, установкой DNS сервера, установкой маски сети, как раз занимается DHCP сервер.

Если вы решили, как и я, вместо роутера использовать например малинку (Raspberry pi) или же у вас ПК с Ubuntu Server на борту, то эта статья для вас. И так поехали.

Начальная конфигурация:

  • Raspberry pi 3 / Ubuntu Server 18.04
  • Настроенный DNS сервер.
  • Настроенный статический IP на интерфейсе смотрящий в локальную сеть.

Установка DHCP сервера

Для установки нашего dhcp сервера воспользуемся пакетом isc-dhcp-server входящий в официальный репозиторий. Подключаемся к нашему серверу по ssh или же просто на сервере набираем следующее:

sudo apt update && sudo apt dist-upgrade -y 
sudo apt install isc-dhcp-server

На этом установка закончена, приступаем к настройке.

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

После установке пакета isc-dhcp-server его необходимо сконфигурировать под наши нужды.

Открываем конфигурационный файл isc-dhcp-servera:

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

У меня вывод следующий, у вас может быть другой, но суть от этого не меняется:

wlan0: flags=4163  mtu 1500          inet 10.5.5.1  netmask 255.255.255.0  broadcast 10.5.5.255          inet6 fe80::1278:d2ff:fe76:39b3 prefixlen 64  scope id 0x20          ether 10:78:d2:76:39:b3  txqueuelen 1000  (Ethernet)          RX packets 8251090  bytes 771204980 (771.2 MB)          RX errors 0  dropped 0  overruns 0  frame 0          TX packets 13683459  bytes 17583238822 (17.5 GB)          TX errors 0  dropped 0 overruns 0  carrier 0  collis ions 0  enp3s8: flags=4163  mtu 1500          inet6 fe80::16d6:4dff:fe56:b85a  prefixlen 64  scope id 0x20          ether 14:d6:4d:56:b8:5a  txqueuelen 1000  (Ethernet)          RX packets 11640080  bytes 14487627873 (14.4 GB)          RX errors 0  dropped 0  overruns 0  frame 0          TX packets 7080571  bytes 1003297288 (1.0 GB)          TX errors 0  dropped 0 overruns 0  carrier 0  collis ions 0 lo: flags=73  mtu 65536          inet 127.0.0.1  netmask 255.0.0.0          inet6 ::1  prefixlen 128  scopeid 0x10          loop  txqueuelen 1000  (Local Loopback)          RX packets 4994259  bytes 1443661762 (1.4 GB)          RX errors 0  dropped 0  overruns 0  frame 0          TX packets 4994259  bytes 1443661762 (1.4 GB)          TX errors 0  dropped 0 overruns 0  carrier 0  colli ions 0

У меня интерфейс wlan0 смотрит в локальную сеть.

Давайте настроим сервер на прослушивания определенного интерфейса. Открываем следующий файл для редактирования.

sudo nano /etc/default/isc-dhcp-server

В конце прописываем следующее:

INTERFACESv4="wlan0"

wlan0 — имя нашего интерфейса

После данной манипуляции наш DHCP сервер будет принимать и отправлять запросы только от интерфейса wlan0.

Перезагружаем сервис:

sudo service isc-dhcp-server restart

Все на этом настройка закончена. Теперь при подключении к сети все девайсы получать настройки в автоматическом режиме.

Для раздачи интернета в локальную сеть можете посмотреть данную статью.

[endtxt]

0 0 голос
Article Rating
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x
Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов cookie) с использованием трекеров "Google Analytics" и "Yandex.Metrics". Порядок обработки Ваших персональных данных, а также реализуемые требования к их защите, содержатся в Политике конфиденциальности.
Принять