eth0(メインインターフェイス)をダウンできません。

eth0(メインインターフェイス)をダウンできません。

ifdownDebian 6.0.5ではインターフェイスを構築できません。

user@box:/etc/network$ sudo ifdown eth0 && sudo ifup eth0
ifdown: interface eth0 not configured
SIOCADDRT: File exists
Failed to bring up eth0.

user@box:/etc/network$ cat interfaces 
auto lo
iface lo inet loopback

allow-hotplug eth0 
allow-hotplug eth1 

auto eth0
iface eth0 inet static
address 10.0.0.1
netmask 255.255.255.0
gateway 10.0.0.254

auto eth1
iface eth1 inet manual

Marcoの要求に応じて:

user@box:/etc/network/$ cat /run/network/ifstate 
lo=lo
eth1=eth1

答え1

ファイルの内容を確認してください/run/network/ifstateifupそして、ifdownこのファイルを使用して、どのネットワークインターフェイスをオンまたはオフにできるかを記録します。そのため、ifup他のWebツールを使用してインターフェイスを起動すると混乱しやすくなります(例ifconfig:)。

~から男なら

プログラムは、ネットワークインタフェースが開いているか閉じているかを記録します。特別なケースでは、これらの履歴がインターフェイスの実際の状態と一致しない可能性があります。たとえば、ifupを使用してインポートされたインターフェイスが後で設定解除された場合は、まだ機能していると記録されますifconfig。この問題を解決するには、このオプションを使用して、インターフェイスの現在の状態に関係なく、構成または構成解除コマンドを--force強制的に実行またはifup 実行できます。ifdown

答え2

ifdownおそらく不要な多くのタスクを実行する高度なプログラムです。また、どこでも使用できるわけではありません。より移植性の高い方法が役立つことがあります。

$ sudo ifconfig eth0 down

そうでない場合は、ifupいくつかの構成問題がある可能性があります。この場合、手動で上げることが正しいifconfig eth0 upオプションではない可能性があります。 Debian ではifupバイナリ実行ファイルなので、straceどこで停止するのかを調べるには、これを調べる必要があります。

$ sudo strace -e open ifup eth0

これにより、作業中にどのファイルが開かれているかがわかります。ifupこれにより問題が発生する可能性があります。

他のシステム(RHELやその派生システムなど)ではifupシェルスクリプトなので、デバッグははるかに簡単です。

# sh -x `which ifup` eth0

シェルスクリプトを実行すると、実行中のsh -xすべての行が印刷されるため、実行を追跡できます。

答え3

以前は、ethXが.netで正しく設定されていないときにこれが発生することを見たことがあります /etc/network/interfaces。これには次のものが必要です。 -

auto eth0
   iface eth0 inet dhcp

ファイルが正しく構成されていない場合でも、/etc/network/interfaces次のコマンドを使用してeth0を終了できます。

$ sudo ip link set eth0 down

答え4

に追加してください。eth0=eth0これは/run/network/ifstate私にとって効果的です

関連情報