[ WANem とは ? ]
http://wanem.sourceforge.net/
WAN回線のエミュレーションが可能
bandwitdh , パケットロス , jitter , latency の設定が可能。
ブラウザ(GUI)で設定可能。
マニュアルのアーキテクチャの説明をみると、netem , htb , tc , netfilter などを使用しているので、仕組みは CentOSやUbuntuなどの tc と同じ。
マニュアル
http://jaist.dl.sourceforge.net/project/wanem/wanem/WANem%20v2.0/wanemulator_all_about_v2.0.pdf
WANem だと:
・GUIで bandwidth , packet loss などの設定、設定の保存、リストアができる
・WANalyzer
指定したリモートサイトのネットワークの状態(帯域、latency , loss , jitter ) を計測できる。
その結果を tc コマンドでどうやるか表示してくれる
・tc がよくわかなくても設定できる
GUIで bandwidth など設定できるので tc を知らなくても設定可能。
また、設定した内容を表示できるので、tc でどうやったらできるのか確認できる。
・Live CD なので、ハードディスクにインストール不要
tcに精通している人は特にこれを使わずに、WANem使う必要性はないかも。CLI で tcコマンドをたたけば。。
[ どうやって動かす? ]
Live CD 、または VMware Player/Server のイメージが提供されているので、Live CD を起動、またはVMで動かす。
[ ためしに KVM上のVMとしてWANemを起動 ]
KVMマシンスペック
root@hat1:~# cat /etc/lsb-release | tail -1
DISTRIB_DESCRIPTION="Ubuntu 10.04.1 LTS"
root@hat1:~# uname -r
2.6.32-25-server
KVMのイメージはないので、iso (WANemv2.2.iso.bz2)を http://wanem.sourceforge.net/ からダウンロード
root@hat1:~# bunzip2 WANemv2.2.iso.bz2
root@hat1:~# ls WAN*
WANemv2.2.iso
iso をマウントして中身をチェック
root@hat1:~# mount -o loop -t iso9660 WANemv2.2.iso tmp
knoppix 5.3.1 だ。
root@hat1:~/tmp# cat version.txt
knx5.3.1CD Wed May 21 14:40:52 JST 2008
カーネル 2.6.24.4 みたい。結構新しい。
root@hat1:~/tmp/boot/isolinux# file linux
linux: Linux kernel x86 boot executable bzImage, version 2.6.24.4 (root@Knoppix) #2 SMP , RO-rootFS, root_dev 0x103, swap_dev 0x2, Video mode 791
インストール
NICを2つアサイン。
Live CD なので、local HDDにインストールできるか ? だけど、とりあえず ディスクも追加 ( 3GB )
メモリは 512MB
OS type Linux , カーネルは 2.6.x kernel を指定。
IPの設定 ( DHCPも可 )
user : perc のパスワードを設定。ユーザ perc は勝手につくられている。
起動した。
コンソール、ssh 、ブラウザで操作可能。
コンソール、ssh は WANem のシステム設定 ( IPアドレス、ルーティング設定など )
ブラウザは bandwidth などの設定。
最初 DHCP で アドレスをもらえる設定で起動したら、IPはもらえているのに外部と通信できなかった。
NICの削除・追加をしたら直った。リブートでもいいかも。
[ 管理操作 ]
root@hat1:~# ssh 192.168.11.18 -l perc
Password:
Welcome to Knoppix!
WANemControl@PERC>
- ネットワークアドレスの確認 + ping
WANemControl@PERC>status
IP Settings
=========================================================================
eth0 Link encap:Ethernet HWaddr 52:54:00:2d:25:0c
inet addr:192.168.11.18 Bcast:192.168.11.255 Mask:255.255.255.0
inet6 addr: fe80::5054:ff:fe2d:250c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:307 errors:0 dropped:0 overruns:0 frame:0
TX packets:254 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:30601 (29.8 KiB) TX bytes:28385 (27.7 KiB)
Interrupt:10 Base address:0x8000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:2 errors:0 dropped:0 overruns:0 frame:0
TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:100 (100.0 B) TX bytes:100 (100.0 B)
=========================================================================
Route Settings
=========================================================================
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.11.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 192.168.11.1 0.0.0.0 UG 0 0 0 eth0
=========================================================================
Apache ..... running
SSH Server ..... up
Enter IP Address to test reachability(q to skip):192.168.11.1
ping: icmp open socket: Operation not permitted
Wrong IPAddress....
WANemControl@PERC>
他使えるコマンドは、assgin ( IPアドレス設定 ) , shutdown , reset ( 設定のクリア ) など。詳細はマニュアルを。
exit2shell とすると shell モードになり、linuxのコマンドがつかえる。
rootでsshにログインできるように、まず、コンソールから root のパスワードを設定する。
root 以外で ssh でアクセスすると、shell モードになれない。
コンソールで root のパスワードを設定
root で ssh ログイン ( 一般ユーザ perc で sshログインすると exit2hell が使えない )
root@hat1:~# ssh 192.168.11.18
Password:
Welcome to Knoppix!
WANemControl@PERC>exit2shell
Type 'wanem' to return to WANem console
root@Knoppix:~# uname -a
Linux Knoppix 2.6.24.4 #2 SMP PREEMPT Tue Mar 25 21:35:28 CET 2008 i686 GNU/Linux
[ WANエミュレーション設定 ]
ブラウザで http://WANemのIP/WANem にアクセス。
・WANalyzer
リモートサイトのIP を指定すると bandwitdh , latency などを計測してくれる。
ためしに、デフォルトゲートウェイ ( 192.168.11.1 ) でテスト。
測定はping でやっている。
小さいデータから徐々にデータを大きくしているみたい。
Fragment offset: 1480
Time to live: 64
Protocol: ICMP (0x01)
Header checksum: 0x5e6e [correct]
[Good: True]
[Bad : False]
Source: 192.168.11.1 (192.168.11.1) <- WANem
Destination: 192.168.11.18 (192.168.11.18) <- remote host
Data (1480 bytes)
start wan emulation を実行すると tc コマンドが実行された。
実行されたコマンドは下記のおしり3行。
これであってるのかは、、??
root@Knoppix:~# tc -s qdisc show dev eth0
qdisc netem 1: root limit 1000
Sent 10317 bytes 76 pkt (dropped 0, overlimits 0 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0
qdisc netem 10: parent 1:1 limit 1000
Sent 10317 bytes 76 pkt (dropped 0, overlimits 0 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0
qdisc htb 20: parent 10:1 r2q 10 default 1 direct_packets_stat 0
Sent 10317 bytes 76 pkt (dropped 0, overlimits 0 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0
・Basic Mode
bandwidth の設定
bandwidth を 9600kbps に設定
CLIで設定をチェック。
root@Knoppix:~# tc qdisc show dev eth0
qdisc netem 1: root limit 1000
qdisc htb 10: parent 1:1 r2q 1 default 1 direct_packets_stat 0
root@Knoppix:~# tc -s qdisc show dev eth0
qdisc netem 1: root limit 1000
Sent 31430 bytes 133 pkt (dropped 0, overlimits 0 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0
qdisc htb 10: parent 1:1 r2q 1 default 1 direct_packets_stat 0
Sent 31430 bytes 133 pkt (dropped 0, overlimits 42 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0
tc きいていることはきいている。のろい。。( start 07:42:39 , finish 07:43:27 )
root@Knoppix:~# wget 192.168.11.14/1M
--07:42:39-- http://192.168.11.14/1M
=> `1M'
Connecting to 192.168.11.14:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1,048,576 (1.0M) [text/plain]
100%[==============================================>] 1,048,576 25.35K/s ETA 00:00
07:43:27 (21.71 KB/s) - `1M' saved [1048576/1048576]
qdisc 10: にはいってる。
root@Knoppix:~# tc -s qdisc show dev eth0
qdisc netem 1: root limit 1000
Sent 128816 bytes 1207 pkt (dropped 0, overlimits 0 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0
qdisc htb 10: parent 1:1 r2q 1 default 1 direct_packets_stat 0
Sent 128816 bytes 1207 pkt (dropped 0, overlimits 801 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0
参考: tc がかかっていないときの結果。 ( start 07:47:05 , finish : 07:47:05 )
root@Knoppix:~# wget 192.168.11.14/1M
--07:47:05-- http://192.168.11.14/1M
=> `1M.1'
Connecting to 192.168.11.14:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1,048,576 (1.0M) [text/plain]
100%[==============================================>] 1,048,576 --.--K/s
07:47:05 (10.31 MB/s) - `1M.1' saved [1048576/1048576]
・Advanced mode
細かい設定 ( bandwidth , packet loss duplication reordering corruption , src ip , dst ip , dst port etc ) ができる。
tc でどうのように書くか確認できるのがよい。
設定の保存、リストアも可能
http://wanem.sourceforge.net/
WAN回線のエミュレーションが可能
bandwitdh , パケットロス , jitter , latency の設定が可能。
ブラウザ(GUI)で設定可能。
マニュアルのアーキテクチャの説明をみると、netem , htb , tc , netfilter などを使用しているので、仕組みは CentOSやUbuntuなどの tc と同じ。
マニュアル
http://jaist.dl.sourceforge.net/project/wanem/wanem/WANem%20v2.0/wanemulator_all_about_v2.0.pdf
WANem だと:
・GUIで bandwidth , packet loss などの設定、設定の保存、リストアができる
・WANalyzer
指定したリモートサイトのネットワークの状態(帯域、latency , loss , jitter ) を計測できる。
その結果を tc コマンドでどうやるか表示してくれる
・tc がよくわかなくても設定できる
GUIで bandwidth など設定できるので tc を知らなくても設定可能。
また、設定した内容を表示できるので、tc でどうやったらできるのか確認できる。
・Live CD なので、ハードディスクにインストール不要
tcに精通している人は特にこれを使わずに、WANem使う必要性はないかも。CLI で tcコマンドをたたけば。。
[ どうやって動かす? ]
Live CD 、または VMware Player/Server のイメージが提供されているので、Live CD を起動、またはVMで動かす。
[ ためしに KVM上のVMとしてWANemを起動 ]
KVMマシンスペック
root@hat1:~# cat /etc/lsb-release | tail -1
DISTRIB_DESCRIPTION="Ubuntu 10.04.1 LTS"
root@hat1:~# uname -r
2.6.32-25-server
KVMのイメージはないので、iso (WANemv2.2.iso.bz2)を http://wanem.sourceforge.net/ からダウンロード
root@hat1:~# bunzip2 WANemv2.2.iso.bz2
root@hat1:~# ls WAN*
WANemv2.2.iso
iso をマウントして中身をチェック
root@hat1:~# mount -o loop -t iso9660 WANemv2.2.iso tmp
knoppix 5.3.1 だ。
root@hat1:~/tmp# cat version.txt
knx5.3.1CD Wed May 21 14:40:52 JST 2008
カーネル 2.6.24.4 みたい。結構新しい。
root@hat1:~/tmp/boot/isolinux# file linux
linux: Linux kernel x86 boot executable bzImage, version 2.6.24.4 (root@Knoppix) #2 SMP , RO-rootFS, root_dev 0x103, swap_dev 0x2, Video mode 791
インストール
NICを2つアサイン。
Live CD なので、local HDDにインストールできるか ? だけど、とりあえず ディスクも追加 ( 3GB )
メモリは 512MB
OS type Linux , カーネルは 2.6.x kernel を指定。
IPの設定 ( DHCPも可 )
user : perc のパスワードを設定。ユーザ perc は勝手につくられている。
起動した。
コンソール、ssh 、ブラウザで操作可能。
コンソール、ssh は WANem のシステム設定 ( IPアドレス、ルーティング設定など )
ブラウザは bandwidth などの設定。
最初 DHCP で アドレスをもらえる設定で起動したら、IPはもらえているのに外部と通信できなかった。
NICの削除・追加をしたら直った。リブートでもいいかも。
[ 管理操作 ]
root@hat1:~# ssh 192.168.11.18 -l perc
Password:
Welcome to Knoppix!
WANemControl@PERC>
- ネットワークアドレスの確認 + ping
WANemControl@PERC>status
IP Settings
=========================================================================
eth0 Link encap:Ethernet HWaddr 52:54:00:2d:25:0c
inet addr:192.168.11.18 Bcast:192.168.11.255 Mask:255.255.255.0
inet6 addr: fe80::5054:ff:fe2d:250c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:307 errors:0 dropped:0 overruns:0 frame:0
TX packets:254 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:30601 (29.8 KiB) TX bytes:28385 (27.7 KiB)
Interrupt:10 Base address:0x8000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:2 errors:0 dropped:0 overruns:0 frame:0
TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:100 (100.0 B) TX bytes:100 (100.0 B)
=========================================================================
Route Settings
=========================================================================
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.11.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 192.168.11.1 0.0.0.0 UG 0 0 0 eth0
=========================================================================
Apache ..... running
SSH Server ..... up
Enter IP Address to test reachability(q to skip):192.168.11.1
ping: icmp open socket: Operation not permitted
Wrong IPAddress....
WANemControl@PERC>
他使えるコマンドは、assgin ( IPアドレス設定 ) , shutdown , reset ( 設定のクリア ) など。詳細はマニュアルを。
exit2shell とすると shell モードになり、linuxのコマンドがつかえる。
rootでsshにログインできるように、まず、コンソールから root のパスワードを設定する。
root 以外で ssh でアクセスすると、shell モードになれない。
コンソールで root のパスワードを設定
root で ssh ログイン ( 一般ユーザ perc で sshログインすると exit2hell が使えない )
root@hat1:~# ssh 192.168.11.18
Password:
Welcome to Knoppix!
WANemControl@PERC>exit2shell
Type 'wanem' to return to WANem console
root@Knoppix:~# uname -a
Linux Knoppix 2.6.24.4 #2 SMP PREEMPT Tue Mar 25 21:35:28 CET 2008 i686 GNU/Linux
[ WANエミュレーション設定 ]
ブラウザで http://WANemのIP/WANem にアクセス。
・WANalyzer
リモートサイトのIP を指定すると bandwitdh , latency などを計測してくれる。
ためしに、デフォルトゲートウェイ ( 192.168.11.1 ) でテスト。
測定はping でやっている。
小さいデータから徐々にデータを大きくしているみたい。
Fragment offset: 1480
Time to live: 64
Protocol: ICMP (0x01)
Header checksum: 0x5e6e [correct]
[Good: True]
[Bad : False]
Source: 192.168.11.1 (192.168.11.1) <- WANem
Destination: 192.168.11.18 (192.168.11.18) <- remote host
Data (1480 bytes)
start wan emulation を実行すると tc コマンドが実行された。
実行されたコマンドは下記のおしり3行。
これであってるのかは、、??
root@Knoppix:~# tc -s qdisc show dev eth0
qdisc netem 1: root limit 1000
Sent 10317 bytes 76 pkt (dropped 0, overlimits 0 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0
qdisc netem 10: parent 1:1 limit 1000
Sent 10317 bytes 76 pkt (dropped 0, overlimits 0 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0
qdisc htb 20: parent 10:1 r2q 10 default 1 direct_packets_stat 0
Sent 10317 bytes 76 pkt (dropped 0, overlimits 0 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0
・Basic Mode
bandwidth の設定
bandwidth を 9600kbps に設定
CLIで設定をチェック。
root@Knoppix:~# tc qdisc show dev eth0
qdisc netem 1: root limit 1000
qdisc htb 10: parent 1:1 r2q 1 default 1 direct_packets_stat 0
root@Knoppix:~# tc -s qdisc show dev eth0
qdisc netem 1: root limit 1000
Sent 31430 bytes 133 pkt (dropped 0, overlimits 0 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0
qdisc htb 10: parent 1:1 r2q 1 default 1 direct_packets_stat 0
Sent 31430 bytes 133 pkt (dropped 0, overlimits 42 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0
tc きいていることはきいている。のろい。。( start 07:42:39 , finish 07:43:27 )
root@Knoppix:~# wget 192.168.11.14/1M
--07:42:39-- http://192.168.11.14/1M
=> `1M'
Connecting to 192.168.11.14:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1,048,576 (1.0M) [text/plain]
100%[==============================================>] 1,048,576 25.35K/s ETA 00:00
07:43:27 (21.71 KB/s) - `1M' saved [1048576/1048576]
qdisc 10: にはいってる。
root@Knoppix:~# tc -s qdisc show dev eth0
qdisc netem 1: root limit 1000
Sent 128816 bytes 1207 pkt (dropped 0, overlimits 0 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0
qdisc htb 10: parent 1:1 r2q 1 default 1 direct_packets_stat 0
Sent 128816 bytes 1207 pkt (dropped 0, overlimits 801 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0
参考: tc がかかっていないときの結果。 ( start 07:47:05 , finish : 07:47:05 )
root@Knoppix:~# wget 192.168.11.14/1M
--07:47:05-- http://192.168.11.14/1M
=> `1M.1'
Connecting to 192.168.11.14:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1,048,576 (1.0M) [text/plain]
100%[==============================================>] 1,048,576 --.--K/s
07:47:05 (10.31 MB/s) - `1M.1' saved [1048576/1048576]
・Advanced mode
細かい設定 ( bandwidth , packet loss duplication reordering corruption , src ip , dst ip , dst port etc ) ができる。
tc でどうのように書くか確認できるのがよい。
設定の保存、リストアも可能
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.