Як я можу налаштувати "локальний" домен, щоб усі в моїй локальній мережі могли переглядати веб-сайт, розміщений на локальному рівні?


16

Я хочу встановити MediaWiki на одній із своїх домашніх машин, а потім усі запити, зроблені в локальній мережі для "wiki.home" або "wiki.local", вказують на це поле. Я знаю, що це можна зробити, відредагувавши кожен / etc / hosts файл окремо, але я хочу щось більш автоматизоване, щоб, наприклад, якщо друг чи член сім'ї прийшов до мене додому, їм не потрібно возитися з файл хосту для того, щоб переглянути сайт.

Чи є простий спосіб це зробити? У мене працює вікі, і я розглядав dnsmasq, але не можу зрозуміти, як правильно налаштувати DNS. Оскільки я хочу автоматичне рішення, я відчуваю, що мені потрібно змінити налаштування DNS на маршрутизаторі, але якщо я змінити налаштування DNS там, як я можу вирішити зовнішні хости?

Деталі конфігурації

  • Маршрутизатор: Netgear WNR2000v2. Маршрутизатор надає мені можливість вручну вказати DNS-сервери, і я припускаю, що доведеться вказати на свій Ubuntu вікно, якщо я хочу розпочати це.

  • Хост MediaWiki та dnsmasq: Runs Ubuntu 12.04. У мене виникли труднощі з налаштуванням dnsmasq (в основному через мою недосвідченість). Наприклад, я не впевнений, але, думаю, під час встановлення Ubuntu змінив мої налаштування DNS так, що /etc/resolv.confтепер він був 127.0.0.1єдиним DNS-сервером. У цей момент я міг вирішити місцевих господарів, але нічого іншого. Я вирішив це тимчасово, змінивши /etc/resolv.confта додавши 192.168.1.1як вторинний сервер імен, але тут хвилюється те, що 192.168.1.1буде використовувати поле Ubuntu для DNS. Чи пропускаю я щось очевидне тут?

  • Налаштування dnsmasq: коментує наступні рядки:

    domain-needed
    bogus-priv
    local=/local/
    domain=local
    

Спробуйте розмістити свої дані про конфігурацію. Також що ви пробували? Які налаштування ви змінили на маршрутизаторі? Який у вас роутер? Я припускаю, що ви використовуєте Linux, але який дистрибутив? Є так багато речей, які можуть піти не так, що ми могли написати книгу на цю тему;)
jmort253

dnsmasq буде працювати, але інші альтернативи включають mDNS та NIS .
Lèse majesté

ви можете просто змінити назву своєї машини на wifi?
ytpillai

Відповіді:


8

За допомогою стандартного DNS ви б запустили сервер DNS, який є авторитетним для локального домену ( home.або local., хоча краще уникнути останнього - див. Примітку нижче), але також виступає як дозвіл для всіх інших доменів.

dnsmasq може бути використаний для цієї мети - у неї включений рекурсивний режим за замовчуванням, і ваша конфігурація виглядає нормально; все, що потрібно - це сказати, які сервери імен використовувати для не локальних доменів. Зазвичай вони читаються з /etc/resolv.confфайлу системи ; Однак, так як ви хочете , щоб локальний домен для роботи на комп'ютері сервера DNS теж, вам потрібно буде створити окрему копію resolv.conf , який буде використовуватися тільки Dnsmasq , в той час як оригінал resolv.conf буде вказувати nameserver 127.0.0.1.

# cp /etc/resolv.conf /etc/dnsmasq-resolv.conf
# echo "nameserver 127.0.0.1" > /etc/resolv.conf
# dnsmasq -r /etc/dnsmasq-resolv.conf

Примітка. Ці інструкції є дуже основними, і їх слід адаптувати до використовуваних дистрибутивів Linux. Зокрема, перегляньте посібники Debian і Ubuntu на dnsmasq.

Після цього маршрутизатор потрібно налаштувати на використання цього комп'ютера як DNS-сервера; всі запити DNS на комп’ютерах у вашій мережі будуть оброблятися dnsmasq .

(Повнофункціональні сервери DNS, такі як bind9 , можуть самостійно виконувати рекурсивні запити - конфігурування серверів імен вище за течією стає зовсім необов’язковим. Наприклад, так працюють сервери імен вашого провайдера. Однак, розміщення власного домену з bind9 спочатку досить складне, порівняння з простим dnsmasq .)


Примітка: Якщо на будь-якому комп'ютері в мережі налаштовано Avahi (він же Bonjour) (який за замовчуванням має Ubuntu), найкраще, якщо ви уникаєте local.в DNS і вибираєте щось на зразок home., оскільки імена у формі name.localвже обробляються Avahi .

(Хоча Avahi зазвичай відповідає лише на current-hostname.localце, фактично можливо опублікувати додаткові записи, такі як wiki.local; вони, однак, потребують додаткових IP-адрес, які потрібно додати через спосіб роботи mDNS. Через це використання Avahi замість централізованого DNS не робить пропонуйте більше переваг, тому я цього не пропоную.)


2

Я знайшов демона Avahi найпростішим способом зробити це. Примітка. Якщо ви використовуєте машини Windows для підключення до домену .local, вам потрібно переконатися, що на цих машинах встановлений або iTunes, або інший клієнт Bonjour.

Перейдіть за цим посиланням для отримання додаткової інформації: http://www.howtogeek.com/167190/how-and-why-to-assign-the-.local-domain-to-your-raspberry-pi/

Хоча це посилання характерне для Raspberry Pi, воно повинно працювати так само на машинах Ubuntu. Для інших дистрибутивів Linux, які не використовуються apt-get, просто налаштуйте apt-getвідповідний менеджер пакунків (наприклад, yumдля Fedora та CentOS)

Ось точні команди, які я запустив, щоб розпочати це на своєму медіа-сервері Raspberry Pi:

sudo apt-get update && sudo apt-get upgrade sudo apt-get install avahi-daemon

Звідти він автоматично починає використовувати ім'я хоста вашого комп’ютера плюс .localрозширення, оскільки це доменне ім’я. Отже, якщо ім'я хоста вашого mediaserverпристрою є , то ви можете отримати доступ до нього в мережі, набравши mediaserver.localв рядку URL-адреси будь-якої машини, на якій Bonjour / Avahi (тобто всі Mac, плюс машини Windows з встановленим iTunes).


0

Роздільна здатність локальних назв - це проста функція, і вона була частиною більшості маршрутизаторів, які я використовував. Він також реалізований у прошивці DD-WRT. Netgear не дбає про цю функцію, яку постійно просять .

Отже, відповідь набагато простіше, ніж інші, розміщені тут, - уникайте проблем і змініть маршрутизатор Netgerat на те, що підтримує локальну роздільну здатність імен. Або, якщо це не варіант, і ви відчуваєте сили і отримали час, прошийте DD-WRT.

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