- Получить MaraDNS
MaraDNS - это бесплатный, легкий и относительно простой в настройке DNS-сервер для Windows и Linux. Загрузите его отсюда и распакуйте в какую-нибудь папку.
- Настроить MaraDNS
Откройте «secret.txt» и измените значение на другое (случайные символы).
Конфигурация MaraDNS находится в файле «mararc» в том же каталоге. DNS-серверы имеют два набора функций. Они могут функционировать как «Официальный сервер имен» или «Рекурсивный / кеширующий сервер имен».
Официальные серверы имен определяют IP-адреса для доменных имен. Рекурсивные серверы имен хранят информацию от авторитетных серверов имен и передают запросы рекурсивным способом.
Мы будем настраивать как официальные, так и рекурсивные функции в MaraDNS.
2.1 Официальная конфигурация
Мы настроим сервер для предоставления достоверных имен доменных имен локальной сети. Выберите любой домен, я выбрал «local.com» (учтите, что вы не сможете получить доступ к реальному сайту «local.com», если выберете существующее доменное имя).
Добавьте строки конфигурации в «mararc» следующим образом:
csv2 = {}
csv2["local.com."] = "db.lan.txt"
Где local.com - это выбранное вами имя домена, а db.lan.txt - это имя второго файла конфигурации, который мы создадим следующим (измените его, если хотите назвать второй файл конфигурации).
Создайте новый файл с именем «db.lan.txt» в том же каталоге, что и MaraDNS.
Для каждого из компьютеров, которые вы хотите преобразовать в имя, добавьте строку в «db.lan.txt». Например, для двух машин, одного «dev.local.com» и другого «blog.local.com», добавьте следующие строки:
dev.% 192.168.1.4 ~
blog.% 192.168.1.6 ~
Готово!
2.2 Рекурсивная конфигурация
Мы настроим MaraDNS, чтобы он запрашивал у ваших серверов имен по умолчанию все остальные домены, чтобы вы могли преобразовать все другие доменные имена в их правильные IP-адреса.
Узнайте адреса DNS-сервера вашего интернет-провайдера. Они могут быть перечислены либо на странице состояния маршрутизатора, либо путем проверки сведений о сетевом адаптере.
Теперь добавьте DNS-серверы вашего провайдера в качестве вышестоящих серверов в «mararc»:
upstream_servers = {}
upstream_servers["."] = "xxx.xxx.xxx.xxx, yyy.yyy.yyy.yyy"
Где xxx.xxx.xxx.xxx и yyy.yyy.yyy.yyy - это DNS-серверы вашего интернет-провайдера.
Готово!
- Запустите MaraDNS и протестируйте его, используя askmara.exe
Дважды щелкните «runmara.bat» и оставьте сервер включенным.
Откройте командную строку, перейдите в каталог MaraDNS и попробуйте запустить:
askmara.exe Agoogle.com.
а также
askmara.exe Ablog.local.com.
Вы должны получить ответы как это:
# Querying the server with the IP 127.0.0.1
# Question: Agoogle.com.
google.com. +300 a 74.125.67.100
google.com. +300 a 74.125.53.100
google.com. +300 a 74.125.45.100
# NS replies:
# AR replies:
а также:
# Querying the server with the IP 127.0.0.1
# Question: Ablog.local.com.
blog.local.com. +86400 a 192.168.1.6
# NS replies:
#local.com. +86400 ns synth-ip-7f000001.local.com.
# AR replies:
#synth-ip-7f000001.local.com. +86400 a 127.0.0.1
Если у вас возникли проблемы с первым запросом, вы испортили рекурсивные настройки DNS (правильные адреса DNS-сервера вашего провайдера?), А если вы получили ошибку во втором запросе, вы испортили авторитетные настройки.
- Измените MaraDNS, чтобы отвечать на запросы из вашей локальной сети
Закройте окно MaraDNS и измените первые две строки «mararc» на что-то вроде:
ipv4_bind_addresses = "192.168.1.2
recursive_acl = "192.168.1.0/24"
Где 192.168.1.2 - это IP-адрес компьютера, на котором будет работать сервер, а часть «192.168.1» в recursive_acl такая же, как в вашей сети (может быть 192.168.0.0/24).
Запустите MaraDNS снова и оставьте его включенным.
- Настройте свой маршрутизатор, чтобы раздавать новый DNS-сервер
Откройте веб-интерфейс вашего маршрутизатора и найдите настройки DHCP-сервера. Должна быть возможность настроить DNS-сервер. Запишите IP-адрес компьютера, на котором будет работать DNS-сервер.
Для каждого из ваших компьютеров отключите сеть (например, отключив и включив ее в Windows или используя «ifconfig eth0 down» /«ifconfig eth0 up» в Linux).
Вот и все, теперь вы должны иметь возможность ссылаться на компьютеры локальной сети по их доменным именам.
Источник