Me dieron los archivos para un mini linux
, que arranca directamente firefox
. Funciona para todo lo que debería estar haciendo, solo que no tengo conexión a Internet.
Tenemos 3 servidores DNS en la red, todos funcionan. Yo también puedo hacerles ping. Pero cuando intento ping google.de
o wget google.de
me sale un bad address
error.
nslookup google.de
Funciona por alguna razón.
Seguí el problema hasta mi resolv.conf
en el sistema arrancado que no tiene el mismo contenido que el resolv.conf
que puse en el .iso
archivo.
Traté de comprender todos los factores que intervienen en la creación y modificación resolv.conf
. No estoy muy seguro de tenerlo todo, pero definitivamente no encontré mi solución allí.
Entonces, como último esfuerzo, intenté hacer que el resolv.conf
archivo sea inmutable usando
:~# chattr +i /etc/resolv.conf
Al reconstruir y arrancar nuevamente para mi sorpresa, mi archivo cambió de nombre resolv.conf~
y, en su lugar, fue el mismo archivo estándar que me ha estado persiguiendo.
El contenido del archivo me hace creer que obtiene la información de la propia red. Al iniciar .iso
en Virtualbox sin acceso a Internet, mi archivo se mantiene como está.
Intenté cambiar /etc/dhcp/dhclient.conf
para no obtener la información de la red, eliminando domain-name-server
y domain-name-search
de la request
parte del archivo.
No funcionó desafortunadamente.
No tengo instalado el NetworkManager. La iso está basada en Ubuntu 14.04.
Probablemente falta información vital. Estoy feliz de proporcionarlo.
ACTUALIZAR:
Creo que encontré el archivo que borra resolv.conf
.
Parece ser /usr/share/udhcpc/default.script
#!/bin/sh
# udhcpc script edited by Tim Riker <[email protected]>
[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1
RESOLV_CONF="/etc/resolv.conf"
[ - n "$broadcast" ] && BROADCAST="broadcast $broadcast"
[ -n "$subnet" ] && NETMASK="netmask $subnet"
case "$1" in
deconfig)
/bin/ifconfig $interface 0.0.0.0
for i in /etc/ipdown.d/*; do
[ -e $i ] && . $i $interface
done
;;
renew|bound)
/bin/ifconfig $interface $ip $BROADCAST $NETMASK
if [ -n "$router" ] ; then
echo "deleting routers"
while route del default gw 0.0.0.0 dev $interface ; do
:
done
metric=0
for i in $router ; do
route add default gw $i dev $interface metric $((metric++))
done
fi
echo -n > $RESOLV_CONF # Start ----------------
[ -n "$domain" ] && echo search $domain >> $RESOLV_CONF
for i in $dns ; do
echo adding dns $i
echo nameserver $i >> $RESOLV_CONF
done
for i in /etc/ipup.d/*; do
[ -e $i ] && . $i $interface $ip $dns
done # End ------------------
;;
esac
exit 0
Es parte del udhcpc
programa. Un pequeño cliente dhcp, que es parte debusybox
Investigará más a fondo.
ACTUALIZACIÓN2 Y SOLUCIÓN:
Comenté la parte (#Start to #End), que aparentemente sobrescribe el /etc/resolv.conf
archivo y efectivamente . Ese fue el culpable. Entonces, un guión oscuro causó todos estos problemas.
Cambié la pregunta para reflexionar, qué se necesitaba saber para resolver mi problema, por lo que sería más fácil encontrar a personas con el mismo problema y así podría aceptar una respuesta.
Gracias por la ayuda aquí para resolver las cosas.
fuente
Respuestas:
1) No debe actualizar manualmente su resolv.conf, porque todos los cambios serán sobrescritos por los datos que proporciona su servidor DHCP local. Si desea que sea estático, ejecute
sudo dpkg-reconfigure resolvconf
y responda "no" a las actualizaciones dinámicas. Si desea agregar nuevas entradas allí, editar/etc/resolvconf/resolv.conf.d/base
y ejecutarsudo resolvconf -u
, agregará sus entradas y las entradas del servidor DHCP.2) Intente editar sus / etc / network / interfaces y agregue sus entradas allí, como
y luego reiniciar
/etc/init.d/networking restart
osudo ifdown -a
ysudo ifup -a
3) Su sistema usa udhcp, que es un programa cliente DHCP muy pequeño. El cliente udhcp negocia una concesión con el servidor DHCP y notifica un conjunto de scripts cuando se obtiene o pierde una concesión. Puede leer sobre su uso aquí o simplemente editar este script (como lo hizo).
fuente
/etc/resolvconf/resolv.conf.d/base
y corríresolvconf -u
. No funcionó, desafortunadamente.dpkg-reconfigure resolvconf
. Las entradas no estaban allí. Y tengo entradas con ambosnameserver ip
ysearch domain
.dpkg-reconfigure resolvconf
no agregará entradas, pero puede deshabilitar las actualizaciones automáticas. Si deshabilita las actualizaciones, puede editar resolv.conf manualmente y no debe sobrescribirse.resolvconf -u
las entradas no se agregaron.Me encontré con esto también. Hacer comentarios
domain-name-server
no me lo solucionó tampoco.Además, no estoy usando
resolvconf
, simplemente/etc/resolv.conf
.No intenté usar
chattr +i
para bloquearresolv.conf
porque parece demasiado hacky. Además, quiero que Puppet pueda modificarresolv.conf
cuando sea necesario.La mejor solución que encontré anula el comportamiento predeterminado de
dhclient
usar sus ganchos documentados.Cree un nuevo archivo en
/etc/dhcp/dhclient-enter-hooks.d/nodnsupdate
con los siguientes contenidos:Luego haga que el archivo sea ejecutable:
Ahora, cuando se ejecuta dhclient, ya sea al reiniciar o cuando se ejecuta manualmente
sudo ifdown -a ; sudo ifup -a
, carga este scriptnodnsupdate
. Este script anula una función interna llamadamake_resolv_conf()
que normalmente sobrescribiríaresolv.conf
y, en cambio, no hace nada.Esto funcionó para mí en Ubuntu 12.04.
fuente
/etc/resolv.conf
se sobrescribió después del reinicio.Ubuntu 16.04
Si las interfaces de red para su instancia de servidor están controladas por DHCP, el programa dhclient sobrescribirá su/etc/resolv.conf
archivo cada vez que se reinicie el servicio de red.Puede solucionar el problema modificando el
/etc/dhcp/dhclient.conf
archivo y la adición de declaraciones “sustituyen” de dominio de nombre , dominio de búsqueda y de Nombres de Dominio-servidores de la siguiente manera:En este caso particular, el servidor de nombres se encuentra en "192.168.56.103" y el nombre de dominio es "local.com"
Tenga en cuenta que cada línea está terminada por un punto y coma y el nombre de dominio está entre comillas dobles.
fuente
/etc/resolv.conf
se sobrescribió con 127.0.0.53.dnsmasq
ir a este directorio:
Abra el archivo llamado head y coloque las direcciones IP o nombres DNS allí. Abra el archivo llamado tail y coloque el dominio allí. Reiniciar.
fuente
En máquinas virtuales de Azure /etc/resolv.conf no es directamente editable.
Intente agregar las entidades DNS en los archivos de configuración de su red / etc / sysconfig / network-scripts / ifcfg-eth0 y así sucesivamente como a continuación:
DOMINIO = ejemplo.com
DNS1 = 10. . . *
DNS2 = 10. . . *
DNS3 = 10. . . *
y reinicie el servicio de red después de guardar los archivos. verá que la configuración también se agregará a resolve.conf también.
fuente
Para que los cambios relacionados con DNS sean
resolv.conf
permanentes, debe cambiar el archivo de configuración de DHCP denominadodhclient.conf
. Puedes encontrar el archivo en/etc/dhcp/dhclient.conf
.Abra el archivo para editarlo (no olvide usar sudo). Verás líneas como estas:
Elimine el "#" anterior y use el nombre de dominio y / o los servidores de nombres de dominio que desee. Guárdalo Ahora los cambios relacionados con DNS serán permanentes.
Los créditos van a: https://itsfoss.com/resolvconf-permanent-ubuntu/
fuente
Use el siguiente comando para evitar que resolv.conf o cualquier archivo se sobrescriba después de reiniciar
nombre de archivo chattr -V + i, p. ej. chattr -V + i /etc/resolv.conf
Para revertir el cambio, use el siguiente comando:
chattr -i filename: para volver a habilitar la inserción en el archivo
chattr (Cambiar atributo) es una utilidad de Linux de línea de comandos que se usa para establecer / deshabilitar ciertos atributos en un archivo en el sistema Linux para asegurar la eliminación o modificación accidental de archivos y carpetas importantes, incluso si está conectado como usuario root.
fuente
chattr
, pero observó que esto no tuvo ningún efecto.En ubuntu 18.04 usando NetworkManager. Debe eliminar el archivo 'resolv.conf' y dejar que NetworkManager genere uno para usted.
Para eliminar el archivo en tipo de terminal
sudo rm -f /etc/resolv.conf
; esto eliminará el archivo por ti.Reinicie el sistema y NetworkManager generará un archivo resolv.conf para usted.
fuente