ミニlinux
のファイルが渡されました 、firefox
を直接起動します 。それは私がインターネットに接続できないことだけを除いて、それがしなければならないすべてのために働きます。
ネットワークには3つのDNSサーバーがあり、すべてが機能します。私もpingできます。ただし、ping google.de
を実行しようとすると またはwget google.de
bad address
を取得しました エラー。
nslookup google.de
何らかの理由で機能します。
resolv.conf
まで問題を追跡しました 起動したシステムでresolv.conf
と同じ内容がない場合 .iso
に入れたもの ファイル。
resolv.conf
の作成と変更に関係するすべての要素を理解してみました 。すべてを理解できたかどうかはわかりませんが、解決策は見つかりませんでした。
それで、最後の努力として、私はresolv.conf
を作ってみました 使用して不変のファイル
:~# chattr +i /etc/resolv.conf
驚いたことに、再構築して再起動すると、ファイルの名前がresolv.conf~
に変更されました。 その代わりに、私を悩ませてきたのと同じ標準ファイルがありました。
ファイルの内容は、ネットワーク自体から情報を取得していると私に信じさせます。 .iso
を開始するとき インターネットにアクセスできないVirtualboxでは、ファイルはそのまま保持されます。
/etc/dhcp/dhclient.conf
を変更してみました domain-name-server
を削除して、ネットから情報を取得しないようにする およびdomain-name-search
request
から ファイルの一部。
残念ながら機能しませんでした。
NetworkManagerがインストールされていません。 isoはUbuntu14.04に基づいています。
おそらく重要な情報が欠落しています。喜んで提供させていただきます。
更新:
resolv.conf
をクリアするファイルを見つけたと思います 。
/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
これはudhcpc
の一部です プログラム。 busybox
の一部である小さなdhcpクライアント
さらに調査します。
UPDATE2とソリューション:
/etc/resolv.conf
を上書きしているように見える部分(#Startから#End)をコメントアウトしました ファイルと確かに。それが犯人でした。したがって、あいまいなスクリプトがこのすべての問題を引き起こしました。
問題を解決するために実際に知っておく必要があることを反映するように質問を変更しました。同じ問題を抱えている人を見つけやすくなり、答えを受け入れることができました。
ここで物事を理解するのに助けてくれてありがとう。
承認された回答:
-
resolv.conf
を手動で更新しないでください 、すべての変更は、ローカルDHCPサーバーが提供するデータによって上書きされるためです。静的にしたい場合は、sudo dpkg-reconfigure resolvconf
を実行します。 動的更新には「いいえ」と答えます。そこに新しいエントリを追加する場合は、/etc/resolvconf/resolv.conf.d/base
を編集します。sudo resolvconf -u
を実行します 、エントリとDHCPサーバーのエントリを追加します。 -
/etc/network/interfaces
を編集してみてくださいauto eth0 iface eth0 inet dhcp dns-search google.com dns-nameservers dnsserverip
次に、/etc/init.d/networking restart
を再起動します またはsudo ifdown -a
およびsudo ifup -a
- システムは、非常に小さなDHCPクライアントプログラムであるudhcpを使用しています。 udhcpクライアントはDHCPサーバーとリースをネゴシエートし、リースが取得または失われたときに
一連のスクリプトに通知します。ここでその使用法について読むか、このスクリプトを編集するだけです(行ったように)。