Linux(Debian wheezy) で VLAN を利用する
コマンドを使用する場合
apt-get install vlan とやると、vconfig というコマンドが利用可能になる。このコマンドを使用することで NIC を vlan 対応にできるみたいだ。
# vconfig add eth0 10 Added VLAN with VID == 10 to IF -:eth0:-
削除は rem を使う。
# vconfig rem eth0.10 Removed VLAN -:eth0.10:-
起動時から静的に定義されるようにする場合
静的に定義するには、例によって /etc/network/interfaces に以下のように書きこむ。
auto eth0.10 iface eth0.10 inet manual vlan-raw-device eth0 up ip link set $IFACE up
念のためだが、ネットワーク経由でやる場合は複数の NIC がないと接続できなくなる可能性もありそうなので、SSH 用の NIC とVLAN 用の NIC は分けた方が安全と思われる。
VLAN への IP アドレス割り当て
コマンドで定義した場合も静的に定義した場合も ifconfig eth0.10 XXX.XXX.XXX.XXX netmask 255.255.255.0 で定義できる。
補足
以前のバージョンでは、コマンド定義した後で /etc/init.d/networking restart とやれば /etc/network/interfaces に書きこまれたのだが、wheezy か squeeze どちらかからできなくなった。そして、再起動したら /etc/network/interfaces に書きこまれた内容へすべてリセットされる。でも、慣れてみるとこの今の方が自分の使い方にはあっている気がする。具体的には、
という要件がある場合、もし自分以外の何か(daemonとか)が /etc/network/interfaces を勝手に書き換えてしまった場合、復旧に時間がかかる可能性が出てくる気がする。VLAN 使ったり、上記例にはないけれどブリッジ使ったり、ルーティングテーブルも意識しないといけなかったり、となると、再起動一発で全て元通りになる状態を保っておきたくなる。動くはず、と思うようにしても、何か見落としがあって動かないときとかは再起動で復旧できると嬉しい。どこがおかしい?と、自分が個人的に利用するだけの環境の設定状況とにらめっこするのはナンセンスだ。