Я работаю над созданием домашней сети для меня и моих соседей по комнате. Моя идея заключается в том, что мы сможем хранить такие вещи, как прошлые счета за коммунальные услуги, в месте, более доступном, чем ящик на кухне и т. Д. В любом случае, у меня Apache 2 работает на Raspberry Pi, в моей локальной сети, и если я использую его IP-адрес, я могу получить доступ к страницам, обслуживаемых на Pi. Поскольку я больше занимаюсь этим проектом, чтобы узнать больше о сетевом взаимодействии и предоставлении услуг для моей квартиры, я подумал, что было бы здорово, если бы моя сеть могла обеспечить разрешение имени хоста для моей локальной сети. Поэтому вместо того, чтобы указывать в своем браузере 192.168.1.151
IP-адрес Pi, я мог бы указать его oberon
(его имя хоста) и просматривать веб-страницы, обслуживаемые Pi.
Теперь я знал, что я был не первым, кто хотел это сделать, поэтому я начал с Google. Этот вопрос, также касающийся 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
is 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
как у меня уже есть. Может ли кто-нибудь помочь мне здесь? Я постараюсь предоставить любую дополнительную информацию по желанию.