Установка DHCP-сервера на Ubuntu Server 18.04 LTS
18.01.2020
Теги: CLI • Linux • Ubuntu • Виртуализация • Конфигурация • ЛокальнаяСеть • Настройка • Сервер • Установка
В больших сетях для упрощения работы с добавлением новых компьютеров и других устройств в сеть используют протокол динамического выделения адресов — 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-сервер отключен (мы установим свой сервер), хост-система тоже есть в сети и доступна по 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-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-
192.168.53.2
, интернета на виртуальных машинах pc-1
и pc-2
не будет. Для этого нужно виртуальную машину dhcp-server
сделать маршрутизатором, чтобы она перенаправляла пакеты с одного интерфейса на другой.
- Монтирование NFS на сервере Ubuntu 18.04 LTS
- Установка WireGuard на Ubuntu 20.04 LTS. Часть вторая из двух
- Установка OpenVPN на Ubuntu 18.04 LTS. Часть 12 из 12
- Установка OpenVPN на Ubuntu 18.04 LTS. Часть 11 из 12
- Установка OpenVPN на Ubuntu 18.04 LTS. Часть 10 из 12
- Установка OpenVPN на Ubuntu 18.04 LTS. Часть 9 из 12
- Установка OpenVPN на Ubuntu 18.04 LTS. Часть 8 из 12
Поиск: CLI • Linux • Ubuntu • Виртуальная машина • Конфигурация • Локальная сеть • Настройка • Сервер • DHCP • VirtualBox • Интерфейс • Установка