Io e un piccolo gruppo di sviluppatori ci siamo appena trasferiti in un nuovo ufficio e mi piacerebbe impostare dnsmasq sul nostro server di sviluppo, quindi quando distribuiamo app Web lì, non dobbiamo modificare i nostri file host. Abbiamo un router a 192.168.3.1 a cui non abbiamo accesso. Ho pensato di installare un server DNS nella casella di sviluppo e tutti registriamo il suo IP come server DNS secondario. Purtroppo sto lottando per farlo funzionare.
Il nome del server di sviluppo è devbox, il suo IP è 192.168.3.99 e esegue l'ultimo Ubuntu Server (Karmic)
Il mio computer esegue Ubuntu Desktop (Karmic)
Cosa mi piacerebbe ottenere
Diciamo che ho tre siti Web, website1, website2, website3, in esecuzione sulla casella di sviluppo. Mi piacerebbe accedervi dagli URL:
http://website1.devbox
http://website2.devbox
http://website3.devbox
Quindi ho configurato Apache nella casella di sviluppo, ho installato dnsmasq e ho inserito le seguenti righe nel suo file hosts:
192.168.3.99 website1.devbox
192.168.3.99 website2.devbox
192.168.3.99 website3.devbox
e modificato il mio file resolv.conf per includere la casella di sviluppo come nameserver:
nameserver 192.168.3.99
Funziona bene, posso accedere ai siti. Il problema è che non si adatta bene. Vorrei che tutti i domini che terminano con .devbox vengano inoltrati alla casella di sviluppo, e questo è ciò con cui sto lottando.
Ho provato a mettere
192.168.3.99 devbox
nel file hosts e modificando la riga in dnsmasq.conf:
# Add local-only domains here, queries in these domains are answered
# from /etc/hosts or DHCP only.
local=/devbox/
Ma non riesco a farlo funzionare. Se provo qualsiasi URL non esplicitamente presente nel file hosts della casella di sviluppo, la ricerca DNS non riesce.
La direttiva locale è qualcos'altro? Sto guardando nel posto sbagliato?
address=/.devbox/192.168.3.99
potrebbe essere la sintassi più adatta ai tuoi scopi.