2014年2月4日火曜日

WZR-G300N (米国モデル)は、WZR-G144N (日本モデル) でした

WZR-G300N (米国モデル)は、WZR-G144N (日本モデル)  でした。

以下のバッファローのページに、米国で WZR-G300N の受賞について書いてあり、右上の製品詳細(日本)のリンク先が Draft IEEE802.11n/IEEE802.11g/11b 無線LAN BroadBandルータ|WZR-G144N http://buffalo.jp/products/catalog/item/w/wzr-g144n/になっていました。

受賞国別:アメリカ合衆国 | 栄光の殿堂
http://buffalo.jp/products/eikou/international/usa.html


今まで、WZR-G300N は日本未発売なのかと思っていましたが、そうではなかったようです。
中身がそれぞれ同じだとしたら、WZR-G144N は、40Mhz 対応しているのかもしれません。
いや、搭載メモリ量が 16/32 になっているので、もしかしたら違うバージョンが存在しているのかも。

2014年2月3日月曜日

WZR-G144NHの最大NATセッション数ip_conntrack_countは2048

WZR-G144NH の最大NATセッション数  ip_conntrack_count は、2048。

WZR-G144NHをBuffalo純正ファームウェア Ver 1.48 で起動したとき、ログに以下が記録されていました。

Jan  1 00:00:02 2008 (none) kern.notice : NAT: ip_conntrack version 2.1 (256 buckets, 2048 max) - 344 bytes per conntrack
dd-wrt にすれば、デフォルトが4096で、Administration タブ - Management タブ - IP Filter Settings (adjust these for P2P) の TCP Congestion Control の Maximum Ports で、最大65536まで増やすことができます。もっとも、設定が可能というだけで、実際に運用可能なセッション数は、利用可能メモリサイズやCPUに左右されます。

Buffalo WHR-G54S での実測値を書いておきます。WHR-G54Sは搭載メモリサイズが16MB、Buffalo 純正ファームウェア 1.43 での ip_conntrack_count は、1024でした。

これに dd-wrt r21676 をインストールしたところ、設定では4096となっているものの、実際に遅延無く利用できたのは 3100セッション程度まででした。ボトルネックになっていたのがメモリなのかCPUなのかはわかりませんが、いずれにせよこの程度です。

WZR-G144NHの搭載メモリサイズは32MBで、CPUも WHR-G54S に比べれば動作周波数の高い物が使われているため、より多いセッション数をさばくことができると推測します。

2014年2月2日日曜日

WZR-G144NH デバッグモードでBufalo純正ファームウェアのバックアップ

Buffalo WZR-G144NH のBufalo純正ファームウェアのバックアップをおこないました。

以下を参考に実施しました。

DD-WRTまとめwiki - Buffaloルータのデバッグモード
http://www34.atwiki.jp/ddwrt/pages/19.html

DD-WRTまとめwiki - ファームウェア・設定ファイルなどのバックアップ・書き込み
http://www34.atwiki.jp/ddwrt/pages/20.html


バックアップしたファームウェアは、バージョン 1.48 です。

ドライバーダウンロード WZR-G144NHシリーズ | BUFFALO バッファロー
http://buffalo.jp/download/driver/lan/wzr-g144nh_fw.html

デバッグモード画面へのアクセスとファームウェアのバックアップ

クライアントは Windows 7 の Firefox 26.0です。
http://192.168.11.1/cgi-bin/cgi?req=frm&frm=py-db/55debug.html にアクセスすると、認証を求められました。Wikiによれば、
  • ユーザー名:bufpy
  • パスワード:otdpopy+ルートのパスワード
とのこと。パスワードは未設定だったので、ユーザ名に bufpy を、パスワードに otdpopy を入力。

そうすると、---- UNDER CONSTRUCTION --- というメッセージが表示されました。クライアントブラウザによってはこの画面になってしまうとの事だったので、Internet Explorer 11 でアクセスするも、メッセージが変化しません。しかし、もう一度 Firefox でアクセスすると、無事デバッグモード画面にアクセスできました。もしかしたら、単にリロードすればよかったのかもしれません。


telnet して mtdblock をダンプ


telnet クライアントの putty から WZR-G144NH に telnetすると、BusyBox のプロンプトが出迎えてくれました。
BusyBox v1.00 (2008.02.15-04:32+0000) Built-in shell (msh)
Enter 'help' for a list of built-in commands.
まず、mtdblock がどれだけあるのかを確認します。
# ls /dev/mtdblock
0  1  2  3

