Я працюю над створенням домашньої інтрамережі для мене та моїх сусідів по кімнаті. Моя ідея полягає в тому, що ми зможемо зберігати речі, наприклад минулі рахунки за комунальні послуги, у доступнішому місці, ніж ящик на кухні тощо. У будь-якому випадку, у мене Apache 2 працює на Raspberry Pi, в моїй локальній мережі, і якщо я використовую його IP-адресу, я можу отримати доступ до сторінок, які подаються на Pi. Оскільки я займаюся цим проектом більше, щоб дізнатися про створення мереж щодо надання послуги моїй квартирі, я подумав, що було б здорово, якщо моя мережа могла б забезпечити дозвіл імені хоста для моєї локальної мережі. Тому замість того, щоб вказувати мій браузер на 192.168.1.151IP-адресу 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як у мене вже є. Хтось може мені тут допомогти? Я спробую надати будь-яку додаткову інформацію.