[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:44671] Re: <Q>一枚の NIC に IP アドレスを複数



関根です。

# 断定系で書くほど知識がありませんが…

From: MATSUDA Yoh-ichi / 松田陽一 <yoh@xxxxxxxx>
Date: Thu, 15 Sep 2005 12:42:10 +0900

> > > その昔、 IP エイリアスはカーネルのモジュールが必要でした。
> > > いつから標準的にサポートされるようになったのでしょう。
> > 
> > これは質問の意味がよく分かりません。
> 
> 「カーネルのモジュールを要せずに、 IP エイリアスがサポート
>   されるようになったのは、いつの頃からであるか」
> 
> という意味です。

これは Debian のカーネルでということですね。
これは私は分かりません。

> > > |     ( kernel 2.4.x では IP エイリアスは重要視されておらず、よりパワフル
> > >         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> > > |     なファイアーウォール機能に置き換わっています)。
> > >       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> > 2.4 系でネットワークスタックが変更になってて、本当のところ
> > 「IPエイリアス」というものはもう存在しません。今は
> > 1つの物理的なインタフェースに、複数のプロトコルアドレスを
> > 割り当てることができます。
> 
> 今一つ理解し切れていないのですが、
> 
> 「2.4 系でネットワークスタックの設計が変更され」た結果、物理インター
> フェースに「プロトコルアドレスを複数割り当てることができるようになっ
> た」。

ファイアーウォール機能の見直しを契機に(?)、netlink/rtnetlink
(man 7 netlink 参照)というカーネルインタフェースが追加になっ
てます。

ip コマンドはこの netlink/rtnetlink を使ってます。

> そのため、 2.2 系の IP エイリアスにあった、「メインの IP アドレス」
> に対する「サブの IP アドレス」という優先順位が存在しなくなった。
> したがって、「エイリアス」という言葉は適切ではなく、用いない。
> 
> しかし、単一の物理インターフェースに複数の IP アドレスを付与する機能
> は、 2.2 系以前と同様のユーティリティ書式によって利用可能である。

2.2 系まで、そして今も ifconfig がカーネルとのインタフェース
に使うのは ioctl (man 7 netdevice 参照) です。

# ifup がどっち使ってるかは知りません(汗

netlink を使う限り「エイリアス」はないものの、ioctl を使えば
エイリアス名を付けることはできるということ(のよう)です。

-- 
SEKINE Tatsuo:
 tsekine@xxxxxxxxxx    System Design & Research Inst. Co.,Ltd.