WANem で Software-Defined なネットワーク帯域制御装置を作る (3)
(1) (2) (3)
前回 の続きです。
Linux 周りをカスタマイズしていきましょう。
CLI / GUI どちらのターミナルも、起動時は WANem シェルが動いています。exit2shell と叩くと通常の bash シェルに抜けることが可能です。WANem シェルに戻りたいときは wanem と叩いてください。
3. VMware Tools をインストールする
VMware 仮想マシン上に WANem を立てた場合、
まずは vmware-tools をインストールします。
VMware Tools メディアは /mount/sr0 にマウントされますので解凍して、、、
root@WANem_3-0:/# cd /media/sr0 root@WANem_3-0:/media/sr0# root@WANem_3-0:/media/sr0# ll total 60582 -r--r--r-- 1 root root 60638465 Oct 18 01:26 VMwareTools-9.6.1-1378637.tar.gz -r-xr-xr-x 1 root root 1961 Oct 18 01:26 manifest.txt -r--r--r-- 1 root root 1847 Oct 18 01:25 run_upgrader.sh -r-xr-xr-x 1 root root 689456 Oct 18 01:25 vmware-tools-upgrader-32 -r-xr-xr-x 1 root root 702472 Oct 18 01:25 vmware-tools-upgrader-64 root@WANem_3-0:/media/sr0# root@WANem_3-0:/media/sr0# tar -C /tmp -xvzf VMwareTools-9.6.1-1378637.tar.gz
vmware-install.pl を実行します。
root@WANem_3-0:/media/sr0# cd /tmp/vmware-tools-distrib/ root@WANem_3-0:/tmp/vmware-tools-distrib# root@WANem_3-0:/tmp/vmware-tools-distrib# root@WANem_3-0:/tmp/vmware-tools-distrib# ll total 468 -rw-r--r-- 1 root root 258515 Oct 18 01:26 FILES -rw-r--r-- 1 root root 2538 Oct 18 01:26 INSTALL drwxr-xr-x 2 root root 100 Oct 18 01:26 bin drwxr-xr-x 2 root root 100 Oct 18 01:26 doc drwxr-xr-x 5 root root 420 Oct 18 01:26 etc drwxr-xr-x 2 root root 120 Oct 18 01:26 installer drwxr-xr-x 15 root root 300 Oct 18 01:26 lib -rwxr-xr-x 1 root root 192871 Oct 18 01:26 vmware-install.pl root@WANem_3-0:/tmp/vmware-tools-distrib# root@WANem_3-0:/tmp/vmware-tools-distrib# ./vmware-install.pl Creating a new VMware Tools installer database using the tar4 format. Installing VMware Tools. In which directory do you want to install the binary files? [/usr/bin]
ウィザード内で聞かれる内容は、下記を除いて基本的にそのまま Enter キーで OK。
Searching for a valid kernel header path...
The path "" is not a valid path to the 3.0.4 kernel headers.
Would you like to change it? [yes] no
次のメッセージで終われば正常終了です。
To enable advanced X features (e.g., guest resolution fit, drag and drop, and file and text copy/paste), you will need to do one (or more) of the following: 1. Manually start /usr/bin/vmware-user 2. Log out and log back into your desktop session; and, 3. Restart your X session. Enjoy, --the VMware team Found VMware Tools CDROM mounted at /media/sr0. Ejecting device /dev/sr0 ... root@WANem_3-0:/tmp/vmware-tools-distrib# root@WANem_3-0:/tmp/vmware-tools-distrib#
4. ホスト名の設定
WANem OS のホスト名は既定で「WANem_3-0」です。
もし、変更したいようであれば /etc/hostname を修正します。
root@WANem_3-0:/#
root@WANem_3-0:/# cat /etc/hostname
WANem_3-0
root@WANem_3-0:/#
root@WANem_3-0:/# echo "wanem.xxxxxx.com" >/etc/hostname
root@WANem_3-0:/#
root@WANem_3-0:/# cat /etc/hostname
wanem.xxxxxx.com
root@WANem_3-0:/#
完了したら再起動せずに次に進んでください。
5. ブリッジによるネットワーク設定
ホスト名に続けて IP アドレスなどを付与していくのですが、WANem のマニュアル では WANem を NAT や L3 のように設定するよう記載されています。
しかし、これでは既存の各マシンや L3 スイッチについて、デフォルトゲートウェイやルーティング情報を変更しなければならず、運用の視点からすると好ましくありません。検証期間中だけさっと設置し、終わったらさっと撤収するためにも、既存のネットワークに影響しない ブリッジ構成 を取りましょう。
Network Manager を無効化する
最近の Linux は、ネットワーク管理サービスとして昔ながらの network ではなく、「Network Manager」(NM) という、メディア自動検出・動的切替サービスが採用されているケースがあります。
WANem v3.0 のベースである Debian 6 も NM が採用されているのですが、
NM はブリッジをサポートしていませんので、まずは NM 管理を無効にし、旧来の network サービス管理に戻す必要があります。
通常、NM を無効化するには chkconfig や insserv コマンドで /etc/rc*.d から外しますが、KNOPPIX はそもそも rc*.d を利用していません。サービス起動を担っているのは /etc/init.d/knoppix-autoconfig というスクリプトですので、このファイルを編集します*1。
※ このファイルはとても重要なため、編集前にコピーを取っておいてください。
311 if ! checkbootparam "nonetworkmanager" && [ -x "/etc/init.d/network-manager" ]; then 312 ( /etc/init.d/network-manager start & ) >/dev/null 2>&1 313 else 314 ( ifup -a & ) >/dev/null 2>&1 315 fi
(311 〜 315 行目の if 文を以下のように修正)
311 # if ! checkbootparam "nonetworkmanager" && [ -x "/etc/init.d/network-manager" ]; then 312 # ( /etc/init.d/network-manager start & ) >/dev/null 2>&1 313 # else 314 ( /etc/init.d/networking start ) >/dev/null 2>&1 315 # fi
ブリッジネットワークを定義する
旧来の network サービスで管理できるようになりましたら、/etc/network/interfaces ファイルでブリッジネットワークとその IP アドレスを定義します*2。
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) # The loopback interface # automatically added when upgrading auto lo iface lo inet loopback auto br0 iface br0 inet static address 10.1.0.253 netmask 255.255.255.0 gateway 10.1.0.254 bridge_ports all bridge_fd 0 bridge_stp off
ここで設定する IP アドレスは、WANem の管理 Web にアクセスするためのものです。DHCP にしたい場合は br0 のセクションを次のように設定してください。
auto br0 iface br0 inet dhcp bridge_ports all bridge_fd 0 bridge_stp off
DNS 周りを設定する
/etc/hosts を設定します。
127.0.0.1 localhost.localdomain localhost 10.1.0.253 wanem.xxxxxx.com wanemfe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts
/etc/resolv.conf を設定します。
search xxxxxx.com nameserver 10.1.0.1
これですべてのカスタマイズは終了です。
一度 OS をリブートしてください。その後、リモート端末からブラウザで http://10.1.0.253/WANem とアクセスし、GUI で帯域制御を実施します*3。
startx を実行し、ローカルのウィンドウマネージャーのブラウザでも構いません。
VMware ESXi 仮想マシンの場合の注意点
最後に、私自身の経験から、
VMware ESXi 仮想マシンにインストールした場合の注意点を2つ挙げておきます。
「無差別モード」を許可する
ブリッジを構成した場合、WANem 仮想マシンに接続する仮想スイッチ(またはポートグループ)は双方とも「無差別モード」を許可する必要があります。
※ 当たり前と言えばそれまでなのですが、私は2年前これに気づくのに徹夜しました...
VMware Tools サービスが「実行していません」になる場合
VMware Tools サービスが「実行していません」となってしまうことがあります。
中途半端にスタートアップしているように見えたので、私は /etc/rc.local でサービスを立ち上げ直す一文を加えています。より良い方法があったら教えてください。
#!/bin/bash # # rc.local # # Start local services after hardware detection SERVICES="apache2 ajaxterm" for i in $SERVICES; do [ -x /etc/init.d/"$i" ] && /etc/init.d/"$i" start >/dev/null 2>&1 done /etc/init.d/vmware-tools restart exit 0