В этой статье я покажу вам, как использовать 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
Теперь добавьте отмеченные строки в конец файла. Затем сохраните файл.
# Конфигурация DHCPdhcp-диапазон = 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. Спасибо, что прочитали эту статью.