4つあることがわかったので、その数だけ dd コマンドでダンプします。

# dd if=/dev/mtdblock/0 of=/tmp/whr-g144nh-original1.48-0.bin
512+0 records in
512+0 records out
# dd if=/dev/mtdblock/1 of=/tmp/whr-g144nh-original1.48-1.bin
7424+0 records in
7424+0 records out
# dd if=/dev/mtdblock/2 of=/tmp/whr-g144nh-original1.48-2.bin
5938+0 records in
5938+0 records out
# dd if=/dev/mtdblock/3 of=/tmp/whr-g144nh-original1.48-3.bin
256+0 records in
256+0 records out

あとは、これらのファイルをブラウザからダウンロードします。

http://192.168.11.1/html/py-db/tmp/whr-g144nh-original1.48-0.bin
http://192.168.11.1/html/py-db/tmp/whr-g144nh-original1.48-1.bin
http://192.168.11.1/html/py-db/tmp/whr-g144nh-original1.48-2.bin
http://192.168.11.1/html/py-db/tmp/whr-g144nh-original1.48-3.bin

これで完了。


以下、各画面のメニューや表示項目を備忘のために書き留めておきます。

WZR-G144NH デバッグモード画面 メニュー

Ver1.48_1.02
build_info:2008/02/15 13:36:00 JST by vc03021 ( )@mkitec-xen :/data/old_snapshot/snapshot_WZR-G144N_1.42/1.48_1.02_2008-02-15-13-11-JST_WZR-G144NH

debug
telnetd
/var/log/messages
/var/log/messages.0
Filter Table(iptables -L -v -n)
Nat table(iptables -t nat -L -v -n)
Routing Table(wanctl pppoeroute show)
NFS Mount
Dhcp Relay
Wireless Status
command

sample
# grep XXX /var/log/messages
# mlc conlog on
# brctl show
# ifconfig eth1 # WAN
# ls /tmp/par
# cat /tmp/par/c_machine
# tar -czf /tmp/params.taz -C /tmp ./par
# iptables -t mangle -A PREROUTING -p all -i eth1 -j LOG --log-prefix PLOG
# portmap
# mount -t nfs 192.168.11.55:/opt/PYc/testbed/tmp/www-ath/ /www
# grep built /dev/mtd/1ro # show Redboot version & built date
command result goto page top

No file /tmp/debug.txt

goto page top


 /var/log/messages

/var/log/messages

Jan  1 00:00:01 2008 (none) syslog.info syslogd started: BusyBox v1.00 (2008.02.15-04:32+0000)
Jan  1 00:00:01 2008 (none) kern.notice : klogd started: BusyBox v1.00 (2008.02.15-04:32+0000)
Jan  1 00:00:01 2008 (none) kern.notice : BOOT: WZR-G144NH
Jan  1 00:00:01 2008 (none) kern.notice : PPPoE: PPP generic driver version 2.4.2
Jan  1 00:00:01 2008 (none) kern.notice : PPPoE: PPP Deflate Compression module registered
Jan  1 00:00:01 2008 (none) kern.notice : PPPoE: PPP BSD Compression module registered
Jan  1 00:00:02 2008 (none) kern.notice : NAT: ip_conntrack version 2.1 (256 buckets, 2048 max) - 344 bytes per conntrack
Jan  1 00:00:02 2008 (none) kern.notice : NAT: ipt_time loading
Jan  1 00:00:07 2008 (none) kern.notice : WIRELESS: wl0: Channel Select: 1
Jan  1 00:00:07 2008 (none) kern.info ap_servd[154]: startup daemon
Jan  1 00:00:07 2008 (none) kern.info ap_servd[154]: assigned intreface br0
Jan  1 00:00:07 2008 (none) kern.info ap_servd[154]: standalone mode 
Jan  1 00:00:15 2008 (none) kern.info udhcpd: udhcpd (v0.9.9-pre) started
Jan  1 00:00:15 2008 (none) kern.err udhcpd: max_leases value (256) not sane, setting to 64 instead
Jan  1 00:00:15 2008 (none) kern.debug dnrd[209]: Read Configuration File
Jan  1 00:00:15 2008 (none) kern.debug dnrd[209]: /tmp/resolv.conf(default)
Jan  1 00:00:15 2008 (none) kern.debug dnrd[209]: /tmp/ppp/resolv_ppp0.conf(ppp0)
Jan  1 00:00:15 2008 (none) kern.debug dnrd[209]: /tmp/ppp/resolv_ppp1.conf(ppp1)
Jan  1 00:00:15 2008 (none) kern.debug dnrd[209]: /tmp/ppp/resolv_ppp2.conf(ppp2)
Jan  1 00:00:15 2008 (none) kern.debug dnrd[209]: /tmp/ppp/resolv_ppp3.conf(ppp3)
Jan  1 00:00:15 2008 (none) kern.debug dnrd[209]: /tmp/ppp/resolv_ppp4.conf(ppp4)
Jan  1 00:00:17 2008 (none) kern.notice : NAT: cleanup /proc/net/ip_conntrack



