====== 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