Recebi os arquivos de um mini linux
, que inicializa diretamente firefox
. Funciona para tudo o que deveria estar fazendo, só que eu não tenho conexão com a Internet.
Temos 3 servidores DNS na rede, todos funcionando. Eu também posso fazer ping. Mas ao tentar ping google.de
ou wget google.de
recebo um bad address
erro.
nslookup google.de
funciona por algum motivo.
Rastreei o problema até o meu resolv.conf
no sistema inicializado, sem o mesmo conteúdo resolv.conf
que coloquei no .iso
arquivo.
Tentei entender todos os fatores envolvidos na criação e modificação resolv.conf
. Não tenho certeza de ter conseguido tudo, mas definitivamente não encontrei minha solução lá.
Então, como último esforço, tentei tornar o resolv.conf
arquivo imutável usando
:~# chattr +i /etc/resolv.conf
Ao reconstruir e inicializar novamente para minha surpresa, meu arquivo foi renomeado resolv.conf~
e, em seu lugar, estava o mesmo arquivo padrão que me assombrava.
O conteúdo do arquivo me faz acreditar que obtém as informações da própria rede. Ao iniciar o .iso
Virtualbox sem acesso à Internet, meu arquivo está sendo mantido como está.
Tentei mudar /etc/dhcp/dhclient.conf
para não obter as informações da rede, excluindo domain-name-server
e domain-name-search
da request
parte do arquivo.
Infelizmente não funcionou.
Não tenho o NetworkManager instalado. O iso é baseado no Ubuntu 14.04.
Provavelmente faltam informações vitais. Estou feliz em fornecê-lo.
ATUALIZAR:
Acho que encontrei o arquivo que limpa resolv.conf
.
Parece ser /usr/share/udhcpc/default.script
#!/bin/sh
# udhcpc script edited by Tim Riker <Tim@Rikers.org>
[ -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
Faz parte do udhcpc
programa. Um pequeno cliente dhcp, que faz parte dobusybox
Irá investigar mais.
ATUALIZAÇÃO2 E SOLUÇÃO:
Comentei a parte (#Start to #End), que aparentemente sobrescreve o /etc/resolv.conf
arquivo e com certeza. Esse foi o culpado. Portanto, um script obscuro causou todo esse problema.
Alterei a pergunta para refletir, o que realmente precisava ser conhecido para resolver meu problema, para que fosse mais fácil encontrar pessoas com o mesmo problema e para que eu pudesse aceitar uma resposta.
Obrigado pela ajuda aqui para descobrir as coisas.