2011/03/13(Sun)Fedora/CentOSでの802.1qVLANの設定方法
2011/03/13 0:53
VLANモードを有効に
まずは/etc/sysconfig/networkにVLANを使用するように、以下の設定を加える。VLAN=yes VLAN_NAME_TYPE=DEV_PLUS_VID_NO_PADなお、yesという部分を大文字とかにしていると、networkサービス起動時に立ち上げに失敗して通信できないので、注意。(BSDのノリで大文字で書いたら、ココでハマった)
VLAN_NAME_TYPEの設定値には以下のようなものがあり、インターフェース名の命名規則・設定ファイル(/etc/sysconfig/network-scripts/ifcfg-***)が変わってくるので、希望するものを書いておく。
- VLAN_PLUS_VID
- vlan0123
- VLAN_PLUS_VID_NO_PAD
- vlan123
- DEV_PLUS_VID
- eth0.0123
- DEV_PLUS_VID_NO_PAD
- eth0.123
VLAN設定を追加
今回は、DEV_PLUS_VID_NO_PADという設定にしたので、例えばVLAN 123であれば/etc/sysconfig/network-scripts/ifcfg-eth0.123という設定ファイルを作成する。DEVICE=eth0.123 PHYSDEV=eth0 BOOTPROTO=static HWADDR=xx:xx:xx:xx:xx:xx ONBOOT=yes TYPE=Ethernet USERCTL=no PEERDNS=yes IPADDR=xxx.xxx.xxx.xxx NETMASK=xxx.xxx.xxx.xxx GATEWAY=xxx.xxx.xxx.xxx IPV6INIT=yes IPV6_AUTOCONF=no IPV6ADDR=xxxx:xxxx:xxxx:xxxx::xxxx/64 IPV6_DEFAULTGW=xxxx:xxxx:xxxx:xxxx::xxxxポイントとしては、DEVICEの値をVLAN_NAME_TYPEで指定した記述方法で書き換えること。
ただし、VLAN_PLUS_VIDやVLAN_PLUS_VID_NO_PADの場合は、名前から物理インタフェースを特定できないのでPHYSDEVという値に物理インタフェース名を指定することが必須。
VLANを使わない設定から切り替える場合、基本は/etc/sysconfig/network-scripts/ifcfg-eth0からコピーして上記のポイントを変更するだけでよい。ただし、VLANを使わない設定の時のifcfg-eth0などのONBOOTはnoにしておくこと。
設定を適用
CentOSの場合は# service network restart インターフェース eth0.123 を終了中: Removed VLAN -:eth0.123:- [ OK ] インターフェース eth0.456 を終了中: Removed VLAN -:eth0.456:- [ OK ] ループバックインターフェースを終了中 [ OK ] ループバックインターフェイスを呼び込み中 [ OK ] 802.1Q VLAN パラメーターを設定中: Set name-type for VLAN subsystem. Should be visible in /proc/net/vlan/config [ OK ] インターフェース eth0.123 を活性化中: Added VLAN with VID == 123 to IF -:eth0:- [ OK ] インターフェース eth0.456 を活性化中: Added VLAN with VID == 456 to IF -:eth0:- [ OK ]となればOK。VLANという文字列が見えなければ、/etc/sysconfig/networkの設定がVLANモードとして正しく設定されていないことが原因なので、大文字小文字やスペルミスなど、じっくりチェックを。
Fedoraの場合は特にVLAN云々とは表示されないが大丈夫。
# service network restart インターフェース eth0 を終了中: [ OK ] ループバックインターフェースを終了中 [ OK ] ループバックインターフェイスを呼び込み中 [ OK ] インターフェース eth0.123 を活性化中: [ OK ] インターフェース eth0.456 を活性化中: [ OK ]
/proc/net/vlan/config
ちなみに/proc/net/vlan/configは、こんな感じ。VLAN Dev name | VLAN ID Name-Type: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD eth0.123 | 123 | eth0 eth0.456 | 456 | eth0