/var/log/messages.0

/var/log/messages.0

No file /var/log/messages.o



Filter Table(iptables -L -v -n)

iptables -L -v -n

Chain INPUT (policy ACCEPT 22680 packets, 2603K bytes)
 pkts bytes target     prot opt in     out     source               destination        
    0     0 DROP       all  --  vlan1  *       0.0.0.0/0            0.0.0.0/0           state INVALID
 6178  515K ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
 9482  962K SIMPLE-IDENT-REJECT  all  --  *      *       0.0.0.0/0            0.0.0.0/0          
 9482  962K SIMPLE-ICMP  all  --  *      *       0.0.0.0/0            0.0.0.0/0          
 9482  962K NAT-GROUP-INPUT-CHAIN  all  --  *      *       0.0.0.0/0            0.0.0.0/0          
    0     0 DROP       udp  --  vlan1  *       0.0.0.0/0            0.0.0.0/0           udp dpt:520
    2   120 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           state NEW
    0     0 DROP       all  --  vlan1  *       0.0.0.0/0            0.0.0.0/0          

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination        
    0     0 DROP       all  --  vlan1  *       0.0.0.0/0            0.0.0.0/0           state INVALID
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
    0     0 DROP       udp  --  vlan1  *       0.0.0.0/0            0.0.0.0/0           udp dpt:520
 2718  141K NAT-GROUP-FORWARD-CHAIN  all  --  *      *       0.0.0.0/0            0.0.0.0/0          
 2718  141K UPNP-FORWARD-CHAIN  all  --  *      *       0.0.0.0/0            0.0.0.0/0          
 2718  141K ACCEPT     all  --  br0    *       0.0.0.0/0            0.0.0.0/0           state NEW
    0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           state NEW
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0          

Chain OUTPUT (policy ACCEPT 21750 packets, 12M bytes)
 pkts bytes target     prot opt in     out     source               destination        

Chain NAT-GROUP-FORWARD-CHAIN (1 references)
 pkts bytes target     prot opt in     out     source               destination        

Chain NAT-GROUP-INPUT-CHAIN (1 references)
 pkts bytes target     prot opt in     out     source               destination        

Chain SIMPLE-ICMP (1 references)
 pkts bytes target     prot opt in     out     source               destination        
    0     0 DROP       icmp --  vlan1  *       0.0.0.0/0            0.0.0.0/0          

Chain SIMPLE-IDENT-REJECT (1 references)
 pkts bytes target     prot opt in     out     source               destination        
    0     0 REJECT     tcp  --  vlan1  *       0.0.0.0/0            0.0.0.0/0           tcp dpt:113 reject-with tcp-reset

Chain UPNP-FORWARD-CHAIN (1 references)
 pkts bytes target     prot opt in     out     source               destination        

Chain USER-DEFINITION-CHAIN-FORWARD (0 references)
 pkts bytes target     prot opt in     out     source               destination        

Chain USER-DEFINITION-CHAIN-IPUNNUM (0 references)
 pkts bytes target     prot opt in     out     source               destination        



Nat table(iptables -t nat -L -v -n)

iptables -t nat -L -v -n

Chain PREROUTING (policy ACCEPT 5267 packets, 298K bytes)
 pkts bytes target     prot opt in     out     source               destination        
 2617  148K UPNP-PREROUTING-CHAIN  all  --  *      *       0.0.0.0/0            0.0.0.0/0          

Chain POSTROUTING (policy ACCEPT 20 packets, 5817 bytes)
 pkts bytes target     prot opt in     out     source               destination        
 1249 67984 MASQUERADE  all  --  *      vlan1   0.0.0.0/0            0.0.0.0/0          

Chain OUTPUT (policy ACCEPT 23 packets, 6045 bytes)
 pkts bytes target     prot opt in     out     source               destination        

Chain UPNP-PREROUTING-CHAIN (1 references)
 pkts bytes target     prot opt in     out     source               destination        
   


Routing Table(wanctl pppoeroute show)

