Jak skonfigurować domenę „lokalną”, aby wszyscy w mojej sieci lokalnej mogli wyświetlać lokalnie hostowaną witrynę?

16

Chcę skonfigurować MediaWiki na jednym z moich domowych komputerów, a następnie wszystkie żądania w sieci lokalnej dotyczące „wiki.home” lub „wiki.local” wskazują na to pole. Wiem, że można to zrobić, edytując każdy plik / etc / hosts osobno, ale chcę czegoś bardziej zautomatyzowanego, aby na przykład, jeśli przyjaciel lub członek rodziny przyjdzie do mojego domu, nie będą musieli się bawić plik hosts, aby wyświetlić witrynę.

Czy istnieje prosty sposób to zrobić? Mam uruchomioną wiki i przeglądałem dnsmasq, ale nie mogę wymyślić, jak poprawnie skonfigurować DNS. Ponieważ chcę zautomatyzowanego rozwiązania, wydaje mi się, że muszę zmienić ustawienia DNS na routerze, ale jeśli zmienię ustawienia DNS w tym miejscu, w jaki sposób mogę nadal rozwiązywać hosty zewnętrzne?

Szczegóły konfiguracji

  • Router: Netgear WNR2000v2. Router daje mi opcję ręcznego określania serwerów DNS, co zakładam, że będę musiał wskazać moje okno Ubuntu, jeśli chcę to uruchomić.

  • Host MediaWiki i dnsmasq: Działa z Ubuntu 12.04. Miałem pewne trudności z konfiguracją dnsmasq (głównie z powodu mojego braku doświadczenia). Na przykład nie jestem pewien, ale myślę, że podczas instalacji Ubuntu zmodyfikował moje ustawienia DNS, tak aby /etc/resolv.confteraz był 127.0.0.1jedynym serwerem DNS. W tym momencie mogłem rozwiązać lokalne hosty, ale nic więcej. Rozwiązałem to tymczasowo, modyfikując /etc/resolv.confi dodając 192.168.1.1jako drugi serwer nazw, ale tutaj chodzi o to, że 192.168.1.1będę używał Ubuntu dla DNS. Czy brakuje mi czegoś oczywistego?

  • Ustawienia dnsmasq: odkomentowano następujące linie:

    domain-needed
    bogus-priv
    local=/local/
    domain=local
    
Dan
źródło
Rozważ opublikowanie szczegółów konfiguracji. Co też próbowałeś? Jakie ustawienia zmieniłeś na routerze? Jaki masz router? Zakładam, że używasz Linuksa, ale jaka dystrybucja? Jest tyle rzeczy, które mogą pójść nie tak, że moglibyśmy napisać książkę na ten temat;)
jmort253
dnsmasq będzie działać, ale inne alternatywy to mDNS i NIS .
Lèse majesté
czy możesz po prostu zmienić nazwę swojego urządzenia na Wi-Fi?
ytpillai

Odpowiedzi:

8

W przypadku standardowego systemu DNS można uruchomić serwer DNS, który jest autorytatywny dla domeny lokalnej ( home.lub local., chociaż lepiej tego uniknąć - patrz uwaga poniżej), ale działa również jako resolver dla wszystkich innych domen.

W tym celu można użyć dnsmasq - ma domyślnie włączony tryb rekurencyjny, a twoja konfiguracja wygląda dobrze; wystarczy powiedzieć mu, których serwerów nazw używać w domenach nielokalnych. Zwykle byłyby one odczytywane z /etc/resolv.confpliku systemowego ; Ponieważ jednak chcesz, aby domena lokalna działała również na komputerze serwera DNS, musisz utworzyć dedykowaną kopię pliku resolv.conf, który byłby używany tylko przez dnsmasq , podczas gdy oryginalny plik resolv.conf wskazywałby na 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

Uwaga: Te instrukcje są bardzo podstawowe i powinny być dostosowane do używanej dystrybucji Linuksa. W szczególności sprawdź przewodniki Debiana i Ubuntu na dnsmasq.

Następnie router musi zostać skonfigurowany do używania tego komputera jako serwera DNS; wszystkie zapytania DNS przez komputery w twojej sieci byłyby wtedy obsługiwane przez dnsmasq .

(W pełni funkcjonalne serwery DNS, takie jak bind9 , mogą same wykonywać zapytania rekurencyjne - konfigurowanie serwerów nazw upstream staje się całkowicie opcjonalne. Tak na przykład działają serwery nazw twojego dostawcy usług internetowych. Jednak hosting własnej domeny za pomocą bind9 jest początkowo dość skomplikowany, w porównanie z prostym dnsmasq .)


Uwaga: Jeśli masz Avahi (alias Bonjour) skonfigurowany na dowolnym komputerze w sieci (który domyślnie ma Ubuntu), najlepiej jest unikać local.DNS i wybrać coś podobnego home., ponieważ nazwy w postaci name.localsą już obsługiwane przez Avahi .

(Chociaż Avahi zwykle reaguje tylko na current-hostname.localto, w rzeczywistości można opublikować dodatkowe wpisy, takie jak wiki.local; będą one jednak wymagać dodania dodatkowych adresów IP ze względu na sposób działania mDNS. Z tego powodu użycie Avahi zamiast scentralizowanego DNS nie powoduje oferują więcej korzyści, więc nie sugeruję tego.)

grawitacja
źródło
2

Odkryłem, że demon Avahi jest najłatwiejszym sposobem na zrobienie tego. Uwaga: jeśli używasz komputerów z systemem Windows do łączenia się z domeną .local, musisz upewnić się, że na tych komputerach jest zainstalowany iTunes lub inny klient Bonjour.

Sprawdź ten link, aby uzyskać więcej informacji: http://www.howtogeek.com/167190/how-and-why-to-assign-the-.local-domain-to-your-raspberry-pi/

Chociaż ten link jest specyficzny dla Raspberry Pi, powinien działać na komputerach Ubuntu w ten sam sposób. W przypadku innych dystrybucji Linuksa, które nie używają apt-get, po prostu dostosuj apt-getdo odpowiedniego menedżera pakietów - np. yumDla Fedory i CentOS)

Oto dokładne polecenia, które uruchomiłem, aby uruchomić to na moim serwerze mediów Raspberry Pi:

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

Następnie automatycznie zaczyna używać nazwy hosta komputera i .localrozszerzenia jako nazwy domeny. Jeśli więc nazwa hosta Twojego komputera to mediaserver, możesz uzyskać do niego dostęp w sieci, wpisując mediaserver.localw pasku adresu URL dowolnego komputera z zainstalowanym Bonjour / Avahi (tj. Wszystkie komputery Mac oraz komputery z zainstalowanym programem iTunes).

camercu
źródło
0

Rozpoznawanie nazw lokalnych jest prostą funkcją i było częścią większości używanych przeze mnie routerów. Jest również zaimplementowany w oprogramowaniu DD-WRT. Netgear nie dba o tę funkcję, która jest stale wymagana .

Tak więc odpowiedź, która jest znacznie prostsza niż inne opublikowane tutaj - uniknij problemów i zmień router Netgerat na coś, co obsługuje rozpoznawanie nazw lokalnych. Lub, jeśli nie jest to opcja, a czujesz siłę i masz czas, flashuj na niej DD-WRT.

Oleg Mikheev
źródło