Принудительно использовать определенного поставщика DNS в сети

Принудительно использовать определенного поставщика DNS в сети

OpenDNS предлагает довольно простой способ фильтрации интернета по категориям. Конечно, тот, кто может получить правильный IP-адрес, может легко обойти фильтр, но этого будет достаточно для моих ожиданий.

Более серьезная проблема заключается в том, что смена поставщика DNS на стороне клиента не представляет большой проблемы.

Поэтому мой вопрос заключается в том, можно ли принудительно использовать только определенного провайдера DNS в локальной сети.

Целевое устройство — WiFi-роутер с OpenWRT. (Однако я был бы рад любому аналогичному простому в настройке решению по фильтрации, но главный вопрос — это принудительное использование DNS-провайдера.)

решение1

С брандмауэром iptables это работает (OpenWRT также использует iptables):

iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p udp --dport 53 -j DNAT --to 192.168.1.1
iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p tcp --dport 53 -j DNAT --to 192.168.1.1

На вашем маршрутизаторе используйте Opendns-серверы. 192.168.1.1— это IP-адрес маршрутизатора Openwrt. 192.168.1.0/24— это подсеть локальной сети. Измените приведенные выше правила в соответствии с настройками подсети вашей сети. Если вы пробуете приведенные выше правила в командной строке openwrt, замените -Aна -I. Если вы сохраняете правила в скрипте, который загружается при загрузке или при перезапуске, то -Aswitch должен работать. При такой настройке, какие бы DNS-серверы ни использовали клиентские машины, когда DNS-запрос достигает маршрутизатора, IP-адрес назначения будет изменен на IP-адрес вашего маршрутизатора. Вы можете узнать больше о iptables на Openwrtздесь.

решение2

Да, можно заставить все хосты в локальной сети использовать только определенного провайдера DNS. Вы можете сделать это, настроив прокси-сервер, напримерПрокси-сервер Squidи заставляя все хосты в локальной сети получать доступ к Интернету только через этот прокси-сервер. Таким образом, каждый запрос, будь то DNS-запрос, HTTP-запрос или любой другой запрос, сначала будет отправлен на прокси-сервер. Таким образом, любая запись DNS, которая будет написана при настройке прокси-сервера, будет использоваться всеми хостами в локальной сети.

Связанный контент