ifup実行時の「RTNETLINK回答:ファイルが存在する」の解決


43

新しいWi-Fiドングルを手に入れたときにこの問題が発生し、同じ問題を抱えている人が数人いました。基本的に、1つのインターフェイスが設定されていて、他のインターフェイスに切り替えたい場合、次のエラーがスローされます。

RTNETLINK回答:ファイルが存在する
eth0を起動できませんでした

または類似のもの。

/etc/network/interfaces ファイル:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 192.168.1.2
    netmask 255.255.255.0
    gateway 192.168.1.1

iface wlan0 inet static
    address 192.168.1.3
    netmask 255.255.255.0
    gateway 192.168.1.1

1
Linuxでは複数のデフォルトゲートウェイを使用できません。特に、2つの異なるインターフェイスに同じデフォルトゲートウェイを設定することはできません。また、2つの異なるインターフェイスで同じネットワークを使用することはできません。
セビング

@cevingは、同じネットワーク内に2つのインターフェイスが存在しても問題ありません。これらの2つのインターフェイスが同じゲートウェイを持っている場合も問題はありません。ルーティングテーブルは厳密な方法で解析され、エントリがあると想像できますdestination IP -> interface。したがって、ルーティングテーブルで最初に(下から)解析するインターフェイスを介してゲートウェイに送信されます。
ジョージ

IPV6を扱う場合は、常にネットワーク長を追加します:xxxx:xxxx:... :: 1/64アドレス
fcm

回答:


46

@ theoB610が提供する解決策がまだ機能しない場合は、およびのwlan0前にデバイスをフラッシュする必要がifupありifdownます。

sudo ip addr flush dev wlan0

これは、Raspberry Piに固有の問題ではありません。同様の問題が発生し、ここで有線ネットワークで解決されまし(そこからPiでの問題の解決策を導き出しました)。


1
HP ProLiantサーバー(!)でこの問題が発生していましたが、修正されました。
須藤

1
素晴らしい解決策。基本的な問題は、自動または手動の以前の構成(cmd行からifconfigを実行するなど)がまだ残っていることです。flushコマンドはその状況を修正します。
kmarsh

1
/etc/sysconfig/network-scripts/ifcfg-*NetworkManagerがいくつかのセットアップを好み、代わりのファイルを作成せず、複数の余分なファイルを作成してエラーを引き起こしたため、不正なファイルが存在する場合、この問題が発生しましたRTNETLINK answers: File exists。壊れたもの(プロファイルとして表示されないもの)を削除することは修正のようです。
ウィルフ

2
これを運用サーバーにコピーアンドペーストしないでください。wlan0をeth0に置き換えましたが、インターフェースがすぐにダウンしたため、戻りたくありません。
フッセルディエブ

1
興味深いのは、誰も最も単純で、最も安全な方法を提供していないことですreboot。たとえば、インターフェイスをフラッシュすると、トラブルが発生しました-インターフェイス/ IPがダウンし、コンソールに直接接続することしかできませんでした...
スタンスター

24

ifup(Lennartのウェブログ)を実行するときに「RTNETLINKの回答:ファイルが存在する」解決することで解決策が見つかると思います。それは確かに私のためにそれを修正しました。

基本的に、interfacesファイルで割り当てられるゲートウェイは1つだけです。ゲートウェイを決定する重複行を削除して、ゲートウェイが1回だけ表示されるようにします。

変更された / etc / network / interfacesファイル:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 192.168.1.2
    netmask 255.255.255.0
    gateway 192.168.1.1

iface wlan0 inet static
    address 192.168.1.3
    netmask 255.255.255.0
    #gateway 192.168.1.1  <= Either comment or remove this line

この問題を解決したのは、レナートの功績です!


Googleでこの答えに出くわしました。これが、Hyper-V上のUbuntu VMで私にとってうまくいったことです
-abhijit

8

私が解決した:

sudo ifup --ignore-errors wlan0

このコマンドの後、ifdownとifupが正常に動作します。


これは、「サービスネットワーキングの再起動」が失敗した後に役立ちます、ありがとう。:)
アダムビーン

1

手順:

1チェック-> ip route(IPルートのデフォルトが必要なインターフェース以外の場合は、2dおよび3番目のステップに従います)

2 sudo ip route del default(そのデフォルトインターフェイスを削除)

3 sudo ip route add default via ip_address dev interface_name(必要なインターフェースをこのように追加します)


0

私の場合、別の接続がまだ実行されていました。ifdowneth0でそのインターフェイスを停止すると、興味のある接続(wlan0)が正常に起動しました。

--ignore-errorsオプションの使用はお勧めしません


0

VMWare vCenterをいじりながら、私はこれに出くわしました。同じボートを使用している場合は、VMのテンプレート/スナップショットを作成する前に、パッケージマネージャーでVMWare Tools、perl、およびnet-toolsをインストールしておく必要があります。


-1

強制的な構成解除

ifdown --force --verbose ethX && ifup --force --verbose ethX
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.