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
- Очень прост в настройке ( особенно если используется DNS и DHCP ), как правило в большинстве случаев работает вообще без настроек;
- Для загрузки клиентов по сети имеет встроенный TFTP сервер;
- Небольшое потребление ресурсов и как следствие очень популярен в аппаратных роутерах на базе Linux.
Недостатки dnsmasq
Недостатки dnsmasq в основном характеризуют его невозможность применять в больших корпоративных сетях:
- нет возможности организовать два DNS сервера с синхронизацией ( репликацией );
- нельзя гибко настроить списки прав доступа ( ACL ).
Примеры настроек
Различные примеры настроек, показаны только как образец и могут применяться как в сочетании так и раздельно.
Настройка 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 # способ сетевой загрузки
