忍者ブログ
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

CentOS5から6への移行の際、VLAN設定でつまづいたのでメモ。

CentOS5で、VLANを利用する際,以下の設定をしていたが、CentOS6ではできなかった。
■/etc/sysconfig/network
VLAN=yes
VLAN_NAME_TYPE=DEV_PLUS_VID

■/etc/sysconfig/network-scripts/ifcfg-bond0.0032
DEVICE=bond0.0032
ONBOOT=yes
BOOTPROTO=static
IPADDR=10.1.232.19
NETMASK=255.255.255.0

この状態で、/etc/init.d/network start すると
■/proc/net/vlan/config
VLAN Dev name    | VLAN ID
Name-Type: VLAN_NAME_TYPE_RAW_PLUS_VID
bond0.0032       | 26  | bond0

と、意図していないVLANIDが割りあたってしまう。

とりあえず、ifcfg-bond0.32を、以下のように0032から32に変更することで正常になった。
DEVICE=bond0.32
ONBOOT=yes
BOOTPROTO=static
IPADDR=10.1.232.19
NETMASK=255.255.255.0

どうやら /sbin/ifup内部の処理で、以下のようなコマンドが発行されてしまうためのようだ。
ip link add dev bond0.0032 link bond0 type vlan id 0032

sh -x  /sbin/ifup bond0.0532を実行して処理を追うと、CentOS5では/sbin/vconfig でVLANの登録をしていて、vconfigの引数として、$VIDに正しく532が入っていた。

/sbin/ifupのバグか?

【CentOS5での実行結果】
~省略~
+ VID=
+ MATCH='^(eth|hsi|bond)[0-9]+\.[0-9]{1,4}$'
+ [[ bond0.0532 =~ ^(eth|hsi|bond)[0-9]+\.[0-9]{1,4}$ ]]
++ echo bond0.0532
++ LC_ALL=C
++ sed 's/^[a-z0-9]*\.0*//'
+ VID=532
+ PHYSDEV=bond0
+ [[ bond0.0532 =~ \^vlan\[0-9]\{1,4}\? ]]
+ '[' -n 532 ']'
+ '[' '!' -d /proc/net/vlan ']'
+ test -z DEV_PLUS_VID
+ /sbin/vconfig set_name_type DEV_PLUS_VID
+ is_available bond0
+ '[' -z bond0 ']'
+ '[' -d /sys/class/net/bond0 ']'
+ return 0
+ check_device_down bond0
+ LC_ALL=C
+ ip -o link show dev bond0
+ grep -q ,UP
+ return 1
+ '[' '!' -f /proc/net/vlan/bond0.0532 ']'
+ /sbin/vconfig add bond0 532
Added VLAN with VID == 532 to IF -:bond0:-
~省略~

【CentOS6.2での実行結果】
~省略~
+ VID=
+ MATCH='^.+\.[0-9]{1,4}$'
+ [[ bond0.0532 =~ ^.+\.[0-9]{1,4}$ ]]
++ echo bond0.0532
++ LC_ALL=C
++ sed 's/^.*\.\([0-9]\+\)/\1/'
+ VID=0532
+ PHYSDEV=bond0
+ MATCH='^vlan[0-9]{1,4}?'
+ [[ bond0.0532 =~ ^vlan[0-9]{1,4}? ]]
+ '[' -n 0532 ']'
+ '[' '!' -d /proc/net/vlan ']'
+ is_available bond0
+ '[' -z bond0 ']'
+ '[' -d /sys/class/net/bond0 ']'
+ return 0
+ check_device_down bond0
+ LC_ALL=C
+ ip -o link show dev bond0
+ grep -q ,UP
+ return 1
+ '[' '!' -f /proc/net/vlan/bond0.0532 ']'
+ '[' '' = no -o '' = 0 ']'
+ ip link add dev bond0.0532 link bond0 type vlan id 0532
~省略~
PR
COMMENT
name
title
text
color   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
mail
URL
pass
secret
PREV ←  HOME
Copyright (C) 2017 技ブロ All Rights Reserved.
Photo by 戦場に猫 Template Design by kaie
忍者ブログ [PR]