2008/6/20追記:
VLANとsnmpdを組み合わせて使うと問題が発生する場合がある。『snmpd: ioctl 35123 returned -1』を併せて読んで欲しい。
2008/6/25追記:
細かい手順を解説した。『続・snmpd: ioctl 35123 returned -1』にも眼を通してほしい。
前提条件
まずカーネル(kernel)がVLANに対応していけなればならない。Red Hat系の最近のOSであれば、普通にyumで入れたようなカーネルは最初からVLANに対応しているので問題ない。
次に、VLANインターフェースを作成するためのコマンド
vconfig
が必要だ。Red Hat系だと、vconfigというRPMパッケージに入っている。デフォルトでインストールされているはずだが、もしインストールされていなければ、yum install vconfigをrootで実行してインストールする。
最後に、ネットワークインターフェース。これがなければ話にならない(笑)。
あと、タグVLANに対応したL2SWも必要。この設定については、機器毎に違うので、各機器のマニュアルを参照してほしい。
ネットワーク全体設定
Red Hat系のOSでは、ネットワーク全体に対する設定を
/etc/sysconfig/network
で行う。ここには、(1)VLANを使用すること、(2)VLANインターフェースに対する命名規則の二つを宣言する。以下の行を追加する。VLAN=yes VLAN_NAME_TYPE=DEV_PLUS_VID最初の行はVLANを使用することの宣言、二行目は命名規則の宣言だ。命名規則には、以下の四種類が指定できる。例は、物理インターフェースeth0に対してVLAN ID 100を追加した場合ののVLANインターフェース名。
値 | 例 |
VLAN_PLUS_VID | vlan0100 |
VLAN_PLUS_VID_NO_PAD | vlan100 |
DEV_PLUS_VID | eth0.0100 |
DEV_PLUS_VID_NO_PAD | eth0.100 |
物理インターフェース設定
Red Hat系では、eth0に対する設定は、
/etc/sysconfig/network-scripts/ifcfg-eth0
で行う。通常、このファイルの中には、静的なIPアドレスか、ブートプロトコルかのいずれかが指定されいるが、eth0でVLANを使う場合にはeth0に直接IPアドレスを割当てることはしないため、この設定は削除する。DEVICE=eth0 BOOTPROTO=none ONBOOT=yes
VLANインターフェース設定
物理インターフェースと同様、VLANインターフェースの設定も
/etc/sysconfig/network-scripts
以下のifcfg-インターフェース名
というファイルの中で行う。命名規則にDEV_PLUS_VIDを指定した場合、eth0にVLAN ID 900を追加したいときには、/etc/sysconfig/network-scripts/ifcfg-eth0.0900
を作成し、以下のように記述する。DEVICE=eth0.0900 BOOTPROTO=static ONBOOT=yes IPADDR=192.168.1.1 NETMASK=255.255.255.0基本的に通常の
ifcfg-eth0
などと同様。ただし、命名規則にVLAN_PLUS_VIDやVLAN_PLUS_VID_NO_PADを選んだ場合は、PHYSDEV=eth0の様に、対応する物理インターフェースを指定する必要がある。なぜなら、前に指摘したとおり、VLANインターフェース名から対応する物理インターフェースを特定できないからだ。
参考
この手の設定パラメータを調べるには、
/etc/init.d
以下のスクリプトを眺めてみるとよい。ネットワークインターフェース設定に関しては、起動・停止に/etc/sysconfig/network-scripts/if{up,down}
が呼ばれることになるので、これらを覗く。VLANとXenを組合わせて使う・その1
VLANとXenを組合わせて使う・その2・VLAN設定l
VLANとXenを組合わせて使う・その3・Xenネットワーク
VLANとXenを組合わせて使う・その4・DomUインストール
VLANとXenを組合わせて使う・その5・仮想ブリッジが多い場合