web-dev-qa-db-ja.com

ifconfigの代わりにip addrを使用すると、Debianで「RTNETLINK回答:ファイルが存在する」と報告される

私はeth0wlan0を備えた無線ルーターとして動作するDebianシステムを持っています。 ifconfigを使用してeth1に手動でネットワークを追加しました:

 alix:〜#ifconfig eth1 192.168.0.2 netmask 255.255.255.0 
 alix:〜#netstat -rn 
 Kernel IP routing table 
 Destination Gateway Genmask Flags MSS Window irtt Iface 
 0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 eth0 
 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 
 192.168.2.0 0.0。 0.0 255.255.255.0 U 0 0 0 eth0 
 192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0 
 alix:〜#ping 192.168.0.254 
 PING 192.168.0.254 (192.168.0.254)56(84)バイトのデータ。
 64バイト(192.168.0.254から):icmp_req = 1 ttl = 64 time = 0.537 ms 
 64バイト(192.168.0.254から:icmp_req = 2) ttl = 64 time = 0.199 ms 
 192.168.0.254から64バイト:icmp_req = 3 ttl = 64 time = 0.188 ms 
 ^ C 
 --- 192.168.0.254 ping統計- -
 3パケット送信、3受信、0%パケット損失、時間2005ms 
 rtt min/avg/max/m dev = 0.188/0.308/0.537/0.161 ms 

ご覧のようにすべてが正常に動作します。

ここで、構成を永続的なものにしたいと思います。そのため、/etc/network/interfacesに次のセクションを追加しました。

 alix:〜#sed -n '/ iface eth1 /、/ ^ $/p' /etc/network/interfaces
iface eth1 inet static 
 address 192.168.0.2 
ネットマスク255.255.255.0 

しかし、ネットワークを起動しようとすると、次のエラーが発生します。

 alix:〜#ifconfig eth1 down 
 alix:〜#ifup -v eth1 
 interface eth1 = eth1(inet)
 run-parts --verbose/etc/network/if-pre-up.d 
 run-parts:/etc/network/if-pre-up.d/hostapd
ip addr add 192.168.0.2/255.255.255.0を実行しますブロードキャスト192.168.0.255 dev eth1ラベルeth1 
 RTNETLINKの回答:ファイルが存在します
失敗してeth1を起動できません。

ipコマンドを手動で実行すると、同じエラーが発生します。

 alix:〜#ip addr add 192.168.0.2/255.255.255.0 broadcast 192.168.0.255 dev eth1 label eth1 
 RTNETLINK回答:ファイルが存在します

コマンドの何が問題になっていますか?そして、どうすればDebianに正しいことをするように伝えることができますか?

58
ceving

申し訳ありませんが、私は自分でそれを手に入れました。起動する前にデバイスをフラッシュする必要がありました。

 alix:〜#ip addr flush dev eth1 

このように手動で設定したインターフェイス構成情報をクリアするのは Ubuntuサーバーガイドに記載 です。

86
ceving