Dnsmasq - Настройка кеширующего DNS DHCP сервера
Устанавливаем и настраиваем на примере Debian Stretch.
Установка:
# apt-get install dnsmasq net-tools dnsutils
Настройка сети:
enp0s3
- Внешний интерфейс. Смотрит в сторону WAN.
enp0s8
- Внутренний интерфейс. Смотрит в сторону LAN.
- Проверяем интерфейсы, # ip a - Настраиваем сеть, # nano /etc/network/interfaces # WAN allow-hotplug enp0s3 iface enp0s3 inet dhcp # LAN auto enp0s8 iface enp0s8 inet static address 192.168.0.1 netmask 255.255.255.0 gateway 192.168.0.1 - Настройки, auto - указанный интерфейс необходимо запускать автоматически при загрузке системы; iface - указываем интерфейс enp0s8 и как получать ip-адрес, static или dhcp; address - если static, то указываем какой; gateway - задаем шлюз по-умолчанию; netmask - маска сети.
Настройка Dnsmasq:
# cp /etc/dnsmasq.conf /etc/dnsmasq.conf.old # cp /dev/null /etc/dnsmasq.conf # nano /etc/dnsmasq.conf port=53 # Используемый порт; interface=enp0s8 # Интерфейс, на котором будет работать dnsmasq; #listen-address=127.0.0.1,192.168.0.1 # Запуск функции кеширования для ip-адресов локальных интерфейсов. Если этой опции нет, то для всех; domain-needed # Использовать только полное доменное имя (FQDN). Точка в конце; bogus-priv # Запретить пересылать адреса в немаршрутизированные адресные пространства; no-resolv # Запрет в чтении файла /etc/resolv.conf или др.файла выполняющего его функцию. server=192.168.5.1 # Адрес верхнего dns-сервера; domain=mtv.lan # Название домена; server=/mtv.lan/192.168.5.1 # указываем на dns-сервер для домена; server=/5.168.192.in-addr.arpa/192.168.5.1 # Обратный запрос dns (reverse DNS lookup). Для определения имени узла по его IPv4-адресу c помощью PTR-записи; conf-dir=/etc/dnsmasq.d # Подключение дополнительной директории с конфигами; log-dhcp # Ведение логов DHCP; dhcp-range=interface:enp0s8,192.168.0.0,static,1h dhcp-option=interface:enp0s8,1,255.255.255.0 # Subnet Mask /24 dhcp-option=interface:enp0s8,3,192.168.0.1 # Router dhcp-option=interface:enp0s8,6,192.168.5.1 # DNS Server addresses dhcp-option=interface:enp0s8,42,192.168.5.1 # NTP Server addresses dhcp-authoritative # Указываем что это единственный DHCP сервер. dhcp-leasefile=/var/lib/misc/dnsmasq.leases # База с арендуемыми ip-адресами DHCP-сервера; # nano /etc/dnsmasq.d/zone0.conf # VM ZONE 50-100 dhcp-host=08:00:08:00:08:00,192.168.0.50 # VM1
Настройка Netfilter:
# nano /etc/sysctl.conf net.ipv4.ip_forward=1 # sysctl -p - Для подмены адреса отправителя у пакетов, поступивших с «внутреннего» интерфейса, и уходящих на внешний интерфейс: # STATIC: # iptables -t nat -A POSTROUTING -o enp0s3 -s 192.168.0.0/24 -j SNAT --to-source "static ip on the interface enp0s3" # DYNAMIC: # iptables -t nat -A POSTROUTING -o enp0s3 -s 192.168.0.0/24 -j MASQUERADE