Я працюю над створенням домашньої інтрамережі для мене та моїх сусідів по кімнаті. Моя ідея полягає в тому, що ми зможемо зберігати речі, наприклад минулі рахунки за комунальні послуги, у доступнішому місці, ніж ящик на кухні тощо. У будь-якому випадку, у мене Apache 2 працює на Raspberry Pi, в моїй локальній мережі, і якщо я використовую його IP-адресу, я можу отримати доступ до сторінок, які подаються на Pi. Оскільки я займаюся цим проектом більше, щоб дізнатися про створення мереж щодо надання послуги моїй квартирі, я подумав, що було б здорово, якщо моя мережа могла б забезпечити дозвіл імені хоста для моєї локальної мережі. Тому замість того, щоб вказувати мій браузер на 192.168.1.151
IP-адресу Pi, я міг би вказати на нього oberon
(його ім'я хоста) та переглянути веб-сторінки, які подає Pi.
Тепер я знав, що я не перша людина, яка хотіла це зробити, тому почала з Гуглінга. Це питання, також у Unix & Linux, дуже допомогло мені: Як зробити машину доступною через локальну мережу за допомогою свого імені хоста . На даний момент я спробував усе у підтвердженій відповіді. Я думав про використання hosts
файлу, але це означало б, що мені доведеться сказати своїм сусідам по кімнаті, щоб вони налаштували свої машини, чого я не хочу, щоб вони мали робити. Я спробував зарезервувати DHCP-оренду для Pi на своєму маршрутизаторі (NETGEAR WNR1000v2 (він же N150)), і поки бронювання спрацювало, роздільна здатність імені хоста не робить. Це мене засмучує, оскільки я розповів маршрутизатору IP-адресу Pi та його ім'я хосту, але він все ще не надає цю інформацію клієнтам у моїй локальній мережі.
Оскільки ці два способи не працюють, я вирішив встановити dnsmasq
на Pi. Конфігурувати це здавалося простим, і я був би радий вивчити новий інструмент. Я встановив, і він працює добре (здається). Я можу dig
або nslookup
прізвиська Пі (які я пропоную в /etc/hosts
до oberon
і homenet
) і отримати правильні результати. Я можу зробити те ж саме для імен Інтернету, як yahoo.com
і отримати правильні відповіді, оскільки я налаштував Google 8.8.8.8
і 8.8.4.4
як резервні сервери в /etc/dnsmasq.conf
. Дивіться це:
me@oberon~$ dig oberon
; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> oberon
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10787
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;oberon. IN A
;; ANSWER SECTION:
oberon. 0 IN A 192.168.1.151
;; Query time: 10 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sun Oct 6 18:59:18 2013
;; MSG SIZE rcvd: 40
Зверніть увагу , що SERVER
це 127.0.0.1
: oberon
шукає свій власний IP - адреса на себе. Це те, що я очікував побачити. Результат такий же, як і я dig oberon @localhost
. Через цей результат я думаю, що dnsmasq
це працює добре. Щоб вивести його на новий рівень, я хочу, щоб усі клієнти моєї локальної мережі мали змогу вводити oberon
свій браузер і переходити на oberon
індексну сторінку. Для цього я знаю, що мені потрібно налаштувати свій маршрутизатор (вибачте, якщо це відхиляється від суворо території Unix та Linux).
У мене є Netgear WNR1000v2, з яким я досить знайомий. Я налаштував переадресацію портів, щоб я міг SSH в Pi, і я також ткнувся в інших налаштуваннях. Я знаю, що перед тим, як розпочати цей проект, я отримував свої DNS-сервери від свого провайдера, але тепер я хочу використовувати ці DNS-сервери насамперед, але також використовувати 192.168.1.151
як останню перевірку. Тому я змінив конфігурацію DNS мого маршрутизатора на таке:
Отже, з цією конфігурацією я очікував, що зможу зробити nslookup oberon
на своєму робочому столі (Windows) і отримати результат 192.168.1.151
. Але цього не відбувається. Ось що відбувається:
C:\Users\me>nslookup oberon
Server: UnKnown
Address: fe80::226:f2ff:fefa:bea
*** UnKnown can't find oberon: Non-existent domain
Скидання або dnsflushing
мережевий адаптер на моїй машині Windows нічого не змінює.
Тепер ось чому я наче стригу волосся:
C:\Users\me>nslookup oberon 192.168.1.151
Server: oberon.lan
Address: 192.168.1.151
Name: oberon
Address: 192.168.1.151
Ясна річ, dnsmasq
працює просто чудово. Якщо я скажу своєму вікні Windows використовувати 192.168.1.151
для вирішення імені oberon
, все добре ( .lan
домен був частиною конфігурації dnsmasq
, тому я очікував, що його там я побачу). Якби я міг просто отримати свій маршрутизатор, щоб він сказав своїй машині Windows використовувати, 192.168.1.151
коли він робить запити DNS, я повинен бути хорошим!
Тож мені здається, що проблема в моєму маршрутизаторі, але я просто не можу зрозуміти, що робити за зміною DNS-серверів на такі, 192.168.1.151
як у мене вже є. Хтось може мені тут допомогти? Я спробую надати будь-яку додаткову інформацію.