В тази статия ще ви покажа как да използвате dnsmasq за конфигуриране на локален DNS сървър, кеширане на DNS сървър и DHCP сървър. И така, нека започнем.
Мрежова топология:
Това е мрежовата топология на тази статия. Тук ще конфигурирам рутер като DNS и DHCP сървър с dnsmasq. рутер има 2 мрежови интерфейса, един (ens33) се свързва с интернет и другият (ens38) се свързва с a мрежов swtich. Всички останали домакини (домакин1, домакин2, домакин3) в мрежата използва DHCP сървър, конфигуриран на рутер за автоматично присвояване на IP адреси и DNS сървър за разрешаване на имена.
Конфигуриране на статичен IP:
В моята мрежова топология, видяхте, моя рутер има два интерфейса ens33 и ens38. свързва рутера към интернет и ens38 е свързан с a мрежов превключвател, към които се свързват други компютри в мрежата. Ще трябва да използвам DHCP, за да получа IP адрес за ens33 интерфейс от моя ISP за интернет връзка. Но, 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.ямъл.
Първо отворете конфигурационния файл / etc / netplan / 50-cloud-init.ямъл със следната команда:
$ sudo nano / etc / netplan / 50-cloud-init.ямъл
Сега въведете следните редове и запазете файла, като натиснете
Сега рестартирайте вашия рутер със следната команда:
$ sudo рестартиране
Веднъж рутер обувки, IP адресите трябва да бъдат присвоени според очакванията.
Инсталиране на dnsmasq:
dnsmasq се предлага в официалното хранилище на пакети на Ubuntu. Така че можете лесно да го инсталирате с помощта на мениджъра на пакети APT.
Ubuntu използва разрешено от systemd по подразбиране за управление на DNS сървъри и DNS кеширане. Преди да инсталирате dnsmasq, трябва да спрете и деактивирате разрешено от systemd услуги. В противен случай изобщо няма да можете да стартирате dnsmasq.
За да спрете разрешено от systemd услуга, изпълнете следната команда:
$ sudo systemctl спре systemd-разрешен
За да деактивирате разрешено от systemd услуга, изпълнете следната команда:
$ sudo systemctl деактивира системно разрешено
По подразбиране / и т.н. / резолюция.конф файлът е свързан с друг конфигурационен файл на systemd, както можете да видите на екранната снимка по-долу. Но ние вече не го искаме.
И така, премахнете / и т.н. / резолюция.конф връзка със следната команда:
$ sudo rm -v / etc / resolv.конф
Сега създайте нов / и т.н. / резолюция.конф файл и задайте google DNS сървъра като DNS сървър по подразбиране със следната команда:
$ echo "сървър за имена 8.8.8.8 "| sudo tee / etc / resolv.конф
Сега актуализирайте кеша на хранилището на APT пакета със следната команда:
$ sudo apt актуализация
Сега инсталирайте dnsmasq със следната команда:
$ sudo apt инсталира dnsmasq
dnsmasq трябва да бъде инсталиран.
Конфигуриране на dnsmasq DNS сървър:
Конфигурационният файл на dnsmasq е / etc / dnsmasq.конф. За да конфигурирате dnsmasq като DNS сървър, трябва да промените този файл.
По подразбиране / etc / dnsmasq.конф файлът съдържа много документация и коментирани опции. Така че, мисля, че е по-добре да преименувате / etc / dnsmasq.конф файл в / etc / dnsmasq.конф.bk и създайте нов.
Можете да преименувате конфигурационния файл със следната команда:
$ sudo mv -v / etc / dnsmasq.conf / etc / dnsmasq.конф.bk
Сега създайте конфигурационния файл / etc / dnsmasq.конф както следва:
$ sudo nano / etc / dnsmasq.конф
Сега въведете следните редове и запазете файла, като натиснете
порт = 53
необходим домейн
фалшив-прив
строг ред
разширяване-хостове
домейн = пример.com
ЗАБЕЛЕЖКА: Промяна пример.com към собственото си име на домейн.
Сега рестартирайте услугата dnsmasq със следната команда:
$ sudo systemctl рестартирайте dnsmasq
Не, грешки. Страхотен!
Сега трябва да настроите 192.168.10.1 като адрес по подразбиране на DNS сървъра в / и т.н. / резолюция.конф.
За да направите това, отворете / и т.н. / резолюция.конф файл със следната команда:
$ sudo nano / etc / resolv.конф
Сега въведете 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), домакин1.пример.com (192.168.10.51), домакин2.пример.com (192.168.10.52) , и домакин3.пример.com (192.168.10.53) както е отбелязано на екранната снимка по-долу. Можете да добавите толкова DNS записи, колкото искате.
След като приключите, запазете файла, като натиснете
Сега рестартирайте услугата dnsmasq със следната команда:
$ sudo systemctl рестартирайте dnsmasq
Тестване на DNS сървър:
Както можете да видите, локалната DNS резолюция работи.
$ копай рутер.пример.com
Разрешаването на имена в интернет също работи.
$ dig google.com
Конфигуриране на DHCP сървър:
За да конфигурирате DHCP сървър, отворете dnsmasq конфигурационния файл / etc / dnsmasq.конф отново както следва:
$ sudo nano / etc / dnsmasq.конф
Сега добавете маркираните редове в края на файла. След това запазете файла.
# DHCP конфигурацияdhcp-диапазон = 192.168.10.50 192.168.10.240 255.255.255.0,24ч
dhcp-option = option: рутер, 192.168.10.1
dhcp-option = option: dns-server, 192.168.10.1
dhcp-option = option: netmask, 255.255.255.0
dhcp-хост = 00: 0C: 29: A5: BD: 4A, 192.168.10.51
dhcp-хост = 00: 0C: 29: A5: BD: 5B, 192.168.10.52
dhcp-хост = 00: 0C: 29: A5: BD: 6C, 192.168.10.53
Тук, dhcp-обхват се използва за задаване на диапазона от IP адреси, които DHCP сървърът ще присвоява на хостове.
dhcp-опция се използва за задаване на шлюза (опция: рутер), Адрес на DNS сървър (опция: dns-сървър) и мрежова маска (опция: мрежова маска)
dhcp-хост се използва за задаване на конкретни IP адреси на хостове в зависимост от посочените MAC адреси.
Сега рестартирайте услугата dnsmasq със следната команда:
$ sudo systemctl рестартирайте dnsmasq
Тестване на DHCP сървър:
Както можете да видите, компютърът домакин1 получи IP адреса 192.168.10.51/24 от DHCP сървъра.
DNS резолюцията също работи от домакин1.
Същия начин, домакин2 и домакин3 също получава правилния IP адрес от DHCP сървъра и DNS резолюцията работи на всеки един от тях.
Къде да отидем нататък:
Ако искате да научите повече за dnsmasq, проверете конфигурационния файл по подразбиране / etc / dnsmasq.конф (сега преименувано на / etc / dnsmasq.конф.bk). Той има подробно описание на всички опции за конфигуриране на dnsmasq.
$ по-малко / etc / dnsmasq.конф.bk
Конфигурационен файл по подразбиране dnsmasq на Ubuntu Server 18.04 LTS.
И така, вие конфигурирате dnsmasq на Ubuntu Server 18.04 LTS. Благодаря, че прочетохте тази статия.