対象サーバについて
製品名 | Hitachi PC8DG2-P108P1C10 |
OS(kernel ver) | Debian lenny(2.6.26-2-686) |
CPU | Intel(R) Celeron(R) CPU 2.00GHz |
メモリ | 512M(256M DDR PC2100 x 2枚) |
ストレージ | Seagate 160GB |
VLANの設定2>
・インストール
close:~# aptitude install vlan
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます
パッケージの状態を初期化しています... 完了
タスクの記述を読み込んでいます... 完了
以下の新規パッケージがインストールされます:
vlan
更新: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
39.6kB のアーカイブを取得する必要があります。展開後に 176kB のディスク領域が新たに消費されます。
拡張状態情報を書き込んでいます... 完了
取得:1 http://ftp.jp.debian.org lenny/main vlan 1.9-3 [39.6kB]
39.6kB を 2s 秒でダウンロードしました (16.1kB/s)
未選択パッケージ vlan を選択しています。
(データベースを読み込んでいます ... 現在 59542 個のファイルとディレクトリがインストールされています。)
(.../archives/vlan_1.9-3_i386.deb から) vlan を展開しています...
man-db のトリガを処理しています ...
vlan (1.9-3) を設定しています ...
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます
パッケージの状態を初期化しています... 完了
拡張状態情報を書き込んでいます... 完了
タスクの記述を読み込んでいます... 完了
・設定
書式
vconfig add デバイス名 VLANID
close:~# vconfig add eth0 2 WARNING: Could not open /proc/net/vlan/config. Maybe you need to load the 8021q module, or maybe you are not using PROCFS?? Added VLAN with VID == 2 to IF -:eth0:-
→WARNINGの説明どおり、8021q moduleをロードします。
close:~# modprobe 8021q close:~# lsmod | grep 8021q 8021q 16064 0 close:~# vi /etc/modules ... 8021q
→起動時に有効になるように/etc/modulesにも入れておきます。
close:~# vconfig add eth0 2 Added VLAN with VID == 2 to IF -:eth0:-
→VLAN-ID:2が追加されました。
close:~# ifconfig -a ... eth2 Link encap:イーサネット ハードウェアアドレス 00:10:60:db:04:24 BROADCAST MULTICAST MTU:1500 メトリック:1 RXパケット:0 エラー:0 損失:0 オーバラン:0 フレーム:0 TXパケット:0 エラー:0 損失:0 オーバラン:0 キャリア:0 衝突(Collisions):0 TXキュー長:1000 RXバイト:0 (0.0 B) TXバイト:0 (0.0 B) eth0.2 Link encap:イーサネット ハードウェアアドレス 00:00:e2:88:3d:13 BROADCAST MULTICAST MTU:1500 メトリック:1 RXパケット:0 エラー:0 損失:0 オーバラン:0 フレーム:0 TXパケット:0 エラー:0 損失:0 オーバラン:0 キャリア:0 衝突(Collisions):0 TXキュー長:0 RXバイト:0 (0.0 B) TXバイト:0 (0.0 B) ・・・
→有効になりました。
・設定ファイルに追加
起動時からvlanが使えるように/etc/network/interfacesに追加します。
先ほど手動で追加したvlan2を削除します。
close:~# vconfig rem eth0.2 Removed VLAN -:eth0.2:-
close:~# vi /etc/network/interfaces ... auto eth0.2 iface eth0.2 inet static address 10.0.0.2 netmask 255.255.255.0 network 10.0.0.0 broadcast 10.0.0.255 gateway 10.0.0.1 vlan_raw_device eth0
→上記を設定ファイルに追記します。
close:~# /etc/init.d/networking restart Reconfiguring network interfaces...SIOCDELRT: No such device if-up.d/mountnfs[eth0]: waiting for interface eth0.2 before doing NFS mounts (warning). Set name-type for VLAN subsystem. Should be visible in /proc/net/vlan/config Added VLAN with VID == 2 to IF -:eth0:- done.
・状態確認
close:~# ifconfig -a ・・・ eth2 Link encap:イーサネット ハードウェアアドレス 00:10:60:db:04:24 BROADCAST MULTICAST MTU:1500 メトリック:1 RXパケット:0 エラー:0 損失:0 オーバラン:0 フレーム:0 TXパケット:0 エラー:0 損失:0 オーバラン:0 キャリア:0 衝突(Collisions):0 TXキュー長:1000 RXバイト:0 (0.0 B) TXバイト:0 (0.0 B) eth0.2 Link encap:イーサネット ハードウェアアドレス 00:00:e2:88:3d:13 inetアドレス:10.0.0.2 ブロードキャスト:10.0.0.255 マスク:255.255.255.0 inet6アドレス: fe80::200:e2ff:fe88:3d13/64 範囲:リンク UP BROADCAST RUNNING MULTICAST MTU:1500 メトリック:1 RXパケット:0 エラー:0 損失:0 オーバラン:0 フレーム:0 TXパケット:6 エラー:0 損失:0 オーバラン:0 キャリア:0 衝突(Collisions):0 TXキュー長:0 RXバイト:0 (0.0 B) TXバイト:492 (492.0 B) ・・・
→サブインタフェースにアドレスが設定されました。
・再起動時のエラー
ネットワークを再起動した際に以下のエラーが出ました。
close:~# /etc/init.d/networking restart Reconfiguring network interfaces...SIOCDELRT: No such process if-up.d/mountnfs[eth0]: waiting for interface eth0.2 before doing NFS mounts (warning). Set name-type for VLAN subsystem. Should be visible in /proc/net/vlan/config ERROR: trying to add VLAN #2 to IF -:eth0:- error: File exists done.
stop時にvlan2を消していないように見えます。
/etc/network/if-post-down.d/vlanでやってくれているように見えるのですがうまく動いていないようです。
そこで付け焼刃的ではありますが以下の修正を行いました。
close:~# vi /etc/network/interfaces ... auto eth0.2 iface eth0.2 inet static address 10.0.0.2 netmask 255.255.255.0 network 10.0.0.0 broadcast 10.0.0.255 gateway 10.0.0.1 vlan_raw_device eth0 down /sbin/vconfig rem eth0.2 ...
→down時にvconfigコマンドで削除しています。
荒治療ですがこれでうまく動きました。
VLAN-ID付きパケットの確認
WiresharkやtsharkにてパケットをキャプチャしてVLAN-IDが付いているか確認しようとしましたが、なぜかL2ヘッダに存在しませんでした。
一方、tcpdumpでDUMPしたら、以下のようにVLAN-IDが確認できました。
close:~# tcpdump ... 16:31:21.029781 vlan 2, p 0, IP 192.168.0.7.50900 > 192.168.0.3.telnet: . ack 2856 win 256