タグVLANで実現できないか検証してみました。
# 参考にしたサイト
http://dsas.blog.klab.org/archives/50408097.html
http://ken-etsu-tech.blogspot.com/2007/05/vlanxen2.html
http://www.techonia.com/create-vlan-on-linux-with-cisco-catalyst-switch
#### 環境
### SL6
# bridgeするインターフェース
eth1
# ゲストのセグメント
192.168.90.0/24
192.168.91.0/24
# ゲストに割り振るIP
192.168.90.2
192.168.91.2
## NW機器(catalyst3560)
# trunkするポート
FastEther 0/5
VLAN ID switch側のIF:IP
10 FastEther 0/1:192.168.90.1
20 FastEther 0/2:192.168.91.1
SL6のeth1とcatalyst3560の5番portをLANケーブルで接続する
#### 設定
### catalyst3560の設定
## SL6が動作しているホストと物理的にLANケーブルで接続するポートに
## タグVLANの設定を入れる
# カプセル化の指定
(config-if)#switchport trunk encapsulation dot1q
# trunkの設定
(config-if)#switchport mode trunk
# ipアドレスの設定を外す
(config-if)#no ip address
# vlan10と20のパケットのみ許可
(config-if)#switchport trunk allowed vlan 10,20
### SL6の設定
## VLAN設定コマンド vconfigのインストール
yum install vconfig.x86_64
## eth0は運用で使用しているので、eth1で検証
# eth1用のbridge作成
brctl addbr br1 ## bridge作成
# eth1をbr1に追加
brctl addif br1 eth1 ## eth1をbr1に追加
## br1のインターフェースの設定
## IPADDRは設定しない。というかしちゃだめっぽい。
DEVICE="br1"
ONBOOT=yes
HWADDR=xx:xx:xx:xx:xx:xx
TYPE=Bridge
BOOTPROTO=none
NAME="System eth1"
## eth1のインターフェースの設定
DEVICE="eth1"
HWADDR=xx:xx:xx:xx:xx:xx
ONBOOT=yes
TYPE=Ethernet
BRIDGE=br1
BOOTPROTO=none
## vlan設定(動作テスト用)
# 32はswitch側で設定しているVLAN IDに合わせる
vconfig add br1 10
# br1.32のファイルが作成されていることを確認
ls -l /proc/net/vlan/
# ipアドレスの設定
ifconfig br1.10 192.168.90.2 255.255.255.0
# 設定されたことを確認
ifconfig -a
# switchのipにpingが届くことを確認
ping 192.168.90.1
## vlan設定
# /etc/sysconfig/network-scripts/ifcfg-br1.10 を作成
VLAN=yes
DEVICE="br1.10"
BOOTPROTO=static
ONBOOT=yes
TYPE=Ethernet
IPADDR=192.168.90.2
NETMASK=255.255.255.0
# /etc/sysconfig/network-scripts/ifcfg-br1.20 も同様に作成する
## 起動スクリプト修正
ここが一番はまりました
そもそもデバイスが存在しないと言われるエラー
br1.10 を活性化中: デバイス br1.10 は存在しないようですので、初期化を遅らせます。
いろいろと調べていて、起動のスクリプト(ifup)で、
PHYSDEVが正常に設定されていなかったことがわかりました。
なので、以下の通り修正を加えて無事起動しました。
## /etc/sysconfig/network-scripts/ifup を修正
# MATCH=の部分に「br」を追加
# Ethernet 802.1Q VLAN support
if [ "${VLAN}" = "yes" ] && [ "$ISALIAS" = "no" ]; then
VID=""
MATCH='^(eth|br|hsi|bond)[0-9]+\.[0-9]{1,4}$'
if [[ "${DEVICE}" =~ $MATCH ]]; then
VID=$(echo "${DEVICE}" | LC_ALL=C sed 's/^[a-z0-9]*\.0*//')
PHYSDEV=${DEVICE%.*}
fi
## network再起動して動作確認
/etc/init.d/network restart
これで、ホストからswitchのインターフェースまでの疎通確認ができました。
以下は、引き続きやって、随時更新していきます。
## 残件
- ゲストからswitchのインターフェースまでの疎通確認
- ゲストからswitchのデフォルトゲートウェイへの疎通確認
0 件のコメント:
コメントを投稿