Dostal jsem soubory pro mini linux
, který se spouští přímo do firefox
. Funguje to pro všechno, co by měl dělat, jen nemám připojení k internetu.
V síti máme 3 DNS servery, které všechny fungují. Můžu jim taky pingnout. Ale při pokusu o ping google.de
nebo wget google.de
Zobrazuje se mi bad address
chyba.
nslookup google.de
z nějakého důvodu funguje.
Vysledoval jsem problém na můj resolv.conf
na spouštěném systému, který nemá stejný obsah jako resolv.conf
které jsem vložil do .iso
soubor.
Snažil jsem se porozumět všem faktorům, které se týkají vytváření a úprav resolv.conf
. Nejsem si úplně jistý, že jsem to všechno pochopil, ale rozhodně jsem tam nenašel své řešení.
Takže jako poslední pokus jsem zkusil vytvořit resolv.conf
soubor neměnný pomocí
:~# chattr +i /etc/resolv.conf
Při přestavbě a opětovném spuštění k mému překvapení byl můj soubor přejmenován na resolv.conf~
a na jeho místě byl stejný standardní soubor, který mě pronásleduje.
Obsah souboru mě nutí věřit, že získává informace ze samotné sítě. Při spouštění .iso
ve Virtualboxu bez přístupu k internetu je můj soubor uchováván tak, jak je.
Zkusil jsem změnit /etc/dhcp/dhclient.conf
abyste nezískali informace ze sítě, smažte domain-name-server
a domain-name-search
z request
část souboru.
Bohužel nefungovalo.
Nemám nainstalovaný NetworkManager. Iso je založeno na Ubuntu 14.04.
Pravděpodobně chybí zásadní informace. Rád vám to poskytnu.
AKTUALIZACE:
Myslím, že jsem našel soubor, který vymaže resolv.conf
.
Zdá se, že je to /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
Je součástí udhcpc
program. Malý dhcp klient, který je součástí busybox
Bude dále vyšetřováno.
AKTUALIZACE2 A ŘEŠENÍ:
Okomentoval jsem část (#Start to #End), která zdánlivě přepisuje /etc/resolv.conf
soubor a jistě. To byl viník. Takže všechny tyto potíže způsobil neznámý skript.
Změnil jsem otázku tak, aby odrážela, co je vlastně potřeba znát k vyřešení mého problému, aby to bylo snazší najít pro lidi se stejným problémem a mohl jsem přijmout odpověď.
Děkujeme za pomoc při zjišťování věcí.
Přijatá odpověď:
-
Soubor
resolv.conf
byste neměli ručně aktualizovat , protože všechny změny budou přepsány daty, které poskytuje váš místní server DHCP. Pokud chcete, aby byl statický, spusťtesudo dpkg-reconfigure resolvconf
a na dynamické aktualizace odpovězte „ne“. Pokud tam chcete přidat nové položky, upravte/etc/resolvconf/resolv.conf.d/base
a spusťtesudo resolvconf -u
, připojí vaše záznamy a záznamy serveru DHCP. -
Zkuste upravit
/etc/network/interfaces
a přidejte tam své položky, jako jeauto eth0 iface eth0 inet dhcp dns-search google.com dns-nameservers dnsserverip
a poté restartujte /etc/init.d/networking restart
nebo sudo ifdown -a
a sudo ifup -a
- Váš systém používá udhcp, což je velmi malý klientský program DHCP. Klient udhcp vyjedná pronájem se serverem DHCP a upozorní
sadu skriptů na získání nebo ztrátu pronájmu. O jeho použití si můžete přečíst zde nebo tento skript jednoduše upravit (jak jste to udělali vy).