He tenido problemas con esto durante un tiempo y he intentado todo lo que sé, así que pensé que finalmente era hora de pedir ayuda.
Cualquier edición que haga /etc/hosts
simplemente no funciona.
Ejemplo:
julian@ifrit:~$ cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 ifrit
192.168.1.100 dev.julianfernand.es
En el ejemplo anterior, cuando accedo dev.julianfernand.es
(esto no existe), debería cargarse desde 192.168.1.100
.
Si hago ping, funciona bien. Sin embargo, cuando accedo dev.julianfernand.es
usando Google Chrome o Firefox, no lo hace.
Ahora, después de reiniciar un par de veces, funciona. Pero como trabajo en una empresa administrada de alojamiento de WordPress, me enfrento a muchas situaciones en las que tengo que editar mi archivo para ver el sitio web del cliente en nuestro servidor.
Simplemente no puedo seguir reiniciando mi computadora. No es productivo en absoluto. Reiniciar el servicio de red no funciona, lo mismo para borrar el caché (incluso el caché DNS interno de Chrome).
¿Alguien tiene una idea aquí? Esto sucede con elementaryOS (basado en Ubuntu 12.04) y Ubuntu 13.10 (diariamente). No he probado con ninguna otra versión todavía.
PD: si esto importa, tengo un servidor NGINX ejecutándose en esta máquina con PHP-FPM y MySQL.
Gracias por adelantado :)
fuente
Respuestas:
En Ubuntu si desea vaciar la caché de DNS, debe reiniciar el
nscd
demonio.Instale
nscd
usando el siguiente comando:Vaciar caché DNS en Ubuntu con el siguiente comando:
O
Referencia: http://www.upubuntu.com/2012/05/how-to-flush-clear-dns-cache-under.html
fuente
Lo siguiente funcionó para mí: agregar
en
matar a dnsmasq y
fuente
Para mí, la solución fue editar el
/etc/nsswitch.conf
archivo (puede usar el comandosudo vim /etc/nsswitch.conf
). He cambiado de linea:a:
¡y ahora está funcionando como se esperaba!
fuente
files
como primera entrada si desea/etc/hosts
tener prioridad sobre los resultados de los servidores DNS.La respuesta aceptada funciona en 12.04 a 13.04 deshabilitando
dnsmasq
, pero dejó de funcionar para mí en 13.10. Encontré la siguiente solución nueva para 13.10.Editar / etc / default / dnsmasq y el cambio
ENABLED=1
aENABLED=0
y reinicie.fuente
De: http://blog.calebthorne.com/2012/08/broken-etchosts-in-ubuntu-1204.html
Una nueva "característica" en la edición de escritorio Ubuntu 12.04 es usarla
dnsmasq
como complemento de NetworkManager para DNS local. Dnsmasq está destinado a acelerar los servicios de DNS y DHCP, pero tiene un efecto secundario desafortunado:dnsmasq
almacena en caché el DNS local e ignora los cambios/etc/hosts
. Realizo cambios frecuentes en el archivo de hosts mientras trabajo en sitios web, por lo que esta "característica" fue bastante molesta.La solución es deshabilitar
dnsmasq
en el archivo de configuración de Networkmanager. Abre/etc/NetworkManager/NetworkManager.conf
y comenta la línea:Mi
NetworkManager.conf
archivo contiene lo siguiente:Ver también https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/993298
fuente
Simple y actualizado
/etc/NetworkManager/dnsmasq.d/hosts.conf
.address=/whatever/1.2.3.4
esta. Ver los documentos (buscar--address
). Los comodines son posibles:address/.whatever./1.2.3.4
.dnsmasq
( error ).$ service network-manager restart
.fuente
Parece que tu configuración se parece mucho a la mía. Tengo una caja que ejecuta Ubuntu como mi servidor de oficina y host de desarrollo. En ese cuadro, ejecuto las aplicaciones Nginx, Apache, Tomcat, Rails y todo lo que necesito.
Desde mi Mac, simplemente puedo agregar una entrada de hosts y cargar el servidor con el nombre que necesite, pero desde un cliente de ElementaryOS, eso no funciona.
Probé las soluciones anteriores, sin éxito.
Lo que hice fue ejecutar Squid Proxy Server y agregar los nombres de host a / etc / hosts en el servidor. (La edición requiere un reinicio del calamar).
Después de eso, realice la configuración de proxy adecuada en su navegador o en el panel de control del sistema operativo.
fuente
Verifique los permisos en el
/etc/hosts
archivo.En mi servicio en la nube después de clonar un servidor, los permisos en el archivo de hosts cambiaron
644
a600
para que apache (www-data
) no pueda leer el archivo, supongo. Corrísudo chmod 644 hosts
a partir/etc
y que arreglé.El problema comenzó como:
Lo rastreé hasta la variable del servidor en MongoClient apuntando a localhost. No pude hacer ping a localhost o al nombre de host.
fuente
Editar
/etc/nsswitch.conf
, comentar debajo de la línea agregando # delante de la líneay añadir
Básicamente, la configuración se reordena. Ahora el proceso de búsqueda de dominio consultará primero el archivo que es
/etc/hosts
y luego consultará DNS. Con la configuración predeterminada, primero consulta el DNS antes que cualquier otro servicio o archivo apropiado.Para una prueba rápida de si funciona o no, puede usar
para crear un sencillo servidor HTTP para servir archivos de directorio y luego comentar debajo de la línea en el
/etc/hosts
archivoy añadir
luego vaya a un navegador y escriba
content/
, si puede ver que la estructura de directorios está funcionando, de lo contrario no funciona.fuente