Skip to main content

Інструкція користувача

Доступ до мережевого пристрою за іменем хоста

Запитання: Чи можу я використовувати вбудований DNS-сервер Keenetic для налаштування автоматичного зіставлення імені хоста з IP-адресою в DHCP-запиті? Мені це потрібно для звернення до будь-якого іншого хоста в локальній мережі за мережевим іменем, а не за IP-адресою, яка може змінюватися при динамічному призначенні та не прив’язана до певної IP-адреси. Наприклад, вказати «\\server» в адресному рядку Провідника Windows і побачити список спільних папок на сервері.

Відповідь: Так, це можна налаштувати на вашому маршрутизаторі Keenetic. Це налаштування не стосується створення виділеного сервера WINS. Це можна зробити через інтерфейс командного рядка (CLI) маршрутизатора.

Ви можете дозволити Keenetic додавати статичні записи DNS-проксі під час видачі DHCP-адрес. Ця функція вимкнена за замовчуванням. Щоб увімкнути її, використовуйте команду:

(config)> ip dhcp pool _WEBADMIN update-dns

де _WEBADMIN — це назва пулу за замовчуванням для інтерфейсу Home, але назва може відрізнятися, якщо вона була змінена раніше в системі. Точну назву пулу можна знайти у файлі self-test.txt

І команда для збереження налаштувань:

(config)> system configuration save

У цьому випадку можна буде отримати доступ до хостів (або терміналів) за їхнім іменем хоста за замовчуванням (ім'я хоста із запиту DHCP).

Важливо

Після ввімкнення ця команда застосовуватиметься до клієнтів, щойно підключених до маршрутизатора через DHCP. Ми рекомендуємо перезавантажити маршрутизатор після виконання наведених вище налаштувань.

На комп’ютері з Windows виконайте команду для очищення кешу DNS (це потрібно зробити в командному рядку Windows), перш ніж перевіряти доступ до мережевого клієнтського пристрою за іменем хоста:

ipconfig /flushdns

Після цього перевірте автоматичне розпізнавання імен мережевих хостів у локальній мережі маршрутизатора за допомогою команди ping.

Ось приклад. Припустімо, у вашій мережі є ПК і ноутбук, які використовують імена хостів «PC» та «Notebook» відповідно (наприклад, у вашій мережі це може бути сервер з іменем хоста «SERVER»). Давайте активуємо згадану вище команду в маршрутизаторі та перезавантажимо його. З ноутбука виконайте команду ping pc, щоб перевірити зв'язок з комп’ютером.

hostname-01-en.png

Ввівши \\pc в адресний рядок Провідника Windows, ви побачите список спільних мережевих ресурсів.

hostname-02-en.png

Тепер з комп’ютера виконайте ping notebook.

hostname-03-en.png

Як бачимо, зіставлення імені хоста та IP-адреси відбувається автоматично.

Окрім увімкнення механізму зіставлення імені хоста та IP-адреси в DHCP-запиті, можна налаштувати хости в локальній мережі так, щоб їм автоматично призначалося певне доменне ім’я в DHCP-запитах. Для отримання детальнішої інформації зверніться до інструкції «Налаштування параметра DHCP 15».

Важливо

Keenetic звертатиметься до параметра hostname. У вебінтерфейсі на сторінці Списки клієнтів ви можете встановити та змінити інший параметр — name. У командному рядку маршрутизатора команда show ip dhcp bindings _WEBADMIN показує, що це два різні поля:

hostname-04-en.png
hostname-05-en.png

Коли хост зареєстрований у Списках клієнтів, поле hostname копіюється в name, що в цьому випадку є одним і тим же. Але як тільки користувач змінює ім’я хоста на сторінці Списки клієнтів, ця зміна записується в поле name, і за цим іменем не буде зіставлення доменного імені та IP-адреси. Вам потрібно буде додати інший запис DNS до потрібного хоста в CLI за допомогою команди ip host або змінити параметр hostname безпосередньо на хості.

Якщо ім'я хоста або термінала за замовчуванням не встановлено, ви можете встановити його в Keenetic за допомогою команди ip host.

Для цього потрібно виконати наступне:

Зареєструйте на маршрутизаторі та призначте постійну IP-адресу потрібному хосту. Також ви можете зареєструватися у вебінтерфейсі на сторінці Списки клієнтів. Після реєстрації вказаний клієнтський пристрій постійно отримуватиме ту саму IP-адресу від маршрутизатора.

Потім під'єднайтеся до інтерфейсу командного рядка (CLI) маршрутизатора та виконайте наступні команди:

(config)> ip host <host_domain_name> <address>
(config)> system configuration save

Ми рекомендуємо вказувати доменне ім’я хоста у форматі доменного імені 2-го рівня* у вигляді localhost.localdomain (наприклад, my.comp, test.local, host.test, pc.example).

(config)> ip host my.comp 192.168.1.33
Dns::Manager: Added static record for "my.comp", address 192.168.1.33.
(config)> system configuration save
Core::ConfigurationSaver: Saving configuration...

Використовуючи наведені вище команди, ми додали доменне ім'я хоста та IP-адресу до таблиці DNS на маршрутизаторі. У нашому прикладі my.comp — це доменне ім’я хоста з IP-адресою 192.168.1.33.

Підказка

* — Рекомендація в команді ip host використовувати ім'я хоста у форматі доменного імені 2-го рівня пов’язана з особливістю операційної системи Windows. Під час доступу до доменних імен 1-го рівня система надсилає запити LLMNR (Link-Local Multicast Name Resolution) або NBNS (NetBIOS Name Service), якщо LLMNR вимкнено, і хост не буде виявлено під час перевірки ping. Тому для коректної роботи у Windows рекомендується використовувати доменні імена 2-го рівня в записах ip host.

У локальній мережі маршрутизатора Keenetic тепер можна буде отримати доступ до потрібного хоста/терміналу за доменним іменем.

Перевірка зв'язку з хостом за доменним іменем у Windows:

C:\Users\User> ping -n 5 my.comp

Pinging my.host [192.168.1.33] with 32 bytes of data:
Reply from 192.168.1.33: bytes=32 time=57ms TTL=64
Reply from 192.168.1.33: bytes=32 time=5ms TTL=64
Reply from 192.168.1.33: bytes=32 time=5ms TTL=64
Reply from 192.168.1.33: bytes=32 time=83ms TTL=64
Reply from 192.168.1.33: bytes=32 time=5ms TTL=64

Ping statistics for 192.168.1.33:
    Packets: Sent = 5, Received = 5, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 5ms, Maximum = 83ms, Average = 31ms

Перевірка зв'язку з хостом за доменним іменем у Linux:

[comp@comp-lnx ~]$ ping -c 5 my.comp
PING my.host (192.168.1.33) 56(84) bytes of data.
64 bytes from 192.168.1.33 (192.168.1.33): icmp_seq=1 ttl=128 time=0.342 ms
64 bytes from 192.168.1.33 (192.168.1.33): icmp_seq=2 ttl=128 time=0.508 ms
64 bytes from 192.168.1.33 (192.168.1.33): icmp_seq=3 ttl=128 time=0.331 ms
64 bytes from 192.168.1.33 (192.168.1.33): icmp_seq=4 ttl=128 time=0.427 ms
64 bytes from 192.168.1.33 (192.168.1.33): icmp_seq=5 ttl=128 time=0.414 ms

--- my.host ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 56ms
rtt min/avg/max/mdev = 0.331/0.404/0.508/0.066 ms

Важливо

Якщо пакети ICMP Echo Request не досягають хоста в утиліті Ping, вам слід перевірити конфігурацію правила фільтрації брандмауера на стороні хоста для ICMP (Internet Control Message Protocol).

Ця схема працюватиме, лише якщо IP-адреса маршрутизатора Keenetic встановлена як бажаний DNS-сервер хостів локальної мережі.

У маршрутизаторах Keenetic ви можете додати до 64 записів за допомогою команди ip host.

Ви можете побачити всі статичні записи DNS команди ip host у файлі системної конфігурації маршрутизатора startup-config.txt або за допомогою команди show dns-proxy (ця команда відображає багато інформації, крім статичних записів DNS).