Ещё немного о конфиге dnsmasq

# Заставим dnsmasq запускаться исключительно под пользователем dnsmasq
user=dnsmasq
group=dnsmasq
##
# Настраиваем DNS. Не нужен — смело выкидываем эту часть.
##
# Настройка DNS — чтобы отключить DNS, поставьте тут 0.
# Если же хотите расположить DNS на нестандартном порту — что ж, располагайте.
port=53

# Размер кэша. Число обозначает количество хранимых доменных имён.
cache-size=1000

# Не спрашивать у внешнего DNS про имена без точки вроде homeserver, user-pc и прочие —
# ему и так плохо, бедному, а ещё мы тут со своими заведомо локальными адресами…
domain-needed
# Что-то вроде предыдущего, тоже не даёт обращаться к глобальным DNS-серверам со всякой нелепицей в запросе
bogus-priv

# Интерфейс для приёма DHCP и DNS запросов.
interface=wlan0
# А вот этого интерфейса избегать, как чумы:
except-interface=ppp0
# На всякий случай, мало ли глюк и сервер реально будет раздавать на ppp0, размахивая своим dhcp-authoritative.

##
# Настраиваем DHCP. НЕ нужен — смело выкидываем эту часть.
##
# Одна из самых главных строчек:
# она своим лишь присутствием запускает DHCP-сервер,
# заодно передавая ему размер пула адресов
# 12h значит то, что срок аренды адреса по умолчанию — 12 часов.
# Соответственно, 12m — 12 минут, всё просто.
dhcp-range=192.168.51.50,192.168.51.150,12h

# Статический адрес. Указаны только MAC и IP:
dhcp-host=11:22:33:44:55:66,192.168.51.60
# Статический адрес. Указаны MAC, hostname, IP и индивидуальное время аренды.
# Да-да, вы поняли тему =) Всё решается одной строчкой:
dhcp-host=11:22:33:44:55:66,fred,192.168.51.60,45m

# Заблокировать выдачу IP-адреса для этого MAC-адреса:
dhcp-host=11:22:33:44:55:66,ignore
# Я лучше заблокирую — не, ну он выглядит реально подозрительно!

# Объявляем, что наш сервер — властитель нашей локальной сети и ни один другой не может быть подобным ему.
# НЕ ДЕЛАЙТЕ ЭТОГО, если есть такие же самопровозглашённые претенденты на трон —
# можно порушить королевство, где выдаются IP-адреса
# А вот для моего сервера это необходимо, чтобы уменьшить время получения IP для устройств.
dhcp-authoritative

Расширенные опции:
# А тут можно немного подкорректировать то, что отдаёт DNS.
# IPv4-only.
# Поправим 1.2.3.4 на 5.6.7.8!
alias=1.2.3.4,5.6.7.8
# А если 1.2.3.x на 5.6.7.x? Ну тут уже нужна маска сети!
alias=1.2.3.0,5.6.7.0,255.255.255.0
# Ну а если мы вообще хотим перенаправить блок 192.168.0.10->192.168.0.40 на 10.0.0.10->10.0.0.40?
alias=192.168.0.10-192.168.0.40,10.0.0.0,255.255.255.0
# Всё, можно устраивать у себя свой Spamhaus и блокировать целыми блоками адресов, перенаправляя на что-нибудь ещё.

# Небольшой срыв покровов. Dnsmasq открывает порты на всех интерфейсах —
# даже если сказано только про некоторые. Затем он просто игнорирует ненужные.
# Это, как говорят, сделано для удобства. Если честно — мне кажется, что
# в нашем случае никакого удобства не будет.
# Следующая опция принуждает dnsmasq не притворяться и слушать только на тех интерфейсах,
# которые реально предназначены для этого.
bind-interfaces

# Интересная настройка! У нас же DNS, хоть и использующий общую базу адресов —
# а это значит, что он может отдавать такие запросы, какие мы его попросим.
# Угадайте, что делает эта опция?
address=/vk.com/127.0.0.1
# Даа! Вместо ВК будет показываться гордое «It works!»
# Ходют тут всякие, трафик наш тратят.
# Ну и что, что безлимитный? =D
# Использоваться, конечно, может не только для блокировки на уровне DNS,
# но и для того, чтобы просто задать сетевое имя машине в локальной сети.

# Стоп, а зачем делать это в самом конфиге?
# Одна из прикольных фишек dnsmasq как DNS-сервера:
# читать файл /etc/hosts и все записи из него отдавать на соответствующие DNS-запросы.
# Можно не только удовлетворять запросы активизации KMS Microsoft Office
# и прочего софта с онлайн-активацией,
# но и блокать рекламу ещё до того, как она дойдёт до нашего сервера.
# Ну а зачем пихать всё сразу в hosts? Можно добавить внешний файлик с записями! И не один!
addn-hosts=/etc/banner_add_hosts
# Естественно, он по синтаксису должен быть в точности как hosts.
# А если идея c hosts, на ваш взгляд, неуместна, некультурна и вообще моветон?
# Используйте следующую опцию и отключите эту фишку.
no-hosts

# Интересная фишка, подходящая для ноутбуков с двумя сетевыми картами — проводной и беспроводной.
# Заключается она в том, что на два разных MAC-адреса выдаётся один IP-адрес.
# Правда, при этом подразумевается то, что два типа связи не будут использоваться одновременно —
# если подключатся оба, то адрес получит второй MAC в строке.
# Всё очень просто — MA:CA:DD:RE:SS:00,MA:CA:DD:RE:SS:01,12.34.56.78
dhcp-host=11:22:33:44:55:66,12:34:56:78:90:12,192.168.0.60

# Дать бесконечный lease клиенту c hostname bert.
dhcp-host=bert,192.168.0.70,infinite

# На закуску — эта опция отвечает за «белый список».
# Всё просто — адреса будут выдаваться только тем, кому вы выдали статический в этом файле.
# Остальные со своими грязными DHCPDISCOVER пролетают.
dhcp-ignore=tag:!known

# Размер пула DHCP-адресов. Интересно, почему эта настройка не задаётся согласно address range.
dhcp-lease-max=640 #640 адресов хватит каждому
# На самом деле — большинству вообще не понадобится больше 100, но это мелочи.

# Интересная опция. Запускает скрипт при каждой выдаче адреса DHCP и истечении срока выдачи
# Аргументы: script add MA:CA:DD:RE:SS:00 12.34.56.78 hostname(если есть) (при добавлении)
# или script del MA:CA:DD:RE:SS:00 12.34.56.78 hostname(если есть) (при удалении)
dhcp-script=/bin/echo
# Если подумать — есть пара интересных применений. Вроде голосового оповещения при подключении =D

# Адрес NTP-сервера для машин в сети. Ещё не поставил — но обязательно поставлю, делов-то.
dhcp-option=42,192.168.51.1


Вы можете оставить комментарий, или ссылку на Ваш сайт.