wanctl pppoeroute show


----------------------------------------------
table                 dst              gw    dev
  254     192.168.11.0/24          0.0.0.0   br0
  254        239.0.0.0/ 8          0.0.0.0   br0
  254          0.0.0.0/ 0          0.0.0.0 vlan1
  255  127.255.255.255/32          0.0.0.0    lo
  255     192.168.11.1/32          0.0.0.0   br0
  255     192.168.11.0/32          0.0.0.0   br0
  255   192.168.11.255/32          0.0.0.0   br0
  255        127.0.0.0/32          0.0.0.0    lo
  255        127.0.0.1/32          0.0.0.0    lo
  255        127.0.0.0/ 8          0.0.0.0    lo


----------------------------------------------
priority                from                  to     table
       0          0.0.0.0/ 0          0.0.0.0/ 0  ->   255
   32766          0.0.0.0/ 0          0.0.0.0/ 0  ->   254
   32767          0.0.0.0/ 0          0.0.0.0/ 0  ->   253




NFS Mount


NFS サーバ    
ゲートウェイ    
mount元ディレクトリ    
mount先ディレクトリ    




状態     NFS サーバ     ゲートウェイ     mount元ディレクトリ     mount先ディレクトリ     操作
×
                /www    




HELP by shatake 2005/01/27


coLinux を使用している環境のような場合
次のような設定になります。

NFS サーバ    
ゲートウェイ    
mount元ディレクトリ    
mount先ディレクトリ    


また、NFSサーバ側(図ではcoLinux)では /etc/exports に
------------------------------
/opt/trunk/tmp/www 192.168.11.1(rw,sync)
------------------------------
と書いておくのを忘れないで下さい。


            |
            |
            | WAN : 111.111.111.2
      --------------
      |            |
      |            |
      | AirStation |
      |            |
      | /www      |
      -------------
            | LAN : 192.168.11.1/24
            |
            |
            | LAN : 192.168.11.10/24
      -------------------------------------------------
      |     |                                         |
      |  Local PC                                     |
      |     |                                         |
      |     |--------------|                          |
      |     |              |  TAP : 192.168.0.1       |
      |     |              |                          |
      |     |              | eth0 : 192.168.0.2     |
      |     |           --------------------------    |
      |     |           | coLinux                |    |
      |     |           |                        |    |
      |     |           | /opt/trunk/tmp/www  |    |
      |     |           --------------------------    |
      -------------------------------------------------
            |
            | Intra : 10.20.9.xx

Dhcp Relay

DHCPリレー設定

DHCPリレー機能を利用する場合は

アドレス変換   : 使用しない
DHCPサーバ機能 : 使用しない

として下さい
アドレス変換     使用する
DHCPサーバ機能     使用する
DHCPリレー機能     使用する

Wireless Status

Wireless Status機能:
インターフェイス:
コマンド:  
command     eth1
ssid     Current SSID: "00XXXXXXXXXX"
band     auto
channel     No scan in progress.
current mac channel 1
target channel 1
rateset     [ 1(b) 2(b) 5.5(b) 6 9 11(b) 12 18 24 36 48 54 ]
frameburst     0
dtim     1
pwr_percent     100
gmode     54g Auto (1)
gmode_protection     0
mrate     auto
wsec     4
keys    
radio     0x0000
srl     7
lrl     4
txpwr     pwr in mw 127
pwr in mw after override adj 127
1496
antdiv    
txant     0
phytype     4
assoclist    
bi     100
tci_fixprio    
dot1q_filter    
dot1q_mangle_tag

WZR-G144NHにdd-wrtをインストール

Buffalo の無線LANルータ WZR-G144NH に dd-wrt をインストールした時の作業メモです。

WZR-G144NH
http://buffalo.jp/products/catalog/item/w/wzr-g144nh/
Draft IEEE802.11n/IEEE802.11g/11b 無線LAN BroadBandルータ 1000BASE-T対応モデル
2006年発売。

最終的にインストールしたdd-wrtのバージョンは、 r21676 です。このバージョンを選んだのは、同じ Buffalo の WHR-G54S でリピータ(詳細は後述)として安定稼働しているバージョンであるためです。

ftp://dd-wrt.com/others/eko/BrainSlayer-V24-preSP2/2013/05-27-2013-r21676/broadcom/dd-wrt.v24_std_generic.bin

dd-wrt (build 21676) - Router Status
http://192.168.10.1/Status_Router.asp
Firmware Version DD-WRT v24-sp2 (05/27/13) std - build 21676
Kernel Version Linux 2.4.37 #31202 Mon May 27 00:54:47 CEST 2013 mips

