Небольшая инструкция по установке и настройке кеширующего DNS, DHCP и TFTP в сервере Dnsmasq.
Dnsmasq это легкий и быстроконфигурируемый DNS, DHCP и TFTP сервер, предназначенный для обеспечения доменными именами и связанными с ними сервисами небольшие сети. Может обеспечивать именами локальные машины, которые не имеют глобальных DNS-записей. DHCP сервер интегрирован с DNS сервером и даёт машинам с IP-адресом доменное имя, сконфигурированное раннее в конфигурационном файле. Поддерживает привязку IP-адреса к компьютеру или автоматическую настройку IP-адресов из заданного диапазона и BOOTP для сетевой загрузки бездисковых машин.
Устанавливаем dnsmasq в Debian выполнив команду:
aptitude install dnsmasq
Устанавливаем dnsmasq в CentOS выполнив команду:
yum install dnsmasq
Устанавливаем dnsmasq в OpenWRT выполнив команду:
opkg install dnsmasq
Ниже находится конфигурационный файл с коментариями и примерами по настройке для 3 локальных сетей, указанием внутренних DNS серверов и указанием как отдельного TFTP сервера, так и настройке встроенного TFTP сервера в DNSMASQ.
Данный конфигурационный файл не претендует на полный обзор всех параметров сервера, но претендует на полноценную работоспособность в текущей конфигурации:
vi /etc/dnsmasq.conf # Перебирать DNS сервера из файла /etc/resolv.conf в том порядке как они указаны strict-order pid-file=/var/run/dnsmasq/dnsmasq.pid # Настройка DNS сервера # Если у Вас уже настроен DNS сервер, нужно отключить DNS сервер в dnsmasq, # необходимо раскоментировать port=0 и закоментировать запросы DNS на server.loc и home.loc #port=0 # Указываем отправлять все запросы DNS на server.loc на внутренний сервер в локальной сети: domain=server.loc server=/server.loc/192.168.1.10 server=/1.168.192.in-addr.arpa/192.168.1.10 # Указываем отправлять все запросы DNS на home.loc на внутренний сервер в локальной сети: domain=home.loc server=/home.loc/192.168.2.10 server=/2.168.192.in-addr.arpa/192.168.2.10 # Настройки DHCP сервера no-dhcp-interface=eth0 # Provider # Работать только на интерфейсах: interface=eth2 # Localnet 192.168.0.0/24 interface=eth3 # Localnet 192.168.1.0/24 interface=eth4 # Localnet 192.168.2.0/24 # Указываем отдельный TFTP сервер в нашей локальной сети dhcp-option=eth2,66,192.168.0.10 dhcp-option=eth3,66,192.168.1.10 dhcp-option=eth4,66,192.168.2.10 # Поднимем TFTP сервер встроенный в dnsmasq сервер, если используется встроенный, # соответственно сменим и адрес в конфиге выше на адрес dnsmasq сервера # cjplfnm папку для файлов tftp сервера: mkdir -p /home/tftp enable-tftp tftp-root=/home/tftp # Динамическая аренда адресов, срок аренды на 7 дней для Localnet 192.168.0.0/24: dhcp-range=eth2,192.168.0.100,192.168.0.229,255.255.255.0,7D # Указываем по умолчанию шлюз dhcp сервера: dhcp-option=eth2,3,192.168.0.1 # Динамическая аренда адресов, срок аренды на 7 дней для Localnet 192.168.1.0/24: dhcp-range=eth3,192.168.1.100,192.168.1.229,255.255.255.0,7D # Указываем по умолчанию шлюз dhcp сервера: dhcp-option=eth3,3,192.168.1.1 # Динамическая аренда адресов, срок аренды на 7 дней для Localnet 192.168.2.0/24: dhcp-range=eth4,192.168.2.100,192.168.2.229,255.255.255.0,7D # Указываем по умолчанию шлюз dhcp сервера: dhcp-option=eth4,3,192.168.2.1 # Указываем нужные DNS серверов для каждой сети: dhcp-option=eth2,6,192.168.0.1,8.8.8.8 # Localnet 192.168.0.0/24 dhcp-option=eth3,6,192.168.1.1,8.8.4.4 # Localnet 192.168.1.0/24 dhcp-option=eth4,6,192.168.2.1,8.8.8.8 # Localnet 192.168.2.0/24 # расположение файла аренды адресов, можно в нем увидеть какой компьютер получил какой IP dhcp-leasefile=/var/lib/misc/dnsmasq.leases # Если нужно записывать отладочную информацию, раскоментировать: #log-dhcp dhcp-authoritative # Привязка компьютера по MAC адресу на определенный IP по примеру: # dhcp-host=11:22:33:44:55:66,foo,192.168.0.10 # где foo - имя компьютера, можно не указывать # Принтера, изменить данные на свои и раскоментировать: #dhcp-host=00:00:47:3c:28:1e,192.168.0.10 # принтер сети Localnet 192.168.0.0/24 #dhcp-host=00:e3:35:09:b1:8e,192.168.1.10 # принтер сети Localnet 192.168.1.0/24
Если Вы настроили встроенный TFTP сервер в dnsmasq, для его проверки создадим файл в папке сервера и скачаем его предварительно установив tftp клиент.
Устанавливаем tftp клиент выполнив команду:
aptitude install -y tftp
Создадим тестовый файл в текстом 777 в папку tftp сервера выполнив команду:
echo 777 > /home/tftp/test
Скачиваем созданный файл для проверки работоспособности tftp сервера выполнив команду подставив IP своего dnsmasq сервера:
echo get test | tftp 192.168.1.1
Проверяем, что скачан тот файл, что мы ранее создали выполнив команду:
cat test 777
Сервисы настроенный в dnsmasq сервере работают как и положено, задача выполнена.
С Вами был Сергей Лазаренко.
Сделаем небольшой перерыв и посмотрим полезный видео ролик с подробностями о DDOSS:
Add new comment