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 resolvconfet répondez "non" aux mises à jour dynamiques. Si vous souhaitez y ajouter de nouvelles entrées, modifiez/etc/resolvconf/resolv.conf.d/baseet exécutezsudo resolvconf -u, il ajoutera vos entrées et les entrées du serveur DHCP. -
Essayez de modifier votre
/etc/network/interfaceset 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).