Recebi os arquivos de um mini linux
, que é inicializado diretamente em firefox
. Funciona para tudo o que deveria estar fazendo, só que eu não recebo uma conexão com a internet.
Temos 3 servidores DNS na rede, todos funcionando. Eu também posso dar um ping neles. Mas ao tentar ping google.de
ou wget google.de
, recebo um erro bad address
.
nslookup google.de
funciona por algum motivo.
Eu rastreei o problema até meu resolv.conf
no sistema inicializado não tendo o mesmo conteúdo que o resolv.conf
que eu coloquei no arquivo .iso
.
Tentei entender todos os fatores envolvidos na criação e modificação de resolv.conf
. Não tenho certeza se tenho tudo, mas definitivamente não encontrei minha solução.
Então como um último esforço, tentei tornar o arquivo resolv.conf
imutável usando
:~# chattr +i /etc/resolv.conf
Ao recriar e inicializar novamente para minha surpresa, meu arquivo foi renomeado para resolv.conf~
e em seu lugar estava o mesmo arquivo padrão que tem me assombrado.
O conteúdo do arquivo me faz acreditar que obtém as informações da própria rede. Ao iniciar o .iso
no Virtualbox sem acesso à internet, meu arquivo está sendo mantido como está.
Eu tentei alterar /etc/dhcp/dhclient.conf
para não obter as informações da rede, excluindo domain-name-server
e domain-name-search
da parte request
do arquivo.
Não funcionou infelizmente.
Eu não tenho o NetworkManager instalado. O iso é baseado no Ubuntu 14.04.
Provavelmente há informações vitais em falta. Estou feliz em fornecer isso.
ATUALIZAÇÃO:
Acho que encontrei o arquivo que limpa 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
Faz parte do programa udhcpc
. Um pequeno cliente dhcp, que faz parte do busybox
Irá investigar mais.
UPDATE2 E SOLUÇÃO:
Comentei a parte (#Start to #End), que aparentemente sobrescreve o arquivo /etc/resolv.conf
e com certeza. Esse foi o culpado. Então, um script obscuro causou todo esse problema.
Eu mudei a pergunta para refletir, o que realmente precisava ser conhecido para resolver o meu problema, por isso seria mais fácil encontrar pessoas com o mesmo problema e assim eu poderia aceitar uma resposta.
Obrigado pela ajuda aqui em descobrir as coisas.