Wiki

Clone wiki

rt-n56u / RU / Примеры настройки DNS-сервисов

Примеры настройки DNS-сервисов

Прошивка позволяет получить почти полный контроль над DNS и DHCP службами редактированием конфигурационного файла dnsmasq.



Объяснение значения полей dnsmasq в веб-интерфейсе

На странице LAN > DHCP-сервер, в разделе Дополнительные настройки есть три поля:

  • Пользовательский файл конфигурации "dnsmasq.conf". Содержимое этого поля дописывается к автоматически созданному конфигу dnsmasq, что позволяет добавлять в конфиг собственные опции. Если в этом поле будет допущена синтаксическая ошибка, то dnsmasq не сможет запуститься. В системном логе это будет выглядеть как периодические попытки запуска dnsmasq с интервалом в 30 секунд.
  • Пользовательский файл конфигурации "dnsmasq.servers". По сути, это тоже часть конфигурационного файла dnsmasq, допускающая только записи определённого вида (server=/.../.../). Любые другие записи будут проигнорированы.
  • Пользовательский файл конфигурации "hosts". файл с синтаксисом /etc/hosts, позволяет вручную задать соответствие между DNS-именами и IP-адресами.

Выборочная защита домашних устройств с помощью Яндекс.DNS

Пример показывает как для «детских» устройств в семье включить защиту с помощью Яндекс.DNS, а для остальных использовать обычные провайдерские настройки.

Перейдите на страницу LAN > DHCP-сервер и впишите в поле Пользовательский файл конфигурации "dnsmasq.conf" следующие строки:

### MAC-адрес детского ноутбука
dhcp-mac=set:kids,E4:40:E9:E9:E4:E4

### MAC-адрес детского планшета
dhcp-mac=set:kids,64:B3:10:B3:42:B3

### Использовать Яндекс.DNS Семейный для детских устройств
dhcp-option=tag:kids,option:dns-server,77.88.8.7

Разумеется, MAC-адреса надо указывать от своих устройств. Нажмите Применить, чтобы сохранить настройки. Они вступят в силу в момент следующего подключения детского девайса к роутеру.

Использование сервисов SkyDNS и Rejector

Эти сервисы предлагают услуги по защите домашних устройств, ограничивая доступ к определённым категориям ресурсов, включая вредоносные. Фильтры можно настраивать самостоятельно, ограниченно можно вести собственный белый и\или чёрный списки доменов. Есть статистика посещённых ресурсов. Для домашнего пользования сервисы бесплатны. Ниже приведён подробный пример настройки SkyDNS.

  • Зарегистрируйтесь на сайте SkyDNS. Для примера пусть учётное имя будет mymail@mail.com, пароль P@ssw0rd.
  • Укажите DNS-сервер SkyDNS в настройках роутера:

    • Если фильтрация нужна для всех устройств домашней сети, на странице WAN > Интернет-соединение отключите Получать адреса DNS-серверов автоматически? и впишите 193.58.251.251 в поле DNS-сервер 1:.
    • Если нужна фильтрация только для выборочных устройств, то выполните шаги предыдущего раздела «Выборочная защита…», изменив 77.88.8.7 на 193.58.251.251 в поле конфигурации dnsmasq.
  • Перейдите на страницу WAN > DDNS, включите Включить DDNS-клиент? и заполните поля следующим образом:

    • Профиль сервиса: - custom (http based auth),
    • DDNS сервер (FQDN или IP): - www.skydns.ru,
    • URL путь для обновления: - nic/update?hostname=,
    • Host Name: - SkyDNSAgent,
    • Логин или адрес e-mail или токен DDNS: - mymail@mail.com,
    • Пароль DDNS: - P@ssw0rd,
    • Использовать защищенное HTTPS соединение? - Нет.
  • Нажмите Применить.

Если всё сделали правильно, то в личном кабинете появится актуальная запись: Клиент DDNS: skydnsagent (x.x.x.x), где x.x.x.x - ваш текущий IP-адрес. Можно переходить к тонкой настройке фильтров в своём профиле SkyDNS.

Для случая использования Rejector все действия выполняются абсолютно аналогично, разница только в деталях:

  • в настройках роутера указывается DNS-сервер 95.154.128.32 и/или 78.46.36.8,
  • в настройках DDNS-клиента в поле DDNS сервер (FQDN или IP): указывается updates.rejector.ru.

Остальные настройки те же.

Защита DNS-трафика от перехвата

В некоторых случаях провайдер перехватывает запросы к внешним DNS-серверам, поэтому одним из решений в этом случае будет шифрование трафика до DNS-серверов. Для этого решения понадобится USB-накопитель с развёрнутым репозиторием Entware.

  • Установите пакет dnscrypt-proxy:
opkg install dnscrypt-proxy

В процессе установки можно будет выбрать ближайший к вам сервер. Можете просто нажать Enter, если не знаете что выбрать.

  • Запустите dnscrypt-proxy. Он будет автоматически стартовать при каждой загрузке роутера:
/opt/etc/init.d/S09dnscrypt-proxy start
  • на странице веб-интерфейса LAN > DHCP-сервер в поле Пользовательский файл конфигурации "dnsmasq.conf" добавьте следующие строки:
### Use dnscrypt-proxy instead of ISP DNS
no-resolv
server=127.0.0.1#65053

Нажмите Применить, чтобы настройки вступили в силу.

Доступ к Pandora, HBO Now, Spotify, Amazon Video и Netflix за пределами США

Перечисленные сервисы работают исключительно в США, однако с помощью сервиса Portaller ими можно пользоваться и здесь.

  • на странице веб-интерфейса LAN > DHCP-сервер в поле Пользовательский файл конфигурации "dnsmasq.servers" добавьте следующие строки:
### Portaller support
server=/pandora.com/107.170.15.247
server=/tuner.pandora.com/107.170.15.247
server=/www.spotify.com/107.170.15.247
server=/play.spotify.com/107.170.15.247
server=/apresolve.spotify.com/107.170.15.247
server=/weblb-wg.gslb.spotify.com/107.170.15.247
server=/lon3-weblb-a2.lon3.spotify.com/107.170.15.247
server=/ip2location.com/107.170.15.247
server=/atv-ext.amazon.com/107.170.15.247
server=/atv-ps.amazon.com/107.170.15.247
server=/netflix.com/107.170.15.247
server=/uiboot.netflix.com/107.170.15.247
server=/secure.netflix.com/107.170.15.247
server=/api-global.netflix.com/107.170.15.247
server=/nrdp.nccp.netflix.com/107.170.15.247
server=/ios.nccp.netflix.com/107.170.15.247
server=/android.nccp.netflix.com/107.170.15.247
server=/tunein.com/107.170.15.247
server=/radio.com/107.170.15.247
server=/streamtheworld.com/107.170.15.247
server=/hbogo.com/107.170.15.247
server=/hbo.com/107.170.15.247
server=/hbonow.com/107.170.15.247

и нажмите кнопку Применить. На клиентах настройки вступят в силу после очистки DNS-кэша ОС и\или браузера.

Запрет использования собственных DNS-настроек на клиентах

В некоторых случаях требуется, чтобы клиенты в локальной сети не использовали сторонние DNS-сервисы. Это может быть полезным для медиаплееров с намертво вшитыми DNS-серверами или хитрые клиенты, пытающиеся обойти DNS-фильтрацию, настроенную на роутере. Можно перехватывать DNS-запросы от клиентов и направлять их на роутер.

  • Откройте страницу Персонализация > скрипты и в поле Выполнить после перезапуска правил брандмауэра: добавьте следующую строку:
iptables -t nat -I PREROUTING -i br0 -p udp --dport 53 -j DNAT --to $(nvram get lan_ipaddr)

Нажмите Применить, чтобы настройки вступили в силу.

Updated