On m'a donné les fichiers pour un mini linux
, qui démarre directement dans firefox
. Cela fonctionne pour tout ce qu'il devrait faire, sauf que je n'ai pas de connexion Internet.
Nous avons 3 serveurs DNS dans le réseau, qui fonctionnent tous. Je peux aussi leur envoyer un ping. Mais lorsque vous essayez de ping google.de
ou wget google.de
Je reçois une bad address
erreur.
nslookup google.de
fonctionne pour une raison quelconque.
J'ai suivi le problème jusqu'à mon resolv.conf
sur le système démarré n'ayant pas le même contenu que le resolv.conf
que j'ai mis dans le .iso
fichier.
J'ai essayé de comprendre tous les facteurs qui entrent dans la création et la modification de resolv.conf
. Je ne suis pas sûr d'avoir tout compris, mais je n'y ai certainement pas trouvé ma solution.
Donc, en dernier recours, j'ai essayé de faire le resolv.conf
fichier immuable à l'aide de
:~# chattr +i /etc/resolv.conf
Lors de la reconstruction et du redémarrage à ma grande surprise, mon fichier a été renommé resolv.conf~
et à sa place se trouvait le même fichier standard qui me hantait.
Le contenu du fichier me fait croire qu'il obtient les informations du réseau lui-même. Au démarrage du .iso
dans Virtualbox sans accès à Internet, mon fichier est conservé tel quel.
J'ai essayé de changer /etc/dhcp/dhclient.conf
pour ne pas obtenir les informations du net, en supprimant domain-name-server
et domain-name-search
de la request
partie du fichier.
N'a malheureusement pas fonctionné.
Je n'ai pas installé le NetworkManager. L'iso est basé sur Ubuntu 14.04.
Il manque probablement des informations vitales. Je suis heureux de vous le fournir.
MISE À JOUR :
Je pense avoir trouvé le fichier qui efface resolv.conf
.
Il semble être /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
Cela fait partie du udhcpc
programme. Un petit client DHCP, qui fait partie de busybox
Va enquêter plus avant.
MISE À JOUR2 ET SOLUTION :
J'ai commenté la partie (#Start to #End), qui écrase apparemment le /etc/resolv.conf
fichier et bien sûr. C'était le coupable. Donc, un script obscur a causé tous ces problèmes.
J'ai changé la question pour refléter ce qu'il fallait réellement savoir pour résoudre mon problème, afin qu'il soit plus facile à trouver pour les personnes ayant le même problème et que je puisse accepter une réponse.
Merci pour l'aide ici pour comprendre les choses.
Réponse acceptée :
-
Vous ne devez pas mettre à jour manuellement votre
resolv.conf
, car toutes les modifications seront écrasées par les données fournies par votre serveur DHCP local. Si vous voulez qu'il soit statique, exécutezsudo dpkg-reconfigure resolvconf
et répondez "non" aux mises à jour dynamiques. Si vous souhaitez y ajouter de nouvelles entrées, modifiez/etc/resolvconf/resolv.conf.d/base
et exécutezsudo resolvconf -u
, il ajoutera vos entrées et les entrées du serveur DHCP. -
Essayez de modifier votre
/etc/network/interfaces
et ajoutez-y vos entrées, commeauto eth0 iface eth0 inet dhcp dns-search google.com dns-nameservers dnsserverip
puis redémarrez /etc/init.d/networking restart
ou sudo ifdown -a
et sudo ifup -a
- Votre système utilise udhcp qui est un très petit programme client DHCP. Le client udhcp négocie un bail avec le serveur DHCP et notifie
un ensemble de scripts lorsqu'un bail est obtenu ou perdu. Vous pouvez en savoir plus sur son utilisation ici ou simplement modifier ce script (comme vous l'avez fait).