Come posso impostare un dominio 'locale' in modo che tutti sulla mia rete locale possano visualizzare un sito ospitato localmente?


16

Voglio impostare MediaWiki su una delle mie macchine domestiche, quindi tutte le richieste fatte sulla rete locale per "wiki.home" o "wiki.local" puntano a quella casella. So che questo può essere fatto modificando ogni file / etc / hosts singolarmente, ma voglio qualcosa di più automatizzato in modo che, ad esempio, se un amico o un membro della famiglia arriva a casa mia, non hanno bisogno di scherzare con il file host per visualizzare il sito.

C'è un modo semplice per fare questo? Ho il wiki attivo e funzionante e ho cercato dnsmasq, ma non riesco a capire come impostare correttamente il DNS. Poiché desidero una soluzione automatizzata, mi sento come se dovessi modificare le impostazioni DNS sul mio router, ma se cambio le impostazioni DNS lì, come posso ancora risolvere gli host esterni?

Dettagli di configurazione

  • Router: Netgear WNR2000v2. Il router mi dà la possibilità di specificare manualmente i server DNS, che presumo dovrò puntare alla mia casella Ubuntu se voglio farlo funzionare.

  • Host MediaWiki e dnsmasq: esegue Ubuntu 12.04. Ho avuto qualche difficoltà con la configurazione di dnsmasq (principalmente a causa della mia inesperienza). Ad esempio, non ne sono sicuro, ma durante l'installazione penso che Ubuntu abbia modificato le mie impostazioni DNS in modo che /etc/resolv.confora fosse 127.0.0.1l'unico server DNS. A quel punto, ho potuto risolvere gli host locali, ma nient'altro. L'ho risolto temporaneamente modificando /etc/resolv.confe aggiungendo 192.168.1.1come nameserver secondario, ma la preoccupazione qui è che 192.168.1.1utilizzerà la casella Ubuntu per DNS. Mi sto perdendo qualcosa di ovvio qui?

  • Impostazioni dnsmasq: decommentate le seguenti righe:

    domain-needed
    bogus-priv
    local=/local/
    domain=local
    

Valuta di pubblicare i dettagli di configurazione. Inoltre, cosa hai provato? Quali impostazioni hai modificato sul tuo router? Che tipo di router hai? Presumo che tu stia usando Linux, ma quale distro? Ci sono così tante cose che potrebbero andare storte che potremmo scrivere un libro sull'argomento;)
jmort253

dnsmasq funzionerà, ma altre alternative includono mDNS e NIS .
Lèse majesté,

puoi semplicemente cambiare il nome della tua macchina sul wifi?
ytpillai,

Risposte:


8

Con il DNS standard, eseguiresti un server DNS autorevole per il dominio locale ( home.o local., sebbene sia meglio evitare quest'ultimo - vedi nota sotto), ma funga anche da risolutore per tutti gli altri domini.

dnsmasq può essere usato per questo scopo - ha la modalità ricorsiva abilitata di default e la tua configurazione sembra a posto; tutto ciò che serve è dirgli quali nameserver usare per domini non locali. Normalmente quelli verrebbero letti dal /etc/resolv.conffile di sistema ; tuttavia, poiché si desidera che il dominio locale funzioni anche sul computer server DNS, sarà necessario creare una copia dedicata di resolv.conf che verrebbe utilizzata solo da dnsmasq , mentre il resolv.conf originale farebbe riferimento a 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

Nota: queste istruzioni sono molto semplici e dovrebbero essere adattate alla distribuzione Linux in uso. In particolare, controlla le guide Debian e Ubuntu su dnsmasq.

Successivamente, il router deve essere configurato per utilizzare questo computer come server DNS; tutte le query DNS da parte dei computer della rete verranno quindi gestite da dnsmasq .

(I server DNS con funzionalità complete, come bind9 , possono eseguire da soli query ricorsive: la configurazione dei server dei nomi a monte diventa del tutto facoltativa. Ecco come funzionano i server dei nomi del tuo ISP, ad esempio. Tuttavia, inizialmente l' hosting del tuo dominio con bind9 è piuttosto complicato, in confronto con il semplice dnsmasq .)


Nota: se hai Avahi (aka Bonjour) configurato su qualsiasi computer in rete (che Ubuntu ha, per impostazione predefinita), è meglio evitare local.in DNS e scegliere qualcosa di simile home., poiché i nomi sotto forma di name.localsono già gestiti da Avahi .

(Sebbene Avahi normalmente risponda solo current-hostname.local, in realtà è possibile pubblicare voci aggiuntive come wiki.local; tuttavia, avranno bisogno di ulteriori indirizzi IP da aggiungere a causa del funzionamento di mDNS. Per questo motivo, utilizzare Avahi invece del DNS centralizzato non offrire ulteriori vantaggi, quindi non lo sto suggerendo.)


2

Ho trovato il demone Avahi il modo più semplice per farlo. Nota: se si utilizzano macchine Windows per connettersi al dominio .local, è necessario assicurarsi che su tali macchine sia installato iTunes o un altro client Bonjour.

Dai un'occhiata a questo link per maggiori informazioni: http://www.howtogeek.com/167190/how-and-why-to-assign-the-.local-domain-to-your-raspberry-pi/

Sebbene quel link sia specifico per Raspberry Pi, dovrebbe funzionare allo stesso modo su macchine Ubuntu. Per altre distro Linux che non usano apt-get, basta adattarsi apt-getal proprio gestore pacchetti appropriato - ad es. yumPer Fedora e CentOS)

Ecco i comandi esatti che ho eseguito per farlo funzionare sul mio media server Raspberry Pi:

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

Da lì inizia automaticamente a utilizzare il nome host del computer più l' .localestensione come nome di dominio. Quindi, se il nome host della tua macchina è mediaserver, puoi accedervi sulla rete digitando mediaserver.localnella barra dell'URL di qualsiasi macchina che ha Bonjour / Avahi su di essa (cioè tutti i Mac, oltre alle macchine Windows con iTunes installato).


0

La risoluzione dei nomi locali è una funzione semplice ed è stata parte della maggior parte dei router che ho usato. È inoltre implementato nel firmware DD-WRT. A Netgear non interessa questa funzione che è costantemente richiesta .

Quindi, la risposta che è molto più semplice delle altre pubblicate qui - evita i problemi e cambia il tuo router Netgerat in qualcosa che supporti la risoluzione dei nomi locali. Oppure, se questa non è un'opzione, e senti la forza e hai il tempo, usa DD-WRT su di essa.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.