Есть ли способ использовать определенный DNS для определенного домена?

На работе мы используем OpenDNS, и он неправильно заблокировал irc.freenode.net для вредоносного ПО. Как я могу убедиться, что любой запрос для * .freenode.net переходит в 8.8.8.8 и 8.8.4.4 (DNS от Google).

Я попытался сделать это, поиграв с resolv.conf на Ubuntu, но мне не удалось зайти слишком далеко. Кроме того, есть простой способ сделать это для компьютеров Mac и Windows (у меня есть несколько коллег, использующих эти ОС, и они также хотели бы использовать IRC).

22 голоса | спросил vivin 23 Maypm12 2012, 20:37:45

4 ответа


12

Linux не поддерживает использование доменных DNS-серверов с помощью resolv.conf. Вы могли бы обойти это, запустив кеширующий сервер имен (например, BIND или dnsmasq) локально, а затем настроить явные форвардеры для каждого домена.

В OS X эта настройка довольно проста с помощью команды scutil. Общим вариантом использования для этой конфигурации является пересылка DNS-запросов для VPN-подключения к VPN-специфическим DNS-серверам, поэтому вы найдете это часто обсуждаемым, например, с OpenVPN. Этот документ рассказывает о ---- +: = 4 =: + ----, как и и поиск в Google scutil и openvpn даст больше результатов.

Я не уверен в Windows. Вы могли бы использовать локальное решение DNS-сервера для всех трех платформ, если вам нужно.

ответил larsks 23 Maypm12 2012, 21:00:17
29

Это невозможно сделать с помощью стандартного разрешения DNS, предоставляемого * nix (и Windows AFAIK), для этого вам нужен собственный DNS-сервер. On * nix dnsmasq - лучший выбор для этого, и вы можете запускать его на каждой рабочей станции или запускать это на сервере и настроить все рабочие станции, чтобы использовать это.

/etc/resolv.conf:

nameserver 127.0.0.1
nameserver 208.67.222.222
nameserver 208.67.220.220

/etc/dnsmasq.conf:

server=/freenode.net/8.8.8.8
server=/freenode.net/8.8.4.4
ответил mgorven 23 Maypm12 2012, 20:59:53
3

В OS X вы можете использовать такие файлы, как /etc/resolver/example.com, с контентом:

nameserver 172.16.5.5

пересылать запросы DNS для * .example.com до 172.16.5.5

http://hints.macworld.com/article.php?story=2004062902195410

ответил Alek_A 11 FebruaryEurope/MoscowbThu, 11 Feb 2016 11:21:53 +0300000000amThu, 11 Feb 2016 11:21:53 +030016 2016, 11:21:53
3

Я сделал это на Fedora, установив локальный DNS-сервер.

сначала установите bind:

sudo dnf install bind

Шаг 1: добавьте строку в /etc/named.conf (с правами root):

include "/etc/named/freenode.net.conf";

Шаг 2: создайте файл зоны /etc/named/freenode.net.conf (от имени root):

zone "freenode.net" {
    type forward;
    forwarders { 8.8.8.8; };
};

теперь перезапустите named:

sudo service named restart

теперь перенастройте свои настройки lan для использования 127.0.0.1 в качестве DNS-сервера, а не для выделенных хостом DCHP.

ответил Richard Hodges 15 Mayam18 2018, 10:54:21

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132