Как да конфигурирате 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 ) се свързва с a превключване на мрежата . Всички останали хостове ( хост1 , хост2 , хост3 ) в мрежата използва DHCP сървъра, конфигуриран на рутер за автоматично присвояване на IP адреси и DNS сървъра за разрешаване на имена.





Конфигуриране на статичен IP:

В моята топология на мрежата видяхте, моя рутер има два интерфейса ens33 и ens38 . ens33 свързва рутера към интернет и ens38 е свързан с a мрежов превключвател , към който се свързват други компютри в мрежата. Ще трябва да използвам DHCP, за да получа IP адрес за ens33 интерфейс от моя интернет доставчик за интернет връзка. Но, ens38 интерфейсът трябва да бъде конфигуриран ръчно.





Нека използваме мрежата 192.168.10.0/24 за интерфейс ens38 и други компютри в мрежата. Ако все пак използвам мрежата 192.168.10.0/24, тогава IP адресът на ens38 интерфейсът на рутера трябва да бъде 192.168.10.1/24. Това е IP адресът на dnsmasq DNS сървъра и DHCP сървъра.

ЗАБЕЛЕЖКА: Името на вашия мрежов интерфейс може да е различно. Можете да разберете какво е за вас с ip a команда.



На Ubuntu Server 18.04 LTS можете да използвате netplan за конфигуриране на мрежовите интерфейси. Конфигурационният файл по подразбиране на netplan е /etc/netplan/50-cloud-init.yaml .

Първо отворете конфигурационния файл /etc/netplan/50-cloud-init.yaml със следната команда:

$sudo нано /и т.н./netplan/петдесет-cloud-init.yaml

Сега въведете следните редове и запишете файла, като натиснете + х следван от и и .

Сега рестартирайте вашия рутер със следната команда:

$sudoрестартирайте

Веднъж рутер ботуши, IP адресите трябва да бъдат присвоени според очакванията.

Инсталиране на dnsmasq:

dnsmasq е наличен в официалното хранилище на пакети на Ubuntu. Така че можете лесно да го инсталирате с помощта на мениджъра на пакети APT.

Ubuntu използва системно разрешен по подразбиране за управление на DNS сървъри и DNS кеширане. Преди да инсталирате dnsmasq, трябва да спрете и деактивирате системно разрешен услуги. В противен случай изобщо няма да можете да стартирате dnsmasq.

За да спрете системно разрешен услуга, изпълнете следната команда:

$sudosystemctl stop systemd-разрешено

За да деактивирате системно разрешен услуга, изпълнете следната команда:

$sudosystemctl деактивиране на systemd-разрешено

По подразбиране, /etc/resolv.conf файлът е свързан с друг конфигурационен файл на systemd, както можете да видите на екрана по -долу. Но ние вече не го искаме.

Така че, премахнете /etc/resolv.conf свържете със следната команда:

$sudo rm -v /и т.н./resolv.conf

Сега създайте нов /etc/resolv.conf файл и задайте DNS сървъра на Google като DNS сървър по подразбиране със следната команда:

$изхвърлен 'сървър на имена 8.8.8.8' | sudo тройник /и т.н./resolv.conf

Сега актуализирайте кеша на хранилището на пакета APT със следната команда:

$sudoподходяща актуализация

Сега инсталирайте dnsmasq със следната команда:

$sudoподходящИнсталирайdnsmasq

dnsmasq трябва да бъде инсталиран.

Конфигуриране на dnsmasq DNS сървър:

Конфигурационният файл на dnsmasq е /etc/dnsmasq.conf . За да конфигурирате dnsmasq като DNS сървър, трябва да промените този файл.

По подразбиране /etc/dnsmasq.conf файлът съдържа много документация и коментирани опции. Така че, мисля, че е по -добре да преименувате /etc/dnsmasq.conf файл в /etc/dnsmasq.conf.bk и създайте нов.

Можете да преименувате конфигурационния файл със следната команда:

$sudo mv -v /и т.н./dnsmasq.conf/и т.н./dnsmasq.conf.bk

Сега създайте конфигурационния файл /etc/dnsmasq.conf както следва:

$sudo нано /и т.н./dnsmasq.conf

Сега въведете следните редове и запишете файла, като натиснете + х следван от и и .

# DNS конфигурация
пристанище=53

необходим домейн
фалшив-прив
строг ред

expand-hosts
домейн= example.com

ЗАБЕЛЕЖКА: Промяна example.com към вашето собствено име на домейн.

Сега рестартирайте услугата dnsmasq със следната команда:

$sudosystemctl рестартирайте dnsmasq

Не, грешки. Страхотен!

Сега трябва да настроите 192.168.10.1 като адреса на DNS сървъра по подразбиране в /etc/resolv.conf .

За да направите това, отворете /etc/resolv.conf файл със следната команда:

$sudo нано /и т.н./resolv.conf

Сега въведете сървър за имена 192.168.10.1 преди реда сървър за имена 8.8.8.8 както е показано на екрана по -долу. След това запишете файла.

Това е.

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

Сега можете да добавите вашите DNS записи към /etc/hosts файл.

Първо отворете /etc/hosts файл със следната команда:

$sudo нано /и т.н./домакини

Сега въведете вашите 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 със следната команда:

$sudosystemctl рестартирайте dnsmasq

Тестване на DNS сървър:

Както можете да видите, локалната DNS резолюция работи.

$Виеrouter.example.com

Разрешаването на имена в интернет също работи.

$ВиеGoogle com

Конфигуриране на DHCP сървър:

За да конфигурирате DHCP сървър, отворете конфигурационния файл dnsmasq /etc/dnsmasq.conf отново, както следва:

$sudo нано /и т.н./dnsmasq.conf

Сега добавете маркираните редове в края на файла. След това запишете файла.

# DHCP конфигурация
dhcp-диапазон = 192.168.10.50,192.168.10.240,255.255.255.0,24h
dhcp-option = option: рутер, 192.168.10.1
dhcp-option = option: dns-сървър, 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-опция се използва за настройка на шлюза ( опция: рутер ), Адрес на DNS сървър ( опция: dns-сървър ) и маска на мрежата ( опция: маска на мрежата )

dhcp-хост се използва за задаване на конкретни IP адреси към хостове в зависимост от посочените MAC адреси.

Сега рестартирайте услугата dnsmasq със следната команда:

$sudosystemctl рестартирайте dnsmasq

Тестване на DHCP сървър:

Както можете да видите, компютърът хост1 получи IP адреса 192.168.10.51/24 от DHCP сървъра.

DNS резолюцията също работи от хост1 .

Същия начин, хост2 и хост3 също получава правилния 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. Благодаря, че прочетохте тази статия.