2006.08.25

Debianでネットワークインターフェイスを削除する方法

Debianでネットワークインターフェイスを追加する場合には、
/etc/network/interface にインターフェイス名、IPアドレス等の設定を
記述しネットワークを再起動すれば、追加したインターフェイスも有効になります。

削除する時には、/etc/network/interface から該当の設定を削除し、
ネットワークを再起動すれば、新しい設定が反映されると思っていました。

しかし実際には、設定を削除してネットワークの再起動をすると

Setting up IP spoofing protection: rp_filter.
Reconfiguring network interfaces...Ignoring unknown interface eth2=eth2.
ifup: interface lo already configured
done.

のような、メッセージが表示されeth2は残ったままになります。
Rebootすれば設定が反映されますが、実際に稼動しているサーバでそれをやってしまったら
数分の間、ユーザがアクセスできなくなってしまいます。

設定ファイルをいろいろ見たところ、/etc/network/ifstate ファイル
からも削除対象のインタフェイス名を削除する必要があるようです。

これでサーバをRebootすることなく、ネットワーク設定の変更が出来るようになりました。

後で気づいたことですが、ifstate ファイルを直接編集しなくても
ifdown [インターフェイス名] というコマンドで対象のネットワークを落とすことが出来るようです。
その後に、/etc/network/interface を編集して、ネットワークを再起動
すると正しく設定が反映されます。

間違って ifdown -a (全て対象)としてしまうと、データセンターに
ダッシュで向かわなければいけないので注意しましょう。

参考:http://www.annodex.net/cgi-bin/man/man2html?8+ifdown

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

photo
nishimaki