Dnsmasq

Материал из База знаний проекта Russian Fedora

Перейти к: навигация, поиск

Dnsmasq это легкий, простой в настройке DNS Forwarder и DHCP сервер. Он предназначен для поддержки DNS и DHCP, в небольших сетях (обычно до 50 компьютеров). Для локальных компьютеров он может использоваться как внутрений DNS сервер. Поскольку сервера DNS и DHCP интегрированы в dnsmasq то без проблем строится DDNS (динамический DNS). Dnsmasq поддерживает статический и динамический DHCP а также BOOTP/TFTP/PXE для загрузки по сети бездисковых машин.

Содержание

Инсталяция и запуск dnsmasq

Если dnsmasq не установлен на системе то его можно установить командой:

pkcon install dnsmasq

После установки dnsmasq сразу готов в роли кеширующего DNS сервера без каких либо настроек. Т.е. его можно сразу запустить :

su -c 'service dnsmasq start'

И/или прописать в автоматичкую загрузку при старте системы:

su -c 'chkconfig dnsmasq on'

Премущества dnsmasq

Недостатки dnsmasq

Недостатки dnsmasq в основном характеризуют его невозможность применять в больших корпоративных сетях:

ВНИМАНИЕ:
Если dnsmasq обслуживает локальных клиентов, содержа локальную зону и осуществляя форвардинг в Интернет, он должен быть закрыт от запросов из внешнего мира одним из двух способов:
  • пакетным фильтром (iptables) на уровне операционной системы;
  • исключением сетевого интерфейса (except-interface), глядящего во внешний мир, из списка обслуживаемых на уровне сервиса.

Примеры настроек

ПРИМЕЧАНИЕ:
В дистрибутиве Fedora есть специальная директория /etc/dnsmasq.d и файлы конфигурации более правильно размещать в эту директорию.

Различные примеры настроек, показаны только как образец и могут применяться как в сочетании так и раздельно.

Настройка dnsmasq в качестве кеширующего dns

Создадим файл vim /etc/dnsmasq.d/dns.conf с таким содержимым:

listen-address=127.0.0.1,192.168.1.254	# принимаем запросы на локальном адресе
interface=eth1          # слушать только интерфейс eth1
domain-needed 		# никогда не пересылать адреса без доменной части
bogus-priv 		# никогда не пересылать адреса из немаршрутизируемого пространства
strict-order 		# пересылать запросы, с первого и по порядку
no-resolv		# не использовать /etc/resolv.conf
server=xx.xx.xx.xx 	# адреса серверов провайдера
server=xx.xx.xx.xx
server=xx.xx.xx.xx
address=/ns-home/192.168.1.254 # адрес и имя нашего компьютера

Настройка dnsmasq в качестве dhcp сервера

Создадим файл vim /etc/dnsmasq.d/dhcp.conf с таким содержимым:

dhcp-range=192.168.1.50,192.168.1.90,255.255.255.0,12h      # объявляем диапазон адресов для аренды
dhcp-host=00:11:22:33:44:55,media,192.168.1.2		    # привязка некоторых ip постоянно по MAC адресу
dhcp-host=11:22:33:44:55:66,homelinux,192.168.1.3
dhcp-option=option:router,192.168.1.1	                    # основной шлюз для компьютеров

Настройка dnsmasq для сетевой загрузки

Создадим файл vim /etc/dnsmasq.d/pxe.conf с таким содержимым:

enable-tftp 			# включение встроенного tftpd сервера
tftp-root=/var/tftpboot 	# корневой каталог tftpd сервера
dhcp-boot=pxelinux.0 		# способ сетевой загрузки

Дополнительные материалы