Para fines de desarrollo, quiero que todas las solicitudes DNS al .dev TLD se envíen a mi propia PC.
El archivo de hosts no es suficiente. Yo uso múltiples dominios y también múltiples subdominios. Tendría que agregar una línea para cada combinación.
He leído que un reenviador de DNS como DNSmasq se puede utilizar para hacer el trabajo (por ejemplo, como se describe aquí ). Además, este software ya está instalado en Ubuntu 12.10.
El problema es que no veo cómo y dónde debo configurar DNSmasq, es decir, dónde debo poner esta línea:
address=/dev/127.0.0.1
.dev
como lo tomó Google. Todavía estoy investigando para qué lo usarán y si planean que la gente común se conecte a él o solo a los empleados, pero es posible que no desee redirigir todo el acceso en caso de que sea el primero, a menos que esto sea puramente un cuadro de prueba que nunca se conectará a hosts externos.Respuestas:
El dnsmasq independiente completo (servidor DHCP y DNS) no está instalado de forma predeterminada en Ubuntu 12.04 y 12.10, pero un paquete llamado dnsmasq-base está instalado de forma predeterminada en Ubuntu Desktop 12.04 y 12.10. El paquete dnsmasq-base contiene el binario dnsmasq y lo utiliza NetworkManager.
Para hacer lo que desee, deberá usar dnsmasq como servidor DNS de almacenamiento en caché. Necesitas:
Crea
/etc/dnsmasq.d/dev-tld
con estos contenidos:El primer comando dice que las
*.dev
solicitudes no se pueden reenviar a su servidor DNS real. El segundo dice*.dev
resuelve127.0.0.5
cuál es localhost.fuente
En Ubuntu 12.10 o posterior, puede hacer esto con dnsmasq como lo ejecuta NetworkManager.
Cree el directorio
mkdir /etc/NetworkManager/dnsmasq.d
si aún no existe.Mezcle la siguiente línea en
/etc/NetworkManager/dnsmasq.d/dev-tld
.(Ubuntu 12.10) Reinicie NetworkManager.
(Ubuntu> 13.04) Reinicia Dnsmasq.
Disfruta la genialidad.
fuente
Lo siguiente funcionó para mí en Ubuntu 16.04:
Instalar
dnsmasq
Editar
dnsmasq.conf
archivo:Agrega tu comando:
Para el comodín (*), puede usar punto (.) Y luego dnsmasq para resolver
WHATEWER_YOU_PUT_HERE.yourmachine.yourdomain
la misma ip. P.ej,address=/.localhost.dev/127.0.0.1
Reinicie el servicio dnsmasq:
fuente
Acabo de instalar un nuevo 19.04 y la única forma de hacerlo funcionar fue deshabilitar
systemd-resolved
yNetworkManager
usardnsmasq
en su lugar para DNS.NetworkManager
tiene soporte incorporadodnsmasq
y eldnsmasq-base
paquete se instala de manera predeterminada.Estoy apuntando múltiples dominios a diferentes máquinas virtuales como
*.customerX.test
to192.168.33.10
y*.productY.test
to192.168.33.20
y así sucesivamente. No usaría*.dev
más, sino uno de los dominios de nivel superior reservados .Solución
Inhabilitar
systemd-resolved
Editar
/etc/NetworkManager/NetworkManager.conf
para usardnsmasq
para DNS.Poner
dnsmasq
configuración en/etc/NetworkManager/dnsmasq.d/test-tld.conf
y finalmente reiniciar
NetworkManager
lo que generará un nuevo/etc/resolv.conf
fuente