Pracuję nad stworzeniem domowego intranetu dla mnie i moich współlokatorów. Moim pomysłem jest to, że będziemy mogli przechowywać rzeczy, takie jak rachunki za media, w miejscu, które jest bardziej dostępne niż szuflada w kuchni itp. W każdym razie mam Apache 2 działający na Raspberry Pi, w mojej sieci LAN i jeśli używam jego adres IP, mogę uzyskać dostęp do stron obsługiwanych w Pi. Ponieważ robię ten projekt, aby dowiedzieć się więcej na temat tworzenia sieci w celu świadczenia usług w moim mieszkaniu, pomyślałem, że byłoby fajnie, gdyby moja sieć mogła zapewnić rozpoznawanie nazw hostów dla mojej sieci LAN. Więc zamiast wskazywać moją przeglądarkę na 192.168.1.151
adres IP Pi, mógłbym wskazać go oberon
(jego nazwę hosta) i przeglądać strony internetowe obsługiwane przez Pi.
Teraz wiedziałem, że nie jestem pierwszą osobą, która chce to zrobić, więc zacząłem od Googlinga. To pytanie, także w systemach Unix i Linux, bardzo mi pomogło: jak udostępnić maszynę z sieci LAN za pomocą jej nazwy hosta . W tym momencie próbowałem wszystkiego w zweryfikowanej odpowiedzi. Myślałem o użyciu tego hosts
pliku, ale oznaczałoby to, że musiałbym powiedzieć współlokatorom, aby skonfigurowali swoje maszyny, czego nie chcę, aby musieli robić. Próbowałem zarezerwować dzierżawę DHCP dla Pi na moim routerze (NETGEAR WNR1000v2 (znany również jako N150)) i podczas rezerwacji zadziałało, rozpoznawanie nazw hostów nie. Ten rodzaj frustruje mnie, ponieważ powiedziałem routerowi adres IP komputera Pi i jego nazwę hosta, ale nadal nie udostępnia tych informacji klientom w mojej sieci LAN.
Ponieważ te dwie metody nie działają, zdecydowałem się zainstalować dnsmasq
na Pi. Konfiguracja wydawała się prosta i chętnie poznam nowe narzędzie. Zainstalowałem i działam dobrze (wydaje się). Mogę dig
lub nslookup
pseudonimy Pi (które ustawiłem /etc/hosts
na oberon
i homenet
) i uzyskać prawidłowe wyniki. Mogę zrobić to samo z nazwami internetowymi, takimi jak yahoo.com
i uzyskać poprawne odpowiedzi, ponieważ skonfigurowałem Google 8.8.8.8
i 8.8.4.4
serwery zapasowe /etc/dnsmasq.conf
. Zobacz:
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
Zauważ, że SERVER
is 127.0.0.1
: oberon
szuka własnego adresu IP na sobie. Tego się spodziewałem. Wyjście jest takie samo, jeśli to zrobię dig oberon @localhost
. Z tego powodu myślę, że dnsmasq
działa dobrze. Aby przenieść go na wyższy poziom, chcę, aby wszyscy klienci w mojej sieci LAN mogli pisać oberon
w przeglądarce i przejść do oberon
strony indeksu. W tym celu wiem, że muszę skonfigurować router (przepraszam, jeśli odwróci się to od terytorium ściśle Uniksa i Linuksa).
Mam Netgear WNR1000v2, który znam dość dobrze. Skonfigurowałem przekierowanie portów, więc mogę SSH do Pi, a także rozglądałem się w innych ustawieniach. Wiem, że zanim rozpocząłem ten projekt, otrzymywałem serwery DNS od mojego dostawcy usług internetowych, ale teraz chcę przede wszystkim korzystać z tych serwerów DNS, ale także 192.168.1.151
jako ostatni czek. Więc zmieniłem konfigurację DNS mojego routera na następującą:
Tak więc przy tej konfiguracji spodziewałem się, że będę mógł to zrobić nslookup oberon
na pulpicie (Windows) i uzyskać wynik 192.168.1.151
. Ale tak się nie dzieje. Oto co się dzieje:
C:\Users\me>nslookup oberon
Server: UnKnown
Address: fe80::226:f2ff:fefa:bea
*** UnKnown can't find oberon: Non-existent domain
Resetowanie lub dnsflushing
karta sieciowa na moim komputerze z systemem Windows niczego nie zmienia.
Oto dlaczego trochę rozdzieram tutaj włosy:
C:\Users\me>nslookup oberon 192.168.1.151
Server: oberon.lan
Address: 192.168.1.151
Name: oberon
Address: 192.168.1.151
Najwyraźniej dnsmasq
działa dobrze. Jeśli powiem mojemu systemowi Windows, aby używał 192.168.1.151
nazwy oberon
, wszystko jest w porządku ( .lan
domena była częścią konfiguracji dnsmasq
, więc spodziewałem się, że ją tam zobaczę). Gdybym tylko mógł sprawić, aby mój router powiedział mojej maszynie z Windows, aby korzystała z 192.168.1.151
zapytań DNS, powinienem być dobry!
Wydaje mi się więc, że problem tkwi w moim routerze, ale po prostu nie mogę wymyślić, co zrobić poza zmianą serwerów DNS 192.168.1.151
tak, jak to już mam. Czy ktoś może mi tutaj pomóc? Postaram się podać wszelkie dalsze potrzebne informacje.