「RTNETLINKの回答:ファイルが存在します」/ etc / network / interfaces 2つのゲートウェイが含まれていないので、何が問題なのですか?


13

これは私の/etc/network/interfacesファイルの内容です

これが有効になる唯一の方法は、システムの再起動時です。

私はそれを手動で有効にしようとしています。以下の私の試み。

auto eth0
    iface eth0 inet static
           address 192.168.1.57
           netmask 255.255.255.0
           gateway 192.168.1.1
           up ip addr add 192.168.0.57/24 dev eth0 label eth0:1
           down ip addr del 192.168.0.57/24 dev eth0 label eth0:1
           up ip route add 192.168.0.0/24 via 192.168.0.1 dev eth0:1 metric 20
           down ip route del 192.168.0.0/24 via 192.168.0.1 dev eth0:1 metric 20

最初に実行しようとした sudo ifup eth0

そして私は受け取ります

RTNETLINK answers: File exists
Failed to bring up eth0.

/etc/network/interfaces唯一の仕事私はシステムを再起動したときに

それ以外は私が試した

sudo /etc/init.d/networking restart

sudo service network-manager restart

sudo service networking restart

しかし、それらのどれもinterfacesファイルの変更を表示しません

私の唯一のオプションはsudo ifup eth0、上記のエラーを提供していました。

なにが問題ですか?

回答:


7

構成ファイルを編集して、ifaceスタンザの前のスペースを削除して、次のようにします。

auto eth0
iface eth0 inet static
   address 192.168.1.57
   netmask 255.255.255.0
   gateway 192.168.1.1
   up ip addr add 192.168.0.57/24 dev eth0 label eth0:1
   down ip addr del 192.168.0.57/24 dev eth0 label eth0:1
   up ip route add 192.168.0.0/24 via 192.168.0.1 dev eth0:1 metric 20
   down ip route del 192.168.0.0/24 via 192.168.0.1 dev eth0:1 metric 20

表示されるメッセージは、インターフェイスがすでに起動していることを示しているだけなので、実行ifdownする前に実行する必要がありますifup。ただし、ssh経由で接続している場合は注意する必要があります。ロックアウトする場合があります。これはそれを行う方法です:

sudo ifdown eth0 && sudo ifup eth0

これら2つのコマンドが同じ行で実行される方法に注意してください。念のため、サーバーコンソールにアクセスできることを確認するか、何か問題が発生した場合はサーバーを再起動してください。


3
実行sudo ifdown eth0するifdown: interface eth0 not configuredと、sudo ifdown eth0を実行し、ifup eth0を実行すると、同じ結果が得られます。
wolfgang15年

1
@wolfgang、ファイル内のifaceスタンザの前にスペースを削除して、もう一度やり直してください。/etc/network/interfacesifdown/ifup
dtoubelis

これはうまくいきました!前にスペースがそんなに大したことifaceを作成することを期待しませんでした。これをあなたの答えに編集して、誰かを助けることができますか?そして、sudo前にある必要がありますifup-> sudo ifdown eth0 && sudo ifup eth0そうでなければ、いくつかのpermission deniedエラーが発生します
-wolfgang

1

/ run / network / ifstateを探して、目的のethが表示されない場合は、eth(n)= eth(0)を追加して変更します。

例:

$ cat /run/network/ifstate 
eth0=eth0
lo=lo
eth3=eth3
eth1=eth1

その後、コマンドsudo ifdown eth(n)を使用してから、sudo ifup eth(n)を使用します。


1

ここで終わった他の人には、すべてのインターフェイスとブリッジを停止し、RTNETLINKエラーがなくなる前にモジュールをアンロードする必要がありました。

ifconfig eth0 down
ifconfig br0 down
rmmod e1000e              # or whatever module your nic uses
modprobe e1000e
service networking start

または単に再起動します。


0

私はこの問題にぶつかりましたが、上記の解決策はどれもうまくいきませんでした。/run/network/ifstateすぐに元の状態にリセットされたため、変更できませんでした。また、動作sudo ifdown eth0 && sudo ifup eth0しませんでした。

その後、次のコマンドを見つけました。

sudo ip addr flush dev eth0

問題を解決しました。

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