普通、Linuxのネットワークインターフェースにはeth0などの名前が付いている。これには、
ifconfig
を使ってIPアドレスを割当てたりすることが可能だ。しかし、一つのインターフェースには一つのIPアドレスしか割当てられない。一つの物理インターフェースに複数のアドレスを割当てるにはどうすればよいか?その一つの回答が「サブインターフェース」だ。例えば、Linux boxが、192.168.55/24のネットワークに接続されていたとしよう。接続しているインターフェースのデバイスは、eth0だ。このeth0には、192.168.55.6というアドレスが割当てられているとする。これに加えて、192.168.55.7というアドレスを追加したい。
答は簡単で、eth0に対するサブインターフェース対して
ifconfig
でアドレスを割当ててやればよい。サブインターフェース名は、物理インターフェース名と、1~255のサブインターフェース番号を「:」でつないだもの(例えばeth0:1)で指定する。# ifconfig eth0:1 192.168.55.7 netmask 255.255.255.0確認のため
ifconfig
コマンドを引数なしで起動すると、次のような結果を得る。eth0:1 Link encap:Ethernet HWaddr XX:XX:XX:XX:XX:XX inet addr:192.168.55.7 Bcast:192.168.55.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1この状態を起動時から有効にするには、
/etc/sysconfig/network-scripts/ifcfg-eth0:1
のようなファイルを作ればよい。書式は、物理インターフェースの設定ファイル(/etc/sysconfig/network-scripts/ifcfg-eth0
など)と同じだが、HWADDR
などは指定しない。サブインターフェースの使用に関しては、注意しなければならない点がある。『NTPDの謎』で指摘した問題だが、UDPのサーバ(NTPサーバなど)を使用する場合に、サブインターフェースを使っていると、正しく通信できない場合がある。詳しくは、前の記事を読んで欲しい。
なお、物理インターフェースに複数のIPアドレスを割当てる方法は他にもある。例えば、物理インターフェースをIEEE802.1qタグVLAN(Tag VLAN)インターフェースとして設定する方法だ。これについてはいずれ書きたい。
0 件のコメント:
コメントを投稿