WheezyにVLANを導入する

■WheezyにVLANを導入する。
 eth0、wlan0のActive-Backup方式のbond0にタグVLANを作成。

 eth0+wlan0でActive-Backupのbondingを構成する。
 http://d.hatena.ne.jp/labunix/20130303

 squeezeにvconfigを導入する
 http://d.hatena.ne.jp/labunix/20121003

■kernelオプションの確認。

$ sudo apt-get install kernel-package
$ grep VLAN /usr/share/kernel-package/Config/config.`uname -m`
CONFIG_VLAN_8021Q=m

■「vlan」の導入。
 モジュールのロードは不要になった。

$ apt-cache search ^vlan
vlan - user mode programs to enable VLANs on your ethernet devices
$ sudo apt-get install -y vlan
$ dpkg -L vlan | grep bin/
/sbin/vconfig


$ sudo modprobe 8021q
$ lsmod | grep 8021q
8021q                  14118  0
garp                    4150  1 8021q

$ grep 8021q /etc/modules >/dev/null|| echo "8021q" | sudo tee -a /etc/modules
8021q

■手動追加、確認、手動削除。

$ sudo vconfig add bond0 2
Added VLAN with VID == 2 to IF -:bond0:-

$  find /proc/net/vlan/ -type f -print | sudo grep . `xargs`
/proc/net/vlan/bond0.2:bond0.2  VID: 2   REORDER_HDR: 1  dev->priv_flags: 1
/proc/net/vlan/bond0.2:         total frames received            0
/proc/net/vlan/bond0.2:          total bytes received            0
/proc/net/vlan/bond0.2:      Broadcast/Multicast Rcvd            0
/proc/net/vlan/bond0.2:      total frames transmitted            0
/proc/net/vlan/bond0.2:       total bytes transmitted            0
/proc/net/vlan/bond0.2:            total headroom inc            0
/proc/net/vlan/bond0.2:           total encap on xmit            0
/proc/net/vlan/bond0.2:Device: bond0
/proc/net/vlan/bond0.2:INGRESS priority mappings: 0:0  1:0  2:0  3:0  4:0  5:0  6:0 7:0
/proc/net/vlan/bond0.2: EGRESS priority mappings:
/proc/net/vlan/config:VLAN Dev name      | VLAN ID
/proc/net/vlan/config:Name-Type: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD
/proc/net/vlan/config:bond0.2        | 2  | bond0

■ネットワークの設定

$  sudo vconfig rem bond0.2
Removed VLAN -:bond0.2:-

$ sudo tail -7 /etc/network/interfaces
auto bond0.2
allow-hotplug bond0.2
iface bond0.2 inet static
address XXX.XXX.XXX.111
netmask 255.255.255.0
down /sbin/vconfig rem bond0.2

$ sudo /etc/init.d/networking restart

$ env LANG=C /sbin/ifconfig bond0.2 | sed s/"\(HWaddr\).*"/"\1 dummy"/g | grep -v inet6
bond0.2   Link encap:Ethernet  HWaddr dummy
          inet addr:XXX.XXX.XXX.XXX.111  Bcast:XXX.XXX.XXX.XXX.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:34 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:6445 (6.2 KiB)

$ ip addr | grep bond0.2
10: bond0.2@bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
    inet XXX.XXX.XXX.111/24 brd XXX.XXX.XXX.255 scope global bond0.2