WZR-G144NH を Repeater (リピータ) にする

今回の作業目的は、WZR-G144NH を Repeater (リピータ) にすることです。
今回作ったリピータは、以下の様な構成です。

上流ネットワーク無線LANルータ  192.168.11.0/24
<-- 無線 802.11b/g WEP -->
    |
dd-wrt 192.168.10.0/24
<-- 無線 802.11n WPA-PSK(AES) -->
    |
クライアントPCなど

上流ネットワークとdd-wrt間も、dd-wrtとクライアントPC間も、無線で接続しています。
Repeater Bridge ではないので、それぞれ別のネットワークになっていて、NAT しています。
なお、r21676でBroadcomチップ採用モデルでのdd-wrの動作モードは、Repeater の他に AP、Client、Client Bridge、Repeater Bridge などがありますが、私の用途では Repeater が適していました。

設定の詳細等は、またあとで書きます。


インストールの前の準備

現在の環境のバックアップや、ツールの準備等をしていきます。

以下の手順で、Buffalo純正ファームウェアをバックアップしました。
dd-wrt 作業記録: WZR-G144NH デバッグモードでBufalo純正ファームウェアのバックアップ
http://ddwrtlog.blogspot.jp/2014/02/wzr-g144nh-bufalo.html

 私のPCは Windows7 Home Premium SP1なので、tftpクライアントをコントロールパネルの「プログラムと機能」の「Windowsの機能の有効化または無効化」からインストールしました。

tftp の通信がWindowsファイアウォールによってブロックされることを防ぐため、Windowsファイアウォールそのものを一時的に無効にしました。

tftp コマンドを実行するコマンドプロンプトは、管理者権限で起動しておきます。

PCと WZR-G144NH をLANケーブルで直結。以前に dd-wrt を Buffalo WHR-G54S にインストールした時、直結した場合にリンクの確立が遅く tftp の受付時間に間に合わないという現象に見舞われたことがありましたが、今回は直結で大丈夫でした。ちなみに、当時使っていたPCは Windows XP で、NIC は3COMの 3C905B-TX でした。その時は、直結せずに間にスイッチングハブをかませることで、リンク確立までの時間を短縮させることで対応しました。

arp テーブルに WZR-G144NH の MACアドレスを静的に登録。これ、WHR-G54S のときはやった覚えがないのですが、最近のモデルでは必要な作業のようです。WZR-G144NHも WHR-G54S も同じBuffaloの同じ Broadcom チップ採用モデルで、世代も一緒のため必要ないような気もしますが、念のため実施しました。
arp -s 192.168.11.1 00-16-01-34-bb-ac

ping を実行し続けるようにしました。-n 100000 で10000万回繰り返し、-w 1000 で1000ミリ秒でタイムアウトするようにしました。

ping 192.168.11.1 -n 100000 -w 1000

dd-wrtインストール作業

tftp で r21676 の std バージョンのファームウェア をインストールしようとしましたが、tftp 実行時になぜか transfer canceled だか 転送がキャンセルされましたというメッセージが出てしまい、転送に失敗してしまいます。試しに、以下のURLからダウンロードした mini バージョンで tftp したところ、正常に転送完了しました。


【バッファロー】WZR-G144NHのスレ
http://toro.2ch.net/test/read.cgi/hard/1162189128/
121 :不明なデバイスさん:2008/12/26(金) 20:11:42 ID:++c6ZUm2
DD-WRTはfaqにあるTFTPでちゃんと入れられますよ。 ただ、versionの違いが今ひとつ分からないんですけどgenericでいいのかな? とりあえず↓を入れて快調です。v24sp1はハングすると聞いて試せない・・・ ttp://www.dd-wrt.com/dd-wrtv2/downloads/v24/Broadcom/Buffalo/WZR-G144NH/dd-wrt.v24_mini_generic.bin これって元のbaffaloファームには戻せないのかな? 別に不満は無いけど、なんとなく戻せると安心(戻さないと思うが)

tftp の出力は以下の通り。
C:\Users\techlog>tftp -i 192.168.11.1 put dd-wrt.v24_mini_generic.bin
転送を正常に完了しました: 5 秒間に 2920448 バイト、584089 バイト/秒

その後、dd-wrt のAdministration タブの Firmware Upgrade タブにある Firmware Managementから、std のファームウェアをアップロードインストールしたら、無事 WZR-G144NHに dd-wrt r21676 std をインストールすることができました。