В этой статье я покажу вам, как использовать dnsmasq для настройки локального DNS-сервера, кэширования DNS-сервера и DHCP-сервера. Итак, приступим.
Топология сети:
Это топология сети, описанная в этой статье. Здесь я настрою маршрутизатор как DNS- и DHCP-сервер с dnsmasq. маршрутизатор имеет 2 сетевых интерфейса, один (Ens33) подключается к Интернет и другие (Ens38) подключается к сетевой выключатель. Все остальные хосты (host1, host2, host3) в сети использует DHCP-сервер, настроенный на маршрутизатор для автоматического назначения IP-адресов и DNS-сервера для разрешения имен.
Настройка статического IP:
В моей топологии сети вы видели, что мой маршрутизатор имеет два интерфейса Ens33 а также Ens38. Ens33 подключает роутер к Интернету и Ens38 подключен к Сетевой коммутатор, к каким другим компьютерам в сети подключаются. Мне придется использовать DHCP, чтобы получить IP-адрес для Ens33 интерфейс от моего интернет-провайдера для подключения к Интернету. Но Ens38 интерфейс нужно настраивать вручную.
Воспользуемся сетью 192.168.10.0/24 для интерфейса ens38 и других компьютеров в сети. Если я использую сеть 192.168.10.0/24, затем IP-адрес Ens38 интерфейс роутера должен быть 192.168.10.1/24. Это IP-адрес DNS-сервера dnsmasq и DHCP-сервера.
ПРИМЕЧАНИЕ: Имя вашего сетевого интерфейса может отличаться. Вы можете узнать, что это для вас, с помощью ip a команда.
На сервере Ubuntu 18.04 LTS, вы можете использовать netplan для настройки сетевых интерфейсов. Файл конфигурации netplan по умолчанию: / и т. д. / netplan / 50-облако-инициализация.ямл.
Сначала откройте файл конфигурации / и т. д. / netplan / 50-облако-инициализация.ямл с помощью следующей команды:
$ sudo nano / etc / netplan / 50-облако-инициализация.ямл
Теперь введите следующие строки и сохраните файл, нажав
Теперь перезагрузите маршрутизатор с помощью следующей команды:
$ sudo перезагрузка
Однажды маршрутизатор загружается, IP-адреса должны быть назначены должным образом.
Установка dnsmasq:
dnsmasq доступен в официальном репозитории пакетов Ubuntu. Таким образом, вы можете легко установить его с помощью диспетчера пакетов APT.
Ubuntu использует systemd-разрешено по умолчанию для управления DNS-серверами и DNS-кешированием. Перед установкой dnsmasq необходимо остановить и отключить systemd-разрешено Сервисы. В противном случае вы вообще не сможете запустить dnsmasq.
Чтобы остановить systemd-разрешено service, выполните следующую команду:
$ sudo systemctl stop systemd-resolved
Чтобы отключить systemd-разрешено service, выполните следующую команду:
$ sudo systemctl отключить systemd-resolved
По умолчанию / etc / resolv.conf файл связан с другим файлом конфигурации systemd, как вы можете видеть на скриншоте ниже. Но мы этого больше не хотим.
Итак, удалите / etc / resolv.conf ссылку с помощью следующей команды:
$ sudo rm -v / etc / resolv.conf
Теперь создайте новый / etc / resolv.conf и установите DNS-сервер Google в качестве DNS-сервера по умолчанию с помощью следующей команды:
$ echo "сервер имен 8.8.8.8 дюймов | sudo tee / etc / resolv.conf
Теперь обновите кеш репозитория пакетов APT с помощью следующей команды:
$ sudo подходящее обновление
Теперь установите dnsmasq с помощью следующей команды:
$ sudo apt install dnsmasq
dnsmasq должен быть установлен.
Настройка DNS-сервера dnsmasq:
Конфигурационный файл dnsmasq: / etc / dnsmasq.conf. Чтобы настроить dnsmasq в качестве DNS-сервера, вам необходимо изменить этот файл.
По умолчанию / etc / dnsmasq.conf файл содержит много документации и закомментированных опций. Так что, думаю, лучше переименовать / etc / dnsmasq.conf файл в / etc / dnsmasq.conf.bk и создайте новый.
Вы можете переименовать файл конфигурации с помощью следующей команды:
$ sudo mv -v / etc / dnsmasq.conf / etc / dnsmasq.conf.bk
Теперь создайте файл конфигурации / etc / dnsmasq.conf следующим образом:
$ sudo nano / etc / dnsmasq.conf
Теперь введите следующие строки и сохраните файл, нажав
порт = 53
требуется домен
фальшивка
строгий порядок
расширять хосты
домен = пример.ком
ПРИМЕЧАНИЕ: Изменять пример.ком на ваше собственное доменное имя.
Теперь перезапустите службу dnsmasq с помощью следующей команды:
$ sudo systemctl перезапуск dnsmasq
Нет, ошибки. большой!
Теперь вам нужно установить 192.168.10.1 в качестве адреса DNS-сервера по умолчанию в / etc / resolv.conf.
Для этого откройте / etc / resolv.conf файл с помощью следующей команды:
$ sudo nano / etc / resolv.conf
Теперь введите сервер имен 192.168.10.1 перед линией сервер имен 8.8.8.8 как показано на скриншоте ниже. Затем сохраните файл.
это оно.
Добавление записей DNS:
Теперь вы можете добавить свои записи DNS в / etc / hosts файл.
Сначала откройте / etc / hosts файл с помощью следующей команды:
$ sudo nano / etc / hostsТеперь введите свои записи DNS в следующем формате:
IP_ADDR DOMAIN_NAMEЯ добавил 4 записи маршрутизатор.пример.com (192.168.10.1), host1.пример.com (192.168.10.51), host2.пример.com (192.168.10.52) , а также host3.пример.com (192.168.10.53) как отмечено на скриншоте ниже. Вы можете добавить столько записей DNS, сколько хотите.
Когда вы закончите, сохраните файл, нажав
Теперь перезапустите службу dnsmasq с помощью следующей команды:
$ sudo systemctl перезапуск dnsmasq
Тестирование DNS-сервера:
Как видите, локальное разрешение DNS работает.
роутер $ dig.пример.ком
Разрешение имен в Интернете также работает.
$ копать гугл.ком
Настройка DHCP-сервера:
Чтобы настроить DHCP-сервер, откройте файл конфигурации dnsmasq / etc / dnsmasq.conf опять же следующим образом:
$ sudo nano / etc / dnsmasq.conf
Теперь добавьте отмеченные строки в конец файла. Затем сохраните файл.
# Конфигурация DHCPdhcp-диапазон = 192.168.10.50 192.168.10.240 255.255.255.0,24 ч
dhcp-option = option: router, 192.168.10.1
dhcp-option = option: dns-server, 192.168.10.1
dhcp-option = option: netmask, 255.255.255.0
dhcp-host = 00: 0C: 29: A5: BD: 4A, 192.168.10.51
dhcp-host = 00: 0C: 29: A5: BD: 5B, 192.168.10.52
dhcp-host = 00: 0C: 29: A5: BD: 6C, 192.168.10.53
Здесь, dhcp-диапазон используется для установки диапазона IP-адресов, которые DHCP-сервер будет назначать хостам.
dhcp-option используется для установки шлюза (вариант: роутер), Адрес DNS-сервера (опция: dns-server) и сетевая маска (опция: маска сети)
dhcp-host используется для установки определенных IP-адресов для хостов в зависимости от указанных MAC-адресов.
Теперь перезапустите службу dnsmasq с помощью следующей команды:
$ sudo systemctl перезапуск dnsmasq
Тестирование DHCP-сервера:
Как видите, компьютер host1 получил IP-адрес 192.168.10.51/24 с DHCP-сервера.
Разрешение DNS также работает с host1.
Так же, host2 а также host3 также получает правильный IP-адрес от DHCP-сервера, и разрешение DNS работает на каждом из них.
Куда идти дальше:
Если вы хотите узнать больше о dnsmasq, проверьте файл конфигурации по умолчанию / etc / dnsmasq.conf (теперь переименован в / etc / dnsmasq.conf.bk). В нем есть подробное описание всех параметров конфигурации dnsmasq.
$ меньше / etc / dnsmasq.conf.bk
Файл конфигурации dnsmasq по умолчанию для Ubuntu Server 18.04 LTS.
Итак, вот как вы настраиваете dnsmasq на Ubuntu Server 18.04 LTS. Спасибо, что прочитали эту статью.