it-swarm-ru.tech

Запуск DNS локально для домашней сети

У меня небольшая домашняя сеть, которая только что выросла (новая соседка по комнате, моя соседка по комнате получила ноутбук (поверх ее компьютера), мои друзья пришли с ноутбуками и т.д.).

Я хотел бы запустить локальный DNS-сервер для поиска содержимого моей локальной сети (fileserver.local, windowsTV.local, machineA.local, machineB.local, appletv.local). Раньше у меня была бизнес-линия со статическим IP, и я запускал bind/named изнутри. Однако сейчас у меня нормальный аккаунт.

DNS-серверы моего интернет-провайдера постоянно меняются (по каким-либо причинам мой интернет-провайдер не любит долго сохранять один и тот же диапазон IP-адресов). Мне нужно, чтобы мой локальный DNS автоматически обновлялся, чтобы использовать DNS моего интернет-провайдера для внешнего трафика, но чтобы я мог поддерживать внутренний DNS-сервер (получение обновления файла hosts является проблемой с каждой новой машиной в дополнение к перестройке существующих машин с win7 или Ubuntu 9.04).

Кроме того, DNS-серверы моего провайдера часто дают сбой или перестают отвечать на запросы. Существуют ли открытые DNS-серверы, которые являются надежными (я не хочу переконфигурировать каждый день), которые я мог бы использовать в качестве основного, а затем, если они потерпят неудачу, использовать моих интернет-провайдеров?

ОБНОВЛЕНИЕ: также ищет каждую рабочую станцию, чтобы иметь возможность использовать dhcp для подключения, но вместо того, чтобы получить DNS-серверы ISP, получить мой внутренний ....

96
Roy Rico

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

15
Bender

В основном вам нужно запустить свой собственный сервер DHCP и DNS. Вы уже используете свой собственный сервер DHCP, если у вас есть типичный маршрутизатор, который выдает частные IP-адреса.

Ваш DHCP-сервер должен быть настроен на передачу IP-адреса вашего маршрутизатора в качестве адреса шлюза, а IP-адрес вашего DNS-сервера - в качестве адреса DNS-сервера.

Ваш DNS-сервер должен быть настроен для локального разрешения неофициального домена верхнего уровня, такого как .local, а затем пересылать любые другие запросы в другой DNS. В BIND вам нужно добавить раздел forwarders { } в ваш файл /etc/bind/named.conf.options, который содержит общедоступные DNS-серверы, которые вы хотите использовать для разрешения нелокальных адресов. Как показывают другие комментарии, если вы не хотите пересылать данные на DNS-серверы вашего провайдера, вы можете использовать OpenDNS, общедоступные DNS-серверы Google или 4.2.2.1/4.2.2.2 (я забыл, кто это делает).

Если вы используете свой собственный DNS-сервер, вам нужен ящик, который будет включен все время, так как все DNS-запросы в вашей домашней сети будут проходить через него. Для этого поля требуется фиксированный IP-адрес в вашей домашней подсети. Удостоверьтесь, что это не может быть снесено бульдозером по DHCP, и сам ящик не должен получать IP через DHCP. Если ваш DHCP настроен на раздачу адресов, например, от 192.168.1.1 до 192.168.1.100, то дайте вашему DNS-серверу IP 192.168.1.101. В обычной ситуации домашних маршрутизаторов вам просто нужно сообщить маршрутизатору, что DNS-сервер 192.168.1.101, и перезагрузиться.

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

81
LawrenceC

Есть ли открытые DNS-серверы, которые являются надежными

Вы сказали это: OpenDNS .

 208.67.222.222 
 208.67.220.220 
15
hyperslug

Если вы используете Windows - вам следует взглянуть на Simple DNS Plus - это полный DNS-сервер, который также поставляется с плагином DHCP-сервера - и имеет простой в использовании графический интерфейс.

[Примечание: продукт разработан автором этого поста]

6
Jesper

Unbound довольно прост, поддерживает конфигурационные файлы в стиле bind и довольно надежен. Если сервер будет автономным типом «шлюза», и вам понадобится несколько дополнительных тонкостей, вы можете также взглянуть на дистрибутив брандмауэра/шлюза, называемый untangle.

5
Journeyman Geek

Если у вас есть окно linux, вам нужно настроить DNSMASq на получение локальных адресов и использовать его в качестве DNS-сервера для пересылки/кэширования внешних адресов. Это также часто используется в дистрибутивах Linux для домашних маршрутизаторов, таких как openwrt/ddwrt/tomato.

С другой стороны, в большинстве сетей Apple/Mac вы будете использовать Bonjour/Zeroconf, на котором компьютеры Linux и Apple могут взаимодействовать для широковещательного разрешения DNS/службы.

При этом в чисто гибридной сети с работающими всеми тремя ОС вам определенно понадобится локальный DNS-сервер с пересылкой на OpenDNS, GoogleDNS или локальный DNS-провайдер в зависимости от вашего местоположения/потребностей.

4
jonathanserafini

4.2.2.1 и 4.2.2.2 - это то, что я использую

Правка: то есть в отношении публичных серверов. Легко запомнить, и я не думаю, что видел их неудачу, так как я их использовал.

2
DHayes

Любой широкополосный маршрутизатор предоставляет службы DNS и DHCP для локальной сети. Если вы хотите подключать INcomming из Интернета к локальным компьютерам, вам нужен маршрутизатор, который также поддерживает DynDNS и Incomming PortForwarding.

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

2
Nikolaas

Некоторые бесплатные DNS-серверы, которые вы можете использовать для пересылки:

1.1.1.1 - Cloudflare
1.0.0.1 - Cloudflare
4.2.2.1 - Layer 3
4.2.2.2 - Layer 3
4.2.2.3 - Layer 3
8.8.8.8 - Google
8.8.4.4 - Google
208.67.222.222 - OpenDNS
208.67.220.220 - OpenDNS
1
JCA122204

Для запуска DNS-сервера в вашей локальной сети, посмотрите на 'pdnsd', который является сервером имен для * nix.

1
Zuu

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

Если ваш маршрутизатор разрешает это, добавьте маршрутизатор и один из быстрых внешних DNS-серверов в список DNS-серверов, которые он передает DHCP-клиенту (но выберите другой из тех, которые вы указали для адресов DNS-серверов маршрутизатора).

0
Walter

У меня была похожая проблема. Я купил OpenWRT-совместимый маршрутизатор и установил OpenWRT. Он предлагает статическую привязку IP и разрешение имен в маршрутизаторе, что позволило мне назначать имена своим компьютерам и устройствам в сети по своему желанию.

0
Guy