2012年5月16日水曜日

メモ タグVLAN(vconfig)


このエントリーをはてなブックマークに追加


Linux上でタグVLANのメモ。

CentOS6.2で確認(RHEL6.x, SL6.xもたぶん一緒)


VLANを有効にするにはkernelに8021qモジュールがロードされている必要がある。

# lsmod |grep 8021q

手動でロードしてもいいが・・・
# modprobe 8021q
# lsmod |grep 8021q
8021q                  23575  0
garp                    7344  1 8021q

起動時に毎回有効にするには、/etc/sysconfig/network へ以下を追記し、再起動
VLAN=yes
VLAN_NAME_TYPE=DEV_PLUS_VID_NO_PAD

VLAN_NAME_TYPE には追加されるVLANインターフェスの命名規則を指定する。

vconfig −hより
* name-type:
VLAN_PLUS_VID (vlan0005),
VLAN_PLUS_VID_NO_PAD (vlan5),
DEV_PLUS_VID (eth0.0005),
DEV_PLUS_VID_NO_PAD (eth0.5)

これで、

/etc/sysconfig/network-scripts/ifcfg-eth0.XXX

このような形式のファイルを作ると起動時に自動でVLANインターフェースが追加される。XXX部分がタグ。
ファイルの内容は通常のifcfg-ethXと同じ。


コマンドでVLANを追加するには、vconfigコマンドを利用する。

# yum install vconfig

以下の2台のノードはKVMで同一仮想スイッチ(virbr0)に接続されている。
(LinuxのブリッジデバイスはタグVLANをスルーする)

[root@node1 ~]# vconfig add eth0 100
[root@node1 ~]# ifconfig eth0.100 10.0.100.1 netmask 255.255.255.0 up

[root@node2 ~]# vconfig add eth0 100
[root@node2 ~]# ifconfig eth0.100 10.0.100.2 netmask 255.255.255.0 up

[root@node1 ~]# ping 10.0.100.2 → OK
[root@node2 ~]# ping 10.0.100.1 → OK



[root@node1 ~]# vconfig add eth0 200
[root@node1 ~]# ifconfig eth0.200 10.0.200.1 netmask 255.255.255.0 up

[root@node2 ~]# vconfig add eth0 201 ← あえて異なるタグをつけている
[root@node2 ~]# ifconfig eth0.201 10.0.201.2 netmask 255.255.255.0 up

[root@node1 ~]# ping 10.0.200.2 → NG
[root@node2 ~]# ping 10.0.200.1 → NG

接続上は通信できるが、異なるタグがついてしまっているため通信できなくなっている。

0 件のコメント:

コメントを投稿