: :

ПнВтСрЧтПтСбВс

2018-04-02 12:32:41 35349 1

Установка и настройка Dnsmasq

Dnsmasq - это легкий и быстроконфигурируемый DNS, DHCP и TFTP сервер, предназначенный для обеспечения доменными именами и связанными с ними сервисами небольшие сети. Может обеспечивать именами локальные машины, которые не имеют глобальных DNS-записей. DHCP сервер интегрирован с DNS сервером.

Настройку будем проводить на сервере с операционной системой CentOS7

Установка пакета dnsmasq

sudo yum install dnsmasq

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

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

cat /etc/dnsmasq.conf


# Указываем пользователя и группу с правами которых будет запущен демон

user=nobody
group=nobody

# Указываем интерфейсы на которых будут приниматься запросы
interface=eth0
interface=eth1

# Или интерфейсы на которых не будут приниматься запросы

except-interface="интерфейс" 

# Или ip-адреса

listen-address= "ip-адрес"

#Если вы хотите что бы интерфейс принимал только DNS запросы

no-dhcp-interface= "интерфейс"


# Указываем диапозон адресов и время аренды

dhcp-range=192.168.0.50,192.168.0.150,10h

# Для статической привязки адресов указываем MAC-адрес хоста и 
#адрес, который будем ему выдавать

dhcp-host=11:22:33:44:55:66,192.168.0.51

# или ip-адрес и имя хоста

dhcp-host=11:22:33:44:56:77,mail-server,192.168.0.55,60m

# Можем выдать один ip-адрес одному из хостов кто первый успеет

dhcp-host=12:21:33:43:88:11,22:11:55:44:88:81,192.168.0.59

# Указание опций DHCP

# Шлюз по умолчанию

dhcp-option,3,192.168.0.1

# DNS сервер

dhcp-option,6,192.168.0.1

# Лимит на аренду ip-адреса в секундах (по-умолчанию 150)

dhcp-lease-max=3600

# Указание файла для хранения информации об аренде адресов

dhcp-leasefile=/var/lib/dnsmasq/dnsmasq.leases

# Указание, что DHCP сервер работает в режиме authritative

dhcp-authoritative


Возможных настроек намного больше, но мы рассмотрели самые часто используемые, для полного перечня обращайтесь к документации

Перечень всех опций DHCP можно найти по сслыке IANA (Internet Assigned Numbers Authority).

Настройка DNS

Настройка DNS сервера производится в том же конфигурационном файле /etc/dnsmasq.conf

cat /etc/dnsmasq.conf

# Указание интерфейсов и ip-адрес мы рассмотрели в секции DHCP

# Указываем доменое имя

domain=test.un

# можно указать отдельное доменое имя, для отдельной сети

domain=wifi.test.un,192.168.100.0/24

#Или для определенного диапозона адресов

domain=range.test.un,192.168.100.100,192.168.100.200

# Указание серверов для форвардинга запросов

server=8.8.8.8

# Указание адресов доменных серверов для перенаправления запроса к определенным зонам

server=/office.un/192.168.50.10

# Аналогично можно указать для обратной зоны

server=/50.168.192.in-addr.arpa/192.168.50.10

#По умолчанию dnsmasq использует файл /etc/hosts для сопоставления имен
#хостов IP-адресам, но это тоже можно изменить. Если вы не хотите
#использовать /etc/hosts, вы можете указать это при помощи опции

no-hosts

# Если вы хотите использовать для этих целей другой файл

addn-hosts= "путь к файлу"

#Записи зоны

#Запись типа А

address=/mail-server.test.un/192.168.0.55

address=/ldap.test.un/192.168.0.210

#Запись CNAME

cname=mail-server,mail # алиасом для mail-server будет имя mail

#Запист типа SRV

srv-host=_ldap._tcp.test.un,ldap.test.un,389

#Алиасы или подмена ip-адресов
#Кроме задания собственных записей DNS можно изменять информацию,
#получаемую от внешних DNS-серверов путем подмены полученного IP-адреса.
#Для замены одного адреса

alias=10.10.1.1,172.20.1.1 # если при запросе от внешнего DNS сервера мы получили адрес 
						   #10.10.1.1 то мы подменим его на 172.20.1.1

#Или можно заменять целую сеть

alias=10.10.1.0,172.20.1.0,255,255,255,0


#Dnsmasq читает файл /etc/resolv.conf для определения перечня DNS серверов
#для форвардинга, если вы хотите поменять это и указать другой файл для этих целей

resolv-file= "путь к файлу"


Для того, чтобы обращения к DNS шли именно на dnsmasq на том же сервере, где он сам работает, необходимо указать первой записью в /etc/resolv.conf следующую строку

nameserver 127.0.0.1






Введите ответ:

+

=



Антон

2023-01-16 21:26:19

А если клиенты в сети получают адреса по DHCP, то будет ли на DNS прописываться соответствие имени клиентов этим адресам? То есть смогу ли я потом подключить к какому-то клиенту в сети (у которого динамический IP-адрес) по его имени? А ещё читал, что dnsmask может какие-то свои имена присваивать. Это получается некий аналог NetBIOS имён в Windows, где в маленькой сети не нужны DNS-серверы? Спасибо!