Установка DHCP-сервера на Ubuntu Server 18.04 LTS

dhcp

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

Создаем виртуальные машины

Чтобы установить и настроить DHCP-сервер, нужно хотя бы два компютера, объединенные в сеть. Но в этом нам поможет VirtualBox. Создаем три виртуальные машины dhcp-server, pc-1 и pc-2. У виртуальной машины dhcp-server будут два сетевых интерфейса. Один будет смотреть в домашнюю сеть и получать настройки от роутера Keenetic Air (сетевой мост). А второй нужен для связи с двумя другими виртуальными машинами (виртуальный адаптер хоста).

Тут надо сказать несколько слов о настройке сети в VirtualBox. Существует несколько способов, рассмотрим два из них:

  • Сетевой мост — при таком подключении виртуальная машина становится полноценным членом локальной сети, к которой подключена основная система. Виртуальная машина получает адрес у роутера и становится доступна для других устройств, как и основной компьютер, по своему ip-адресу.
  • Виртуальный адаптер хоста — создается виртуальный сетевой адаптер для хост-системы, к которому можно подключить несколько виртуальных машин, тем самым объединив их в локальную сеть. Виртуальный адаптер при этом работает как обычный сетевой коммутатор, соединяя между собой хост-систему и виртуальные машины. Доступа к интернету нет, но зато машины находятся в одной сети и каждая имеет свой ip-адрес.

Как нетрудно догадаться, у виртуальных машин pc-1 и pc-2 будет по одному интерфейсу (виртуальный адаптер хоста). А второй адаптер (сетевой мост) для виртуальной машины dhcp-server нужен для выхода в интернет — чтобы установить пакет isc-dhcp-server.

Установка DHCP-сервера на Ubuntu Server 18.04 LTS

Настройки виртуального адаптера хоста: DHCP-сервер отключен (мы установим свой сервер), хост-система тоже есть в сети и доступна по ip-адресу 192.168.53.1. Виртуальной машине dhcp-server мы назначим статический ip-адрес 192.168.53.2, а виртуальные машины pc-1 и pc-2 получат адреса из диапазона 192.168.53.3 … 192.168.53.7.

Установка DHCP-сервера на Ubuntu Server 18.04 LTS
Установка DHCP-сервера на Ubuntu Server 18.04 LTS

Настройка сети для dhcp-server

Сначала нужно посмотреть, как называются сетевые интерфейсы в системе:

$ ls /sys/class/net enp0s3 enp0s8 lo

Открываем на редактирование файл /etc/netplan/01-netcfg.yaml

$ sudo nano /etc/netplan/01-netcfg.yaml
network: version: 2 renderer: networkd ethernets: enp0s3: # этот интерфейс получает настройки от домашнего роутера optional: true dhcp4: yes enp0s8: # для этого интерфейса назначаем статический ip-адрес optional: true dhcp4: no addresses: [192.168.53.2/24] nameservers: addresses: [8.8.8.8, 8.8.4.4]

Применяем настройки и смотрим сетевые интерфейсы:

$ sudo netplan apply # применить настройки из YAML-файла к работающей системе $ sudo netplan generate # сохранить текущие настройки в файл конфигурации networkd
$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:60:16:de brd ff:ff:ff:ff:ff:ff inet 192.168.110.5/24 brd 192.168.110.255 scope global dynamic enp0s3 valid_lft 25155sec preferred_lft 25155sec inet6 fe80::a00:27ff:fe60:16de/64 scope link valid_lft forever preferred_lft forever 3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:52:7c:bd brd ff:ff:ff:ff:ff:ff inet 192.168.53.2/24 brd 192.168.53.255 scope global enp0s8 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe52:7cbd/64 scope link valid_lft forever preferred_lft forever

Первый сетевой интерфейс enp0s3 получил ip-адрес 192.168.110.5 от роутера Keenetic Air. Второму сетевому интерфейсу enp0s8 мы назначили ip-адрес 192.168.53.2.

