web-dev-qa-db-ja.com

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

これは私の /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と上記のエラーが発生します。

なにが問題ですか?

14
wolfgang

構成ファイルを編集して、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つのコマンドが同じ行で実行される方法に注意してください。また、念のため、サーバーコンソールにアクセスできるようにするか、問題が発生した場合にサーバーを再起動できるようにしてください。

8
dtoubelis

/ 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
alex

RTNETLINKエラーが発生しないようにするには、ここですべてのインターフェイスとブリッジを停止し、モジュールをアンロードする必要がありました。

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

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

1
Kurt

私はこの問題に遭遇しましたが、上記の解決策はどれもうまくいきませんでした。変更できませんでした/run/network/ifstateすぐに以前の状態にリセットされたため。またSudo ifdown eth0 && Sudo ifup eth0が機能しませんでした。

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

Sudo ip addr flush dev eth0

問題を解決しました。

0
digijay