Псевдонім для IP-адрес у домашній локальній мережі


23

Чи можна призначити читабельний псевдонім для читання для IP-адреси, наприклад 192.168.1.1? Можливо, щось подібне:

192.168.1.1 -> router.home

або

192.168.1.22 -> printer.home

Не потрібно, щоб router.home був доступний із зовнішньої мережі, але тільки в локальній мережі. Насправді це не повинно бути доступним за межами Інтернету.

Я думаю, що мета - це локальний DNS-сервер, який відповідає на router.home адресу. Будь-яка ідея, як створити такий псевдонім?

EDIT: Відповідь Yamakaja чудово працює, але вона вимагає змінити файл хостів на кожному комп'ютері в локальній мережі. Чи може місцевий пошук DNS зробити замість домашнього маршрутизатора? Це пропустило б багато ручної роботи.


2
Зверніть увагу, що деякі маршрутизатори роблять це самостійно, наприклад, якщо ви використовуєте маршрутизатори Asus, і ви переходите на router.asus.com, він відкриє сторінку конфігурації маршрутизатора. Інші маршрутизатори мають подібні "трюки", щоб зробити подібне і до цього.
acejavelin

Ні, я не використовую маршрутизатор asus. Питання насправді трохи більш загальне ... Не тільки я хотів би отримати доступ до маршрутизатора без IP-адреси, але й інші пристрої, підключені до мережі теж. Я додам редагування.
санджіхан

2
Моя думка полягала в тому, що деякі маршрутизатори мають вбудовану можливість, оскільки вони часто виконують функції кешування DNS, оскільки ви не вказали, яким маршрутизатором ви користуєтесь, я залишив його відкритим для "інших маршрутизаторів, щоб зробити це також"
acejavelin

1
так, так, я це зрозумів і дякую! роутер був лише прикладом. Уявіть собі, що в локальній мережі працює також принтер або малиновий PI або система вентиляції, що контролюється Інтернетом.
санджіхан

@sanjihan Я думаю, вам потрібно буде розкрити марку і модель вашого маршрутизатора, або ж сказати, що ви використовуєте для DNS, щоб хтось дав вам інструкції щодо конфігурацій, які ви, можливо, зможете виконати для цього завдання. Отже, підкажіть, 1.)зробіть і модель вашого пристрою маршрутизатора або2.) що саме ви використовуєте для DNS (наприклад, Windows DNS, вбудований функціонал маршрутизатора тощо)
Pimp Juice IT

Відповіді:


18

Окрім відповіді Yamakaja , саме так ви налаштовуєте локальний DNS-сервер.

По-перше, вам потрібен комп'ютер, на якому потрібно запустити DNS-сервер. Це може бути один із ваших звичайних комп'ютерів (якщо вони працюють під управлінням Linux і знаходяться в більшості випадків) або, наприклад, Raspberry Pi . Переваги такого пристрою полягають у тому, що він дешевий, не потребує великої потужності і невеликий.

Налаштування DNS-сервера

Я вирішив встановити DNS-сервер на Raspberry Pi, використовуючи dnsmasqневеликий інструмент сервера DNS, ідеальний для використання в невеликих мережах. Ви також можете скористатися bindстандартним інструментом DNS де-факто, але це, мабуть, занадто сильно для невеликої домашньої мережі.

Встановити dnsmasqза допомогою менеджера пакунків в системах на базі Debian (наприклад, Raspbian) команда була б

sudo apt-get install dnsmasq

Тепер я припускаю, що ви вже встановили статичний розподіл IP-адрес (тобто IP-адреси, які ви згадуєте у своєму запитанні, не змінюються). Якщо ви цього не зробили, dnsmasqможна також використовувати як сервер DHCP, але я ще цього не робив.

dnsmasq вибирає імена хостів із /etc/hosts . Відредагуйте цей файл так:

# IP address    Host name
192.168.1.1     router
192.168.1.22    printer

Тепер ім'я хоста routerпризначено192.168.1.1 , printerдля 192.168.1.22.

Тепер ви створили свій власний DNS-сервер, але комп'ютери у вашій мережі ще не використовують його. Щоб змусити їх використовувати цей сервер, потрібно зробити один крок підготовки:

Знайдіть IP-адресу пристрою dnsmasq за допомогою ip address(припустимо, це так 192.168.1.42). Відкрийте /etc/dnsmasq.confі додайте наступні рядки:

listen-address=127.0.0.1
listen-address=192.168.1.42

