DNS

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

Как настроить dnsmasq на Ubuntu Server 18.04 LTS
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 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

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

# Конфигурация DNS
порт = 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

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

# Конфигурация DHCP
dhcp-диапазон = 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. Спасибо, что прочитали эту статью.

Игры HD Remastered для Linux, ранее не выпускавшиеся для Linux
Многие разработчики и издатели игр придумывают HD-ремастеры старых игр, чтобы продлить жизнь франшизы, порадовать фанатов, требующих совместимости с с...
Как использовать AutoKey для автоматизации игр под Linux
AutoKey - это утилита автоматизации рабочего стола для Linux и X11, запрограммированная на Python 3, GTK и Qt. Используя его функции сценариев и MACRO...
Как показать счетчик FPS в играх для Linux
Игры для Linux получили серьезный толчок, когда Valve объявила о поддержке Linux для клиента Steam и своих игр в 2012 году. С тех пор многие игры AAA ...