Unbound dns как windows

Unbound dns как windows

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

Встроенный DNS-сервер существует в серверной версии Windows, но благодаря стараниям маркетологов Microsoft его нет в десктоп-редакции (Windows 2000/XP/Vista), поэтому, как это часто бывает, обратимся к щедрому миру Unix. Самые известные DNS-сервера – это BIND, djbdns, PowerDNS, MaraDNS и Unbound. BIND рассматривать нет желания, djbdns в силу своих особенностей жестко привязан к Unix, у PowerDNS Windows-версия не обновляется, поэтому остаются MaraDNS и Unbound. Вы можете попробовать или один или другой, однако, следует помнить, что одновременно они работать не будут.

Руководство будет в стиле краткого HowTo для подготовленного пользователя (скорее, системного администратора), поэтому, если ничего не понятно – позовите знакомого «компутерщика».

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

Unbound

Заходим на сайт http://unbound.net/ в раздел Downloads, находим строки:

Windows 32-bit version compiled from the source.
Installer:

По ссылке (на момент написания статьи – unbound_setup_1.3.0) скачиваем дистрибутив. Запускаем файл, нажимаем «Next», читаем лицензионное соглашение, если согласны нажимаем «I Agree», убираем галочку с «DLV – dlv.isc.org» (проверять DNSSEC-сигнатуры нам не нужно), нажимаем «Next», «Next», «Install», «Finish». Сервис автоматически устанавливается и стартует. Все что нужно для работы (включая README.txt) находится в C:\Program Files\Unbound.

MaraDNS

Запуск MaraDNS под Windows, как оказалось, довольно нетрививальное занятие, поэтому, если очень хочется – можете попробовать сами.

Настройка Windows

Итак, DNS-сервер мы установили и запустили, необходимо теперь настроить Windows.

В свойствах соединения с интернетом («Пуск», «Настройка», «Сетевые подключения», нужное соединение, контекстное меню, «Свойства») на вкладке «Общие» открываем «Протокол интернета TCP/IP», если стоит настройка «Получить адрес DNS-сервера автоматически» необходимо сменить её на «Использовать следующие адреса DNS-серверов» и прописать адрес 127.0.0.1. В случае если у вас активирован параметр «Использовать следующие адреса DNS-серверов» и указаны адреса DNS-серверов провайдера, удалить или оба или один из них (предварительно записав на бумажку) и прописать тот же 127.0.0.1. Указывать один и тот же адрес (127.0.0.1) два раза нет необходимости. Нажимаем «OK», «OK», ждем пока все сохранится и пробуем открыть какой-нибудь сайт. Другой метод проверки – для настоящих админов. Заходим в консоль, запускаем nslookup, далее выполняем:

В данном случае у нас успешно разрешилась запись (A-типа) для www.mail.ru.

Если не получается, проверяем что у вас подключен интернет, сделав ping на шлюз провайдера (узнать можно через ipconfig /all). Если подключен, смотрим в Диспетчере задач, чтобы был запущен процесс DNS-сервера. Если не запущен, смотрим оснастку «Службы» (в консоли запустить services.msc): пробуем запустить сервис и проверяем, чтобы стоял автоматический запуск. Если не помогает – либо читаем документацию (DNS-сервера), включаем лог и проверяем свой firewall и конфигурационный файл DNS-сервера (хотя, он должен быть по умолчанию уже настроен), либо зовем кого-то более квалифицированного, либо удаляем программу, возвращаем настройки назад, и [грустим | идем гулять | пить пиво | . ].

Однако, теоретически ничего сложного в описанном процессе нет, поэтому должно заработать (как у автора).

Настройка DNS на компьютере с Windows

Для обеспечения безопасности и надежности интернет-соединения, а также для бесперебойного доступа к веб-сайтам, социальным сетям и онлайн-сервисам, можно использовать сторонние DNS-серверы, которые работают на первом рубеже доступа к сети Интернет.

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

Предлагаем вашему вниманию подробные инструкции, как настроить DNS на компьютере с операционными системами Windows 10, 8.1, 8, 7, Vista и XP.

Настройка DNS с помощью DNS Jumper

DNS Jumper – удобный портативный инструмент для быстрого переключения DNS на вашем компьютере. Утилита работает со следующими операционными системами: Windows 10, 8.1, 8, 7, Vista, XP и не требует дополнительных настроек в системе.

Запустите утилиту, выберите в списке DNS сервер предпочтительный сервер (например, Google Public DNS) и нажмите кнопку Применить DNS.

Читайте также:  Windows store для виндовс 10

Настройка DNS с помощью YogaDNS

YogaDNS — это DNS клиент, который перехватывает DNS-запросы на системном уровне и позволяет обрабатывать их через определенные пользователем DNS-серверы с использованием заданных протоколов и гибких правил.

Настройка DNS в Windows 10, 8.1, 8

1. Чтобы открыть Центр управления сетями и общим доступом (также доступен в меню Панель управления > Сеть и Интернет), нажмите сочетание клавиш Windows + R и в окне «Выполнить» введите следующую команду и нажмите ОК:

2. В разделе Просмотр основных сведений о сети и настройка подключений, выберите пункт сеть для Подключения.

3. В открывшемся окне выберите пункт Свойства.

4. В окне свойств подключения в списке Отмеченные компоненты используются этим подключением выберите пункт IP версии 4 (TCP/IPv4) в Windows 10 или Протокол Интернета версии 4 (TCP/IP) и нажмите кнопку Свойства.

5. В открывшемся окне на вкладке Общие выберите пункт Использовать следующие адреса DNS-серверов.

6. Введите выбранные вами адреcа DNS, например Comss.one DNS или Google DNS, в поля Предпочитаемый DNS-cepвep и Альтернативный DNS-cepвep (в зависимости от выбранного сервиса поле может оставаться пустым).

7. Поставьте галочку для Подтвердить параметры при выходе и нажмите OK, чтобы сохранить изменения.

Обновите DNS-кэш следующим образом:

  • Нажмите правой кнопкой мыши по значку Windows (меню Пуск) и выберите Командная строка (администратор) или Windows PowerShell (администратор)
  • Введите команду ipconfig /flushdns и нажмите клавишу Enter (Ввод)
  • Сделайте перезагрузку компьютера.

Настройка DNS в Windows 7

1. Нажмите правой кнопкой мыши на значок интернета в трее, выберите Центр управления сетями и общим доступом.

2. В разделе Просмотр активных сетей, выберите пункт справа от Подключения:

3. На вкладке Общие в окне Состояние Подключения нажмите кнопку Свойства.

4. На вкладке Сеть окна свойства подключения, прокрутите вниз и выберите Протокол Интернета версии 4 (TCP/IPv4), нажмите кнопку Свойства.

5. На вкладке «Общие» окна Свойства, в нижней части, выберите Использовать следующие адреса DNS-серверов, а затем введите IP-адреса выбранного DNS-сервиса, например, Google DNS.

6. Поставьте галочку для Подтвердить параметры при выходе и нажмите OK, чтобы сохранить изменения.

Обновите DNS-кэш следующим образом:

  • Нажмите меню Пуск > введите cmd в поле «Найти программы и файлы» > нажмите правой кнопкой мыши по найденной ссылке и выберите Запустить от администратора
  • В Командной строке введите команду ipconfig /flushdns и нажмите клавишу Enter (Ввод).
  • Сделайте перезагрузку компьютера.

Unbound — настройка кеширующего DNS-сервера на FreeBSD 10

В релизе FreeBSD 10.0 DNS-сервер BIND заменен на связку из кеширующего DNS-сервера Unbound и библиотеки LDNS. Разбираясь с нововведениями, решил заодно ознакомиться и с настройкой Unbound.

Unbound распространяется под лицензией BSD, имеет модульную структуру и поддерживает работу резолвера в рекурсивном и кэширующем режиме. Во время работы сервера, кеш целиком распологается в памяти. Также имеется возможность проверки валидности DNSSEC-сигнатур, асинхронных запросов и библиотеки для интеграции кода резолвера в пользовательские приложения (stub-resolvers). Вначале прототип сервера был написан на языке Java, после чего был переписан на языке Си, что позволило значительно увеличить его производительность. По сравнению с BIND, стоит отметить скромные размеры и высокую производительность.

Итак, приступим к настройке… Поиск примера конфигурационного файла в только установленной системе результатов не дал… Однако на помощь пришла утилита unbound-checkconf:

# unbound-checkconf
[1393875321] unbound-checkconf[1362:0] error: Could not open /var/unbound/unbound.conf: No such file or directory

Конфигурационный файл unbound.conf должен находиться в каталоге /var/unbound.

С доступными опциями решил ознакомиться на страницах руководства man unbound.conf. Как оказалось, пример конфигурационного файла был предложен именно там. Попробуем собрать небольшой файл конфигурации, отталкиваясь от предложеного примера и доступных опций.

После создания конфигурационного файла проверим конфигурацию с помощью уже известной утилиты unbound-checkconf:

Кажется все в порядке. Добавим загрузку демона при старте системы:

Кажется ничего не пропустили… Даем комманду на запуск:

Проверим, запустился ли процесс:

Демон запущен. Проверим, обрабатывает ли он запросы:

Клиентские запросы обрабатываются. Отлично, продолжим настройку…

Следующий шаг — настройка утилиты unbound-control на работу с unbound. Для этого воспользуемся прилагаемой утилитой unbound-control-setup:

После этого необходимо добавить следующий блок в конфигурационный файл unbound.conf:

Чтобы изменения вступили в силу, необходимо перезапустить unbound:

Чтобы ознакомиться с возможностями утилиты unbound-control, достаточно вызвать ее без ключей, либо же с ключем -h:

-s ip[@port] server address, if omitted config is used.
-q quiet (don’t print anything if it works ok).
-h show this usage help.
Commands:
start start server; runs unbound(8)
stop stops the server
reload reloads the server
(this flushes data, stats, requestlist)
stats print statistics
stats_noreset peek at statistics
status display status of server
verbosity change logging detail
log_reopen close and open the logfile
local_zone add new local zone
local_zone_remove remove local zone and its contents
local_data add local data, for example
local_data www.example.com A 192.0.2.1
local_data_remove remove local RR data from name
dump_cache print cache to stdout
load_cache load cache from stdin
lookup print nameservers for name
flush flushes common types for name from cache
types: A, AAAA, MX, PTR, NS,
SOA, CNAME, DNAME, SRV, NAPTR
flush_type flush name, type from cache
flush_zone flush everything at or under name
from rr and dnssec caches
flush_bogus flush all bogus data
flush_stats flush statistics, make zero
flush_requestlist drop queries that are worked on
dump_requestlist show what is worked on
flush_infra [all | ip] remove ping, edns for one IP or all
dump_infra show ping and edns entries
set_option opt: val set option to value, no reload
get_option opt get option value
list_stubs list stub-zones and root hints in use
list_forwards list forward-zones in use
list_local_zones list local-zones in use
list_local_data list local-data RRs in use
forward_add [+i] zone addr.. add forward-zone with servers
forward_remove [+i] zone remove forward zone
stub_add [+ip] zone addr.. add stub-zone with servers
stub_remove [+i] zone remove stub zone
+i also do dnssec insecure point
+p set stub to use priming
forward [off | addr …] without arg show forward setup
or off to turn off root forwarding
or give list of ip addresses
Version 1.4.20
BSD licensed, see LICENSE in source package for details.
Report bugs to unbound-bugs@nlnetlabs.nl

Читайте также:  Windows 10 virtual machine error

Здесь, благодаря комментариям, все интуитивно понятно

Проверим работоспособность утилиты, отправив какую либо комманду в unbound-control, например reload:
# unbound-control reload
ok

Поддерживается возможность управления удаленным сервером unbound, используя локальную версию утилиты unbound-control. Для этого необходимо, чтобы на машине, с которой выполняются комманды, публичные pem-ключи удаленного сервера. Также необходимо, чтобы эти ключи были прописаны в конфигурационном файле unbound.conf.

Также unbound поддерживает использование DNSSEC. Рассматривать что такое DNSSEC и принципы его работы не вижу смысла — информации в Сети предостаточно. Остановимся непосредственно на настройке unbound для поддержки DNSSEC.

Для включения поддержки DNSSEC, в конфигурационный файл unbound.conf (в секцию server) необходимо добавить следующие строки:
module-config: «validator iterator»
auto-trust-anchor-file: «/var/unbound/root.key»

После внесения изменений необходимо перезапустить unbound, чтобы изменения вступили в силу:
# unbound-control reload
ok

Wireguard + OpenWRT + Unbound = дивный новый мир VPN

Современные вызовы требуют современных решений. Так как наши законодатели не перестают наступать на RU-сегмент Интернета, принимая один удушающий закон за другим, я решил поделиться с сообществом способом повышения собственной интернет-безопасности и шифрования любого вашего трафика: будь то стационарный ПК или мобильное устройство. Пройдя тем же путем, вы получите собственный VPN-сервер вне юрисдикции РФ, кэширующий DNS-резолвер и выход в Интернет по IPv6.

реклама

Небольшое отступление. Вдохновение для этой статьи я почерпнул из двух гайдов на Хабре: этом и этом. Рассказывать я также буду о перспективном туннеле в сети Интернет, современной замене GRE/IPIP с шифрованием. Сразу оговорюсь, что я не являюсь ни IT-специалистом, ни линуксоидом, поэтому описывать путь создания VPN буду максимально просто и подробно с инструкцией по шагам, для пользователей Windows-based ПК и телефона на Android.

Чем мне не понравился «точечный обход блокировок»? В настоящее время Роскомнадзором внесено в реестр уже более 2.1 млн ip-адресов. И с каждым днем эта цифра только растет. При формировании списков подсетей на сайте antifilter.download, в одной из подсетей может оказаться и ваш облачный провайдер (особенно активно блокируются адреса Amazon, Cloudflare и Hetzner DE). Обходить блокировки отдельных ip также нереалистично, т.к. это съест все ресурсы маршрутизатора. Поэтому я выбрал другой подход.

Что же такое Wireguard?

реклама

WireGuard — VPN-туннель нового поколения, созданный Джейсоном Доненфельдом (Jason A. Donenfeld), главой компании Edge Security. Проект разрабатывался как упрощенная и шустрая альтернатива OpenVPN и IPsec. Первая версия продукта содержала всего 4 тыс. строк кода. Для сравнения, в OpenVPN порядка 120 тыс. строк, а в IPSec — 420 тыс.

По словам разработчиков, WireGuard несложно настроить, а безопасность протокола достигается за счет проверенных криптографических алгоритмов: поточного шифра ChaCha20, криптографической имитовставки Poly1305 и собственных криптографических хеш-функций. Если вы используете OpenVPN, при смене сети: Wi-Fi, LTE или Ethernet нужно каждый раз переподключаться к VPN-серверу. Серверы WireGuard же не разрывают соединение, даже если пользователь получил новый IP-адреc. Стоит отметить также высокую скорость туннеля и низкие задержки, что является очень привлекательным для любителей он-лайн игр:

В чем преимущество собственного сервера?

Никогда до этого я не арендовал виртуальный частный сервер, но опыт использования услуг VPN-провайдеров имелся. И как правило VPN-туннели организованы по технологии OpenVPN (для стационарных ПК) и IPSec (для мобильных устройств): чаще всего порты и каналы, по которым вы подключаетесь к серверу, перегружены — вы делите их со множеством таких же клиентов. Но самое главное: нельзя быть до конца уверенным, не анализирует ли поставщик VPN-услуг ваш трафик? Арендованный виртуальный сервер дает вам полный контроль над вашим трафиком, шифрованный туннель защищает от атаки «человек-посередине» (т.н. MiTM),

Читайте также:  Как узнать чем занят диск linux

реклама

в качестве MITM может выступать и ваш провайдер

а собственный DNS-резолвер позволяет не только скрывать все DNS-запросы от вашего провайдера или оператора бесплатных сетей Wi-Fi (тем более это необходимо, если вы пользуетесь общественным Wi-Fi от ДИТ Москвы: на улицах или в парках), но и обеспечит нужную фильтрацию ненужного контента (например, позволит блокировать трекеры, телеметрию и прочую Wi-Fi-аналитику, и сделает это не только для сайтов в браузере, но и для мобильных приложений и операционной системы вообще). Более того, с этим решением вы сами получите мощный инструмент для анализа Интернет-активности приложений, установленных на собственном телефоне или компьютере.

Также вам не надо беспокоиться о количестве клиентов (ведь VPN-провайдеры ограничивают количество подключенных устройств), т.к. у вас их могут быть сотни (на сколько хватит мощности сервера). Вы сможете легко настроить VPN-клиент для родных и близких: нужно только скачать приложение и переслать им файл конфигурации.

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

С чего начать?

реклама

Для управления сервером вам нужно скачать и установить на свой компьютер два инструмента: Putty и WinSCP. Первый — это ssh-клиент для подключения удаленной консоли, второй — файловый менеджер. Также для организации домашней сети я рекомендую использовать маршрутизатор с операционной системой OpenWRT. Проверить, поддерживает ли ваш маршрутизатор данную операционную систему, можно на этой странице.

Перед созданием VPS я немного исследовал данный рынок и остановился на одном оптимальном решении — это немецкий хостер Hetzner. Он предлагает довольно производительное решение по доступной цене:

а также помесячную пост оплату через PayPal, упрощенную регистрацию (без идентификации по номеру мобильного телефона), удобную админку, и самое главное — в отличие от других провайдеров дешевых VPS — неограниченную полосу канала (например, можно столкнуться с ситуацией, когда провайдер декларирует подключение по порту в 1Гбит/сек (на сервер-ноду), скорость на VPS до 100 Мбит/сек, по факту же за 3 евро вы получите ограничение в 20 Мбит/сек). Пусть вас не пугает цифра в 20 ТБ трафика — во-первых, это очень много, во-вторых, учитывается только исходящий трафик (входящий трафик не учитывается от слова совсем). Локаций на выбор немного, большой разницы нет, я выбрал Финляндию.

И так, регистрируете аккаунт, и тут есть подводные камни.

Используйте максимально-аутентичные данные. Если город Москва, то и телефонный номер указывайте московский вместе с индексом. У Hetzner есть интеллектуальная система защиты, и, если вы выдадите совсем неправдоподобные данные (как у меня на картинке), вам предложат подтвердить свою личность, выслав скан паспорта (и проверка может занять довольно длительное время). Чтобы так не рисковать, указывайте настоящие данные (телефон, который они просят указать при регистрации — не мобильный).

Итак, пройдя успешно регистрацию, вы попадаете в облачную консоль:

где создаете новый проект. После этого заходите в созданный проект и добавляете сервер. Операционную систему выбирайте Debian 10 (объяснять установку буду для нее):

В пункте 8 можете сразу прописать человеческое имя для сервера. Сервер создается в течение нескольких секунд, а на почту вам приходит письмо с учетными данными для подключения по ssh:

Далее вы запускаете Putty и в первом окне вводите присвоенный серверу ip-адрес (желательно сразу сохранить данные в профиль):

Порт оставляете стандартным (22), потом мы его изменим. Логиньтесь под root, и при первом входе вам предложат изменить пароль (вставлять текст в консоль легко правой кнопкой мыши):

Как настроить сервер?

Т.к. в блоге нет специального инструмента, чтобы выделять код, который необходимо вставлять в окно консоли, я буду каждую команду начинать с символов

# (их вводить не надо).

Добавляем репозиторий Wireguard (в настоящее время Wireguard находится в процессе активной разработки, еще не выпущена стабильная версия, полностью прошедшая аудит — учитывайте это в работе):

# echo «deb http://deb.debian.org/debian/ unstable main» > /etc/apt/sources.list.d/unstable-wireguard.list

# printf ‘Package: *\nPin: release a=unstable\nPin-Priority: 150\n’ > /etc/apt/preferences.d/limit-unstable

Обновляем все установленные пакеты:

(когда спросят, со всем соглашаетесь).

Настраиваем часовой пояс на сервере, чтобы правильно отображались логи:

# apt install tzdata

Устанавливаем заголовки ядра:

# apt install linux-headers-$(uname -r)

Устанавливаем сервер Wireguard:

# apt install wireguard-dkms wireguard-tools

Устанавливаете сервер Unbound:

# apt install unbound unbound-host

Далее подключаетесь к серверу через WinSCP:

Идете в /etc/wireguard/ и здесь вам надо создать файл wg0.conf — это будет конфигурация вашего сервера wireguard. Структура файла следующая:

Оцените статью