Как настроить dnsmasq на Ubuntu Server 18.04 LTS

How Configure Dnsmasq Ubuntu Server 18



dnsmasq это очень легкий локальный DNS-сервер. dnsmasq также можно настроить как кеш-сервер DNS и DHCP-сервер. dnsmasq поддерживает IPv4 и IPv6, включая DHCPv4 и DHCPv6. dnsmasq идеально подходит для небольшой сети.

В этой статье я покажу вам, как использовать 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 Server 18.04 LTS вы можете использовать netplan для настройки сетевых интерфейсов. Файл конфигурации netplan по умолчанию: /etc/netplan/50-cloud-init.yaml .

Сначала откройте файл конфигурации /etc/netplan/50-cloud-init.yaml с помощью следующей команды:

$судо нано /так далее/netplan/пятьдесят-cloud-init.yaml

Теперь введите следующие строки и сохраните файл, нажав + Икс с последующим а также а также .

Теперь перезагрузите маршрутизатор с помощью следующей команды:

$судоперезагружать

Однажды маршрутизатор загружается, IP-адреса должны быть назначены должным образом.

Установка dnsmasq:

dnsmasq доступен в официальном репозитории пакетов Ubuntu. Таким образом, вы можете легко установить его с помощью диспетчера пакетов APT.

Ubuntu использует системно-разрешенный по умолчанию для управления DNS-серверами и DNS-кешированием. Перед установкой dnsmasq необходимо остановить и отключить системно-разрешенный Сервисы. В противном случае вы вообще не сможете запустить dnsmasq.

Чтобы остановить системно-разрешенный service, выполните следующую команду:

$судоsystemctl остановить systemd-разрешено

Чтобы отключить системно-разрешенный service, выполните следующую команду:

$судоsystemctl отключить systemd-resolved

По умолчанию /etc/resolv.conf файл связан с другим файлом конфигурации systemd, как вы можете видеть на скриншоте ниже. Но мы этого больше не хотим.

Итак, удалите /etc/resolv.conf ссылку с помощью следующей команды:

$судо rm -v /так далее/resolv.conf

Теперь создайте новый /etc/resolv.conf и установите DNS-сервер Google в качестве DNS-сервера по умолчанию с помощью следующей команды:

$выбросил 'сервер имен 8.8.8.8' | судо тройник /так далее/resolv.conf

Теперь обновите кеш репозитория пакетов APT с помощью следующей команды:

$судоподходящее обновление

Теперь установите dnsmasq с помощью следующей команды:

$судоподходящийустановитьdnsmasq

dnsmasq должен быть установлен.

Настройка DNS-сервера dnsmasq:

Конфигурационный файл dnsmasq: /etc/dnsmasq.conf . Чтобы настроить dnsmasq в качестве DNS-сервера, вам необходимо изменить этот файл.

По умолчанию /etc/dnsmasq.conf файл содержит много документации и закомментированных опций. Так что, думаю, лучше переименовать /etc/dnsmasq.conf файл в /etc/dnsmasq.conf.bk и создайте новый.

Вы можете переименовать файл конфигурации с помощью следующей команды:

$судо мв -v /так далее/dnsmasq.conf/так далее/dnsmasq.conf.bk

Теперь создайте файл конфигурации /etc/dnsmasq.conf следующее:

$судо нано /так далее/dnsmasq.conf

Теперь введите следующие строки и сохраните файл, нажав + Икс с последующим а также а также .

# Конфигурация DNS
портзнак равно53

требуется домен
фальшивка
строгий порядок

расширять хосты
домен= example.com

ЗАМЕТКА: Изменять example.com на ваше собственное доменное имя.

Теперь перезапустите службу dnsmasq с помощью следующей команды:

$судоsystemctl перезапустить dnsmasq

Нет, ошибки. Большой!

Теперь вам нужно установить 192.168.10.1 в качестве адреса DNS-сервера по умолчанию в /etc/resolv.conf .

Для этого откройте /etc/resolv.conf файл с помощью следующей команды:

$судо нано /так далее/resolv.conf

Теперь введите сервер имен 192.168.10.1 перед линией сервер имен 8.8.8.8 как показано на скриншоте ниже. Затем сохраните файл.

Вот и все.

Добавление записей DNS:

Теперь вы можете добавить свои записи DNS в / etc / hosts файл.

Сначала откройте / etc / hosts файл с помощью следующей команды:

$судо нано /так далее/хозяева

Теперь введите свои записи DNS в следующем формате:

IP_ADDR DOMAIN_NAME

Я добавил 4 записи router.example.com (192.168.10.1) , host1.example.com (192.168.10.51) , host2.example.com (192.168.10.52) , а также host3.example.com (192.168.10.53) как отмечено на скриншоте ниже. Вы можете добавить столько записей DNS, сколько захотите.

По завершении сохраните файл, нажав + Икс с последующим а также а также .

Теперь перезапустите службу dnsmasq с помощью следующей команды:

$судоsystemctl перезапустить dnsmasq

Тестирование DNS-сервера:

Как видите, локальное разрешение DNS работает.

$тыrouter.example.com

Разрешение имен в Интернете также работает.

$тыGoogle com

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

Чтобы настроить DHCP-сервер, откройте файл конфигурации dnsmasq. /etc/dnsmasq.conf опять же следующим образом:

$судо нано /так далее/dnsmasq.conf

Теперь добавьте отмеченные строки в конец файла. Затем сохраните файл.

# Конфигурация DHCP
dhcp-диапазон = 192.168.10.50,192.168.10.240,255.255.255.0,24h
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 с помощью следующей команды:

$судо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.

$меньше /так далее/dnsmasq.conf.bk

Файл конфигурации dnsmasq по умолчанию для Ubuntu Server 18.04 LTS.

Итак, вот как вы настраиваете dnsmasq на Ubuntu Server 18.04 LTS. Спасибо, что прочитали эту статью.