Використання публічних DNS-серверів
Питання: Які налаштування мені потрібно зробити на моєму Keenetic, щоб адреси доменних імен Інтернету визначалися не через DNS-сервери, надані провайдером, а через загальнодоступні публічні DNS-сервери?
В Інтернеті доступ до вузлів можна отримати за їх адресами (наприклад, 2.11.115.99
) або за відповідними доменними іменами, наприклад keenetic.com
. Відповідність між доменними іменами та їх адресами зберігається в ієрархічній структурі Служби доменних імен (DNS). Зазвичай провайдер автоматично надає своїм користувачам власний доменний сервер, але в деяких випадках може знадобитися використання так званих публічних серверів, розташованих в Інтернеті та доступних для всіх користувачів.
в KeeneticOS, модуль, відповідальний за роботу DNS-проксі використовує адреси DNS серверів , отримані від провайдера, та/або налаштовані вручну відповідно до певних інтерфейсів. Він надсилає запит на визначення адреси доменного імені до найбільш підходящого серверу. Якщо адреса для доменного імені вже була визначена в результаті попередньо отриманого запиту, її можна зберегти в кеші пристрою, що забезпечує швидшу реакцію.
Далі розглянемо налаштування маршрутизатора Keenetic, за допомогою яких можна використовувати публічні DNS-сервери в Інтернеті.
Використання публічних DNS-серверів безпосередньо на клієнтах, підключених до маршрутизатора
Існує два варіанти такої конфігурації — на клієнтах домашньої мережі або на роутері.
На комп’ютерах параметри IP-протоколу налаштовуються вручну, а необхідні адреси DNS-серверів вказуються в конфігурації мережевого інтерфейсу, наприклад, як на скріншоті нижче. Мережевий інтерфейс комп’ютера автоматично отримає IP-адресу та адресу шлюзу за замовчуванням від маршрутизатора, але використовуватиме загальнодоступні адреси серверів SafeDNS - провайдера DNS-серверів.
Такий спосіб може бути незручним, коли потрібно налаштувати велику кількість клієнтських пристроїв у мережі або коли до роутера щоразу підключаються різні пристрої, для яких потрібно надати однакові умови доступу.
Ви можете вказати необхідні адреси публічних DNS-серверів в маршрутизаторі у вебінтерфейсі на сторінці 'Домашня мережа" в секції "Параметри IP' у розділі налаштувань DHCP, і коли ви підключите клієнтів до мережі роутера, конфігурація буде здійснюватися автоматично.
Слід зазначити, що якщо ви використовуєте загальнодоступні DNS-сервери безпосередньо на своїх комп’ютерах, ви не зможете отримати доступ до маршрутизатора за ім’ям my.keenetic.net, а також скористатися перевагами кешування DNS-запитів на маршрутизаторі, автоматичного вибору оптимального сервера та інших функцій DNS-проксі.
Налаштування загальнодоступних DNS-серверів на маршрутизаторі замість DNS-серверів, наданих провайдером
Це налаштування дозволить вам уникнути використання серверів вашого провайдера, замінивши їх будь-якими публічними адресами DNS-серверів, придатними для конкретного випадку використання. Конфігурація виконується в два етапи.
Крок 1: Вимкнення використання серверів ISP.
Іноді провайдери надають адреси власних DNS-серверів, щоб їх можна було включити в конфігурацію вручну. У цьому випадку необхідно видалити адреси DNS-серверів, зазначені в параметрах підключення. Наприклад, у вебінтерфейсі на сторінці "Кабель Ethernet", у розділі "Параметри IP та DNS" видаліть сервери "DNS 1' і 'DNS 2'.
Важливо
Під час доступу до Інтернету за допомогою автентифікації, наприклад PPTP/L2TP/PPPoE, зверніть увагу на деталі, надані вашим провайдером. Якщо вони містять адресу сервера у форматі доменного імені, вам не слід вимикати DNS-сервери на з’єднанні, яке використовується для автентифікації — зазвичай «Кабель Ethernet' підключення, оскільки це може унеможливити визначення адреси сервера, що надає доступ до Інтернету. Дивитися Примітку 1 цієї статті.
Примітка
Починаючи з KeeneticOS 3.1
, ви можете у вебінтерфейсіс увімкнути опцію ігнорувати (disable
) DNS-сервери, автоматично отримані від вашого провайдера.
Детальну інформацію ви знайдете в інструкції «Як ігнорувати DNS вашого провайдера”.
Ви також можете видалити автоматично отримані DNS-сервери з конфігурації DNS-проксі через інтерфейс командного рядка (CLI):
— Інтерфейси типу IPoE. Ці інтерфейси використовують DHCP (Протокол динамічної конфігурації хоста), щоб отримати адреси DNS-серверів. Щоб вимкнути конфігурацію по DHCP для інтерфейсу під назвою ISP (це інтерфейс, налаштований у маршрутизаторі для WAN з’єднання Ethernet), виконайте наступні команди:
(config)>interface ISP
(config-if)>ip dhcp client no name-servers
Dhcp::Client: ISP DHCP name servers are disabled.
У цьому випадку DNS-адреси, отримані від провайдера, зникнуть зі списку DNS-серверів.
Щоб увімкнути отримання DNS-серверів через інтерфейс провайдера, виконайте команди:
(config)>interface ISP
(config-if)>ip dhcp client name-servers
Dhcp::Client: ISP DHCP name servers are enabled.
— Інтерфейси з автентифікацією (PPTP/L2TP/PPPPoE). Параметри IP в інтерфейсах такого типу зазвичай передаються з сервера через IPCP (Протокол керування Інтернет-протоколом). Щоб вимкнути отримання адрес DNS-сервера від провайдера на такому інтерфейсі, потрібно зайти в його налаштування за допомогою команди interface {interface_name}
та виконати ipcp no name-servers
. Наприклад, для інтерфейсу PPTP0
команди можуть виглядати так:
(config)>interface PPTP0
(config-if)>ipcp no name-servers
Not using remote name servers.
— Модемні інтерфейси. У разі використання стільникової мережі через USB-модем, залежно від типу його підключення в пристрої, адреси DNS-серверів можуть призначатися або DHCP (для модемів, що працюють у режимі емуляції порту Ethernet або NDIS) або за допомогою IPCP (для підключень RAS). Щоб виконати налаштування, перейдіть до командного рядка для керування відповідним інтерфейсом і введіть команду, що відповідає типу модему.
— Для модемів QMI, використовуйте команди:
(config)>interface UsbQmi0
(config-if)>mobile no name-servers
UsbQmi::Interface: "UsbQmi0": automatic name servers via QMI are disabled.
— Якщо ви хочете вимкнути використання DNS-серверів, наданих у з'єднаннях типу OpenVPN, ви повинні додати наступний рядок до конфігурації цього підключення:
pull-filter ignore "dhcp-option DNS"
Ви можете перевірити, чи DNS-сервери, отримані автоматично від провайдера, були успішно відключені, перевіривши вміст конфігураційного файлу модуля DNS Proxy. Для цього дайте команду:
(config)> more temp:ndnproxymain.conf
rpc_port = 54321
rpc_ttl = 30000
rpc_wait = 10000
timeout = 7000
bantime = 300000
proceed = 500
ban_threshold = 3
stat_file = /var/ndnproxymain.stat
stat_time = 10000
static_a = my.keenetic.net 78.47.125.180
Не повинно бути записсів dns_server
у відображеному виводі.
Крок 2: вкажіть необхідні адреси серверів вручну.
Цю операцію можна виконати через вебінтерфейс пристрою на сторінці Інтернет-безпека" у розділі "Конфігурація DNS'.
Щоб вказати публічні сервери, які будуть використовуватися під час роботи в Інтернеті, не слід заповнювати «Домен" і змінювати значення за замовчуванням поля "Підключення'. Ви можете вказати адреси DNS-серверів через CLI за допомогою команди:
(config)> ip name-server {server address}
Більш детально формат команди описаний в Довідковий посібник з команд для вашого маршрутизатора (посібник можна знайти у розділі Центр завантаження).
Після налаштування адреси DNS-серверів конфігураційний файл DNS-проксі матиме такий вигляд:
(config)> more temp:ndnproxymain.conf
rpc_port = 54321
rpc_ttl = 30000
rpc_wait = 10000
timeout = 7000
bantime = 300000
proceed = 500
ban_threshold = 3
stat_file = /var/ndnproxymain.stat
stat_time = 10000
dns_server = 195.170.55.1 .
dns_server = 141.1.27.249 .
dns_server = 80.252.130.254 .
dns_server = 141.1.1.1 .
static_a = my.keenetic.net 78.47.125.180
Ви можете переглянути інформацію про поточні DNS-сервери, використовуючи команду:
(config)> show ip name-server
server:
address: 192.168.100.1
port:
domain:
global: 65522
Примітка 1
Конфігурації мережі різні у різних провайдерів. Вимкнення автоматичного отримання адрес DNS-серверів у певних випадках може призвести до непрацездатності тунельних з’єднань, збоїв у роботі додаткових служб тощо. Перш ніж вимикати використання DNS-серверів, наданих вашим провайдером, переконайтеся, що вони не містять доменних імен серверів, які використовуються щоб автентифікувати ваше підключення. В іншому випадку слід перевірити, чи можна використовувати IP-адресу сервера замість його імені. Щоб самостійно визначити адресу сервера аутентифікації, ви можете скористатися програмою nslookup
(вбудована в операційну систему Windows), наприклад:
$> nslookup vpn.myisp.com
Server: UnKnown
Address: 192.168.1.1
Non-authoritative answer:
Name: vpn.myisp.com
Addresses: 208.48.81.134
64.15.205.100
64.15.205.101
208.48.81.133
У наведеному вище прикладі ім’я сервера вказує на кілька адрес; у цьому випадку ми рекомендуємо зв’язатися з вашим провайдером, щоб дізнатися, яку з них ви можете явно встановити для свого з’єднання.
Примітка 2
Використання публічних DNS-серверів, особливо якщо ви вкажете їх у налаштуваннях DNS-проксі на маршрутизаторі, може в деяких випадках зменшити час відгуку ресурсів в Інтернеті. На це можуть впливати різні фактори: розташування серверів відносно точки доступу до Інтернету вашого підключення, ширина і завантаженість каналів, що ведуть до цих серверів, час доби та інші.
Деякі загальнодоступні DNS-сервери перераховані за адресою WikiLeaks.org, www.lifewire.com. Спеціальний вибір публічних серверів можна знайти у блозі theos.in.
Щоб визначити найбільш підходящий сервер серед доступних, ви можете скористатися спеціальним програмним забезпеченням, наприклад Тест DNS.
Примітка 3
Під час використання публічних DNS-серверів браузери та інші програми, які використовують підключення до Інтернету, можуть некоректно працювати. Ми також рекомендуємо вам не використовувати інформацію в цій статті в неавторизованих цілях.
Крім того, зверніть увагу, що під час використання публічний DNS-серверів інформація про запити, надіслані з вашого пристрою, може бути доступна особам, які керують цими серверами.
Примітка 4
Ви можете виконати онлайн тест за адресою http://www.whatsmydnsserver.com/або https://www.dnsleaktest.com щоб визначити, через який сервер DNS проходять ваші запити.
Примітка 5
При використанні інтернет-фільтрів, таких як SafeDNS, DNS AdGuard тощо, зауважте, що якщо ви вимкнете адреси DNS-серверів, які отримуєте від свого провайдера, і не додасте вручну адреси DNS-серверів, то сам Keenetic і клієнти домашньої мережі за допомогою профілю інтернет-фільтру "Без фільтрації не зможуть розпізнавати доменні імена. Зокрема, Keenetic не зможе визначити наявність Інтернету, а відповідний індикатор завжди буде вимкнено. У той же час клієнти домашньої мережі з профілем, відмінним від "Без фільтрації' зможуть розпізнавати імена за допомогою DNS-адрес використовуваного Інтернет-фільтра.
Примітка 6
Щоб вимкнути DNS-сервери від провайдера через IPv6, виконайте команду в інтерфейсі командного рядка (CLI):
(config)>no interface ISP ipv6 name-servers auto
Ip6::Nd::Node: Ignore name servers provided by the interface network. (config)>system configuration save
Core::ConfigurationSaver: Saving configuration...
Ми навели приклад підключення IPoE (Ethernet Cable, Wired, ISP). Якщо ви використовуєте автентифіковане підключення (PPPoE, PPTP, L2TP) або через USB-модем, використовуйте інтерфейс, через який ви підключаєтеся до Інтернету.
Обов’язково враховуйте регістр літер під час використання імен інтерфейсів у командах. Наприклад, імена інтерфейсів ISP
, PPTP0
, і L2TP0
слід вказувати тільки великими літерами, а імена інтерфейсів PPPoE0
або UsbModem0
містять як великі, так і малі літери.
Щоб додати IPv6 DNS, виконайте команди:
(config)>ipv6 name-server 2606:4700:4700::1111
Dns::Manager: Name server 2606:4700:4700::1111 added, domain (default). (config)>system configuration save
Core::ConfigurationSaver: Saving configuration...
У нашому прикладі було додано публічний DNS-сервер від Cloudflare.
Примітка 7
Ви можете додати публічні DNS-сервери до Keenetic у різних пунктах меню веб-інтерфейсу. Для отримання додаткової інформації зверніться до статті: Способи додавання власних DNS-серверів.