Установка и настройка сервера

Итак, устанавливаем сервер:

$ sudo apt install isc-dhcp-server

Файл первичной конфигурации находится по адресу /etc/default/isc-dhcp-server. В нём нужно указать лишь наш сетевой интерфейс enp0s8:

$ sudo nano /etc/default/isc-dhcp-server
INTERFACESv4="enp0s8" INTERFACESv6=""

Теперь нам нужно отредактировать /etc/dhcp/dhcpd.conf:

$ sudo nano /etc/dhcp/dhcpd.conf
# адреса DNS-серверов option domain-name-servers 8.8.8.8, 8.8.4.4; # время аренды по умолчанию default-lease-time 3600; # максимальное время аренды max-lease-time 7200; # Локальная сеть: адрес и маска subnet 192.168.53.0 netmask 255.255.255.0 { # пул ip-адресов range 192.168.53.3 192.168.53.7; # маска подсети option subnet-mask 255.255.255.0; # ip-адрес шлюза option routers 192.168.53.2; }

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

$ sudo systemctl restart isc-dhcp-server.service
Настройка сети pc-1 и pc-2

Сначала для виртуальной машины pc-1. Смотрим, как называются сетевые интерфейсы в системе:

$ ls /sys/class/net enp0s3 lo

Открываем на редактирование файл /etc/netplan/01-netcfg.yaml

$ sudo nano /etc/netplan/01-netcfg.yaml
network: version: 2 renderer: networkd ethernets: enp0s3: # этот интерфейс получает настройки от dhcp-сервера optional: true dhcp4: yes

Применяем настройки и смотрим сетевые интерфейсы:

$ sudo netplan apply # применить настройки из YAML-файла к работающей системе $ sudo netplan generate # сохранить текущие настройки в файл конфигурации networkd
$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:24:12:8b brd ff:ff:ff:ff:ff:ff inet 192.168.53.3/24 brd 192.168.53.255 scope global dynamic enp0s3 valid_lft 2776sec preferred_lft 2776sec inet6 fe80::a00:27ff:fe24:128b/64 scope link valid_lft forever preferred_lft forever

Для pc-2 все будет аналогично, так что не буду описывать подробно:

$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:28:cd:2a brd ff:ff:ff:ff:ff:ff inet 192.168.53.4/24 brd 192.168.53.255 scope global dynamic enp0s3 valid_lft 3246sec preferred_lft 3246sec inet6 fe80::a00:27ff:fe28:cd2a/64 scope link valid_lft forever preferred_lft forever
Какие адреса арендованы

Чтобы узнать, какие IP-адреса были выданы сервером, выполняем на виртуальной машине dhcp-server команду:

$ dhcp-lease-list Reading leases from /var/lib/dhcp/dhcpd.leases Processing: 50% complete Processing: 100% complete MAC IP hostname valid until manufacturer =================================================================================== 08:00:27:24:12:8b 192.168.53.3 pc-1 2020-01-18 10:51:07 -NA- 08:00:27:28:cd:2a 192.168.53.4 pc-2 2020-01-18 11:00:43 -NA-
Хотя в файле конфигурации DHCP-сервера указан ip-адрес шлюза 192.168.53.2, интернета на виртуальных машинах pc-1 и pc-2 не будет. Для этого нужно виртуальную машину dhcp-server сделать маршрутизатором, чтобы она перенаправляла пакеты с одного интерфейса на другой.
CentOS 8 умирает, его создатель дает рождение Rock...
Solus представляет новую среду рабочего стола Linu...

Похожие посты

 

Коментарии (0)

Здесь пока нет никаких комментариев

Оставьте свои комментарии

  1. Оставить коментарий как гость.
Вложения (0 / 3)
Share Your Location

By accepting you will be accessing a service provided by a third-party external to https://m-go.ru/