Перенаправление DNS-запросов с использованием роутера и iptables

1

У меня есть кабельный модем-маршрутизатор от моего провайдера (Technicolor TC7210Z) и несколько подключенных проводных и беспроводных устройств. Я хочу изменить конфигурацию DNS для всех устройств, но я не могу изменить ее на кабельном модеме и не могу изменить ее на некоторых из подключенных устройств. Прямо сейчас это выглядит так:

текущая настройка сети без контроля DNS-серверов

Помимо возможности установить DNS на кабельном модеме-маршрутизаторе, поставляемом интернет-провайдером, я считаю, что IP-адреса DNS жестко заданы на соответствующем устройстве (беспроводное устройство X) и не извлекаются из DHCP, поэтому используются iptablesи отображаются запрашиваемые IP-адреса DNS для моих предпочтительных IP-адресов DNS будет необходимо. С этой целью я рассматриваю возможность покупки другого маршрутизатора (Linksys WRT54GL), перепрошивки с помощью DD-WRT (при необходимости), размещения его между устройствами и маршрутизатором-модемом и настройки iptables, например, так:

предлагаемая настройка с дополнительным маршрутизатором, позволяющим перенаправлять DNS с использованием iptables

Я не хочу сбрасывать деньги на новое оборудование, не будучи достаточно уверенным, что это сработает, поэтому у меня есть следующие вопросы:

  1. будет ли это иметь желаемый эффект изменения данных DNS на беспроводном устройстве X?
  2. Предполагая, что нет никаких особых требований от DNS на любом из других подключенных устройств, это будет иметь какие-либо побочные эффекты? Будет ли затронут обмен данными между устройствами за новым маршрутизатором (устройствами внутри моей сети)?
  3. Распространено ли использование DNS для выполнения задач, отличных от поиска доменных имен?
Сеннетт
источник
Можете ли вы отключить dhcp на маршрутизаторе, поставляемом провайдером? Затем вы можете подключить какое-то другое устройство к вашей сети и передать необходимые настройки через dhcp. Но это зависит от возможности отключить dhcp на маршрутизаторе isp. И если это возможно, могут появиться и другие хитрости. В противном случае, ваш план DD-WRT, вероятно, верный путь.
Рэймонд Буркхолдер
Я не думал об использовании другого устройства в качестве поставщика DHCP. Поставляемый провайдером маршрутизатор имеет опции для отключения DHCP в локальной сети (хотя не предоставляет никакого интерфейса для изменения DNS-серверов, даже если DHCP выключен). В этом случае, однако, я думаю, что это не сработает. Беспроводное устройство имеет жестко закодированные IP-адреса DNS (игнорируя IP-адреса DHCP), поэтому, хотя это будет работать для других устройств, это устройство все равно будет использовать свои жестко закодированные IP-адреса DNS.
Сеннетт
Хитрость зависит от того, насколько хорошо вы знаете свою сеть. Для жестко закодированных адресов DNS создайте отдельную подсеть в своей сети, которая включает эти специальные адреса DNS. Создайте специальный хост, который прослушивает эти адреса. Запустите что-то вроде dnsmasq на этом хосте, чтобы обработать разрешение DNS. Это также может быть ваш основной сервер DNS и DHCP. Недостатком является то, что вы не сможете получить доступ к этим адресам извне, поскольку они были перенаправлены изнутри.
Рэймонд Буркхолдер
Спасибо за вашу помощь. Я многому учусь. Одно из устройств - это RasberryPI, подключенный через Ethernet, и устройство с жестко закодированным DNS - это беспроводное устройство. Могу ли я создать подсеть (+ dnsmasq) на RPi и открыть ее для локальной сети, или мне нужен дополнительный маршрутизатор для создания подсети? Если использование RPi является концептуально правильным, будут ли последствия для производительности? Второй вопрос: если у меня настроена подсеть, потребуется ли дополнительная настройка, чтобы устройства могли взаимодействовать между подсетями, или мне лучше иметь все в одной подсети?
Сеннетт
Все хорошие вопросы. И различные комбинации понятий, такие как шлюз по умолчанию, мосты, VLAN, вторичные IP-адреса, маршрутизация, ... вступают в игру. Raspberry Pi, основанный на Linux, может выполнить все эти задачи с точки зрения командной строки. IP-ссылка, IP-сосед, IP-адрес, IP-маршрут, ... некоторые из команд, которые будут иметь значение. К сожалению, у меня нет времени, чтобы выложить все это для вас.
Рэймонд Буркхолдер

Ответы:

1

Приобретение беспроводного маршрутизатора с конфигурацией под вашим контролем - самый простой способ сделать это. Исходя из описанного вами сценария, вы должны поместить что-то между неуправляемым маршрутизатором ISP и другими вашими устройствами, чтобы хотя бы перехватить пакеты DHCP-запросов и изменить поведение ответа (для использования DNS-серверов). Вам даже не придется беспокоиться о DD-WRT, так как практически любой беспроводной маршрутизатор, который вы можете купить в местном магазине Big Box, позволит вам указать DNS-серверы, передаваемые встроенной в это устройство функцией DHCP, а также куча других функций (брандмауэры, переадресация портов, черные списки, белые списки и т. д.) Это может быть действительно дешево, всего за 25 долларов США для базовой модели.

И, конечно, вы можете потратить больше $$, чтобы получить гораздо лучшее обновление беспроводной сети, например, до стандарта 802.11ac (на момент написания статьи).

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

Милли
источник
Я даже не думал, что интернет-провайдер может маршрутизировать DNS-запросы, подобные этому. К счастью, они не в моем случае. Спасибо за отличный ответ. Как я уже говорил в комментарии выше, недостаточно изменить DNS, предоставляемый DHCP, поскольку устройства имеют жестко заданные IP-адреса DNS и полностью игнорируют предоставленные DHCP IP-адреса DNS. Я думаю, что единственный способ - перенаправить IP-адрес назначения трафика запроса DNS (или заблокировать его, если устройство начинает набирать правильные IP-адреса DNS). Я думаю, что пока оставлю 802.11ac - он значительно дороже, и ни одно из моих устройств не поддерживает его в данный момент.
Сеннетт