Це говорить про те, що dnsmasqвін повинен слухати запити, коли вони звертаються або до них127.0.0.1 (тобто коли сам хоче використовувати свій DNS-сервер), або 192.168.1.42(тобто коли інші комп'ютери хочуть використовувати його DNS-сервер).

Використання сервера DNS

Ви повинні сказати кожному комп'ютеру у своїй мережі, який він повинен (також) використовувати 192.168.1.42 як DNS-сервер. Те, як ви це зробите, залежить від вашої операційної системи. Ви можете легко знайти цю задану операційну систему в Інтернеті (просто пошукайте "Змінити DNS-сервер на <OS>" або щось подібне).

Для Windows 7 ви можете дотримуватися цього посібника: https://www.opennicproject.org/configure-your-dns/how-to-change-dns-servers-in-windows-7/ .

У моїй системі (Arch Linux) мені довелося додати наступний рядок до /etc/resolvconf.conf

name_servers=192.168.1.42

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

Можливо, вам доведеться перезапустити пристрої, якщо це не працює негайно.

Ось і все, ви закінчили. Тепер ви можете отримати доступ до всіх пристроїв, на яких ви входили /etc/hostsна сервері dnsmasq, просто використовуючи ім'я хоста, яке ви вказали.

(Додатково) Перевірка функціональності

Якщо ви хочете перевірити, чи працює роздільна здатність DNS правильно, встановіть dnsutils(Linux) у систему, яка повинна використовувати ваш сервер. Потім виконати

$ dig router

Це має повернути щось подібне

; <<>> DiG 9.10.4-P1 <<>> router
;; global options: +cmd
;; Got answer:
...

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;router.                        IN      A

;; ANSWER SECTION:
router.                 0       IN      A       192.168.1.1

;; Query time: 14 msec
;; SERVER: 192.168.1.42#53(192.168.1.42)
;; WHEN: So Jun 26 10:43:18 CEST 2016
;; MSG SIZE  rcvd: 50

Він показує вам ім'я хоста, яке ви хотіли вирішити, IP-адресу, яку він вирішив, і використовуваний DNS-сервер. Як бачите, все добре.

(Необов’язково) Вказання TLD

Якщо ви хочете отримати доступ до пристроїв не тільки з routerабо printerале router.homeі printer.homeдодайте наступні рядки в /etc/dnsmasq.conf:

expand-hosts # Tells dnsmasq to add a TLD to each host name
domain=home # The TLD

Можливо, вам доведеться знову перезапустити.

Джерела / подальше читання

Про dnsmasq:

Про bind(якщо вам це цікаво):


11

Так, і є два (або більше?) Варіанти:


Редагування файлу хостів (ледачий спосіб)

Залежно від вашої операційної системи вам доведеться додати запис до файлу "хостів". Ви можете знайти його /etc/hostsна більшості Unixoids та в C:\Windows\system32\drivers\etc\hostsWindows.

Щоб додати запис, перейдіть до нижньої частини файлу та додайте рядок у такому форматі:

<IP>       <the hostname to assign>

напр.

192.168.1.1      router

(Зауважте, пробіл між ip та іменем хосту не має значення. Але це виглядає краще, якщо збігається з іншими записами. Ви можете використовувати вкладки або пробіли)

Тоді ви можете отримати доступ до свого маршрутизатора в браузері, просто відкривши доступ

http://router/

або

router/

Локальний сервер DNS

Будь ласка, дивіться відповідь TuringTux для отримання додаткової інформації


Спасибі людино! Це чудово працює для одного комп’ютера. Чи можливо розширити це на всі комп’ютери в локальній мережі, не змінюючи вручну файл хостів у кожному комп'ютері?
санджіхан

@sanjihan Це не так просто, наприклад, ви можете придбати своє власне доменне ім'я менше ніж за 1 долар у сховищі імен і використовувати це, щоб вказати на свої речі. Наприклад, ви можете встановити роутер. <yourdomain>. <tld> вказувати на 192.168.1.1 Але це дозволить збільшити ваші імена. Також будь-ласка, позначте мою відповідь як прийняту, щоб інші користувачі знали, що на це питання відповіли.
Yamakaja

Чи можете ви просто використовувати ім'я ПК, якщо вони є частиною однієї робочої групи?
jiggunjer

@jiggunjer я насправді не знаю. Я не такий знайомий з Windows
Yamakaja

2

Я хочу оновити чудову відповідь вище:

Ви можете заглянути в свій маршрутизатор і перевірити, чи підтримується він вручну.

Якщо це так, ви можете просто додати свою місцеву 192.168.1.22адресу як printer.home. Інакше ви боїтесь редагування файлів локальних хостів або власного налаштування сервера DNS.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.