Google Wifi を試してみた(管理機能/無線性能/診断API)
はじめに
AWSチームのすずきです。
Googleが2018年4月26日に日本向けに販売開始した「Google Wifi」ルータを購入、 連休を利用して自宅ネットワークの更新を試みています。
「Google Wifi」の初期設定や基本機能については、インプレスのケータイWatch記事で詳しく紹介されているので割愛しますが、 数日利用したレポートを紹介させて頂きます。
「Google Wifi」設定
「Google Wifi」ルータの設定は、スマホ(Android,iOS)用の専用アプリを利用して行います。
初期設定を実施し、インターネット接続とGoogleアカウントの紐付が完了した、「Google Wifi」ルータは、 WAN経由でも専用アプリからアクセスする事が可能となります。
LTE接続できるスマートフォンがあれば、WiFi接続に必要なSSIDとパスワードは情報は、アプリから確認、コピーアンドペーストでの利用が可能です。
「Google Wifi」ルータの管理者となるGoogleアカウントは複数登録できるので、十分な強度を備えたパスワードを実用的に使う事が可能になりました。
また、外出先から「Google Wifi」ルータや端末のステータス確認や、設定の変更、ルータの再起動操作などもVPNなど利用せずに行うことが可能でした。
ネットワークチェック
インターネットをテスト
- 「Google WiFi」ルータのインターネット回線のダウンロード、アップロード速度の確認が可能です。
- スピードテスト結果はルータ上に保存され、過去60日間まで遡って確認する事が可能です。
- フレッツ 光ネクスト(ファミリーギガラインタイプ)を、v6プラス経由で利用している環境の測定結果は、NTT東日本のサービス情報サイトの速度測定サイトの結果とほぼ同等、ボトルネックの無い回線速度の測定ができる模様でした。
端末をテスト
- 「Google WiFi」ルータと、スマートホンのWiFi接続状態を確認可能です。
- 測定結果として「非常に良い」「OK」「弱い」の3段階、アンテナピクト相当の確認ができました。
- 詳細な信号強度の測定には、WiFi測定アプリの利用が望ましい模様です。
接続状態
- 「Google WiFi」ルータのWANポートのトラフィック、リアルタイム(直近5秒)、1日、7日、30日、60日の期間を指定した確認が可能です。
- 「Google WiFi」ルータのLANポート、WiFi接続された端末のネットワーク転送実績も確認が可能です。
- 端末の名称はUPnP情報などを元に自動認識される仕様の模様ですが、IP、MACアドレスを手がかりに端末を特定し、判別性の良い名称に変更する事も可能でした。
ゲストWiFi
- 「Google Wifi」のLANは、セグメント(192.168.86.0/24)で提供されますが、異なるセグメント(192.168.84.0/24)のネットワークを、ゲストWiFiとして別SSID、パスワードで設定する事が可能です。
- WiFiのパスワード、主WiFiは仕様上限(63文字)に準じた文字列とし、ゲストWiFiのパスワードは手入力が現実的な文字数で運用する事としました。
- インターネット通信のみ必要とするIoT装置や、TV用のセットトップボックスなどが利用するネットワークとして利用する事にしました。
ファミリーWiFi
- 指定した端末のインターネット接続を抑制する事が可能です。
- WiFi接続だけでなく、「Google Wifi」のLANポートにスイッチを接続し、有線接続した端末についても制限対象とする事が可能でした。
- サイトのブロック設定を行う事で、Googleのセーフサーチテクノロジーを利用したアダルトサイトなどの表示を端末単位で抑制する事が可能になります。
- 詳細なカスタマイズはできませんが、自宅の子供でも利用可能な共用端末、テレビやゲーム機、タブレットなどをサイトのブロックの対象として設定しました。
サイトのブロック動作例
WAN設定
- 「Google WiFi」ルータからのPPPoE接続は、GE-PON直結、ひかり電話用ルータのPPPoEブリッジ経由で利用できる事は確認できました。
- 最終的に回線速度に優れるv6プラスの利用を優先し、「Google WiFi」ルータのWANポートはひかり電話用ルータのLANポートに接続し、二重NATで利用する事としました。
NAT/ブリッジ切替設定
- ブリッジ利用は非推奨とされていますが、ネットワークモード設定で「NAT(標準)」を「ブリッジ」に変更する事で「Google WiFi」を無線APとして利用する事は可能でした。
- ブリッジモードの「Google WiFi」ルータに接続した端末は、ひかり電話用ルータのDHCPv6で配布されるIPv6アドレスを利用する事が可能でした。
接続速度
無線APの交換に伴うLAN内の通信速度の変化について、iperfを用いて確認してみました。
測定方法
- MacOS用のバイナリ(iperf-3.1.3-macos-x86_64)は下記サイトからダウンロードしたものを利用しました。
- https://iperf.fr/iperf-download.php
- 2台のMacBookProを用意、10秒間の通信速度を確認しました。
サーバ側
- MBP(2015)のUSB3ポート用の外付けNICを利用、1000BaseTXのスイッチに接続
- 「iperf3」をサーバモードで待受
./iperf3 -s
クライアント側
- MBP(2015)の内蔵WiFiを利用し、接続先のAPを測定対象毎に変更
- 「iperf3」をクライアントモードで実行し、通信速度を確認
./iperf3 -c <サーバのIP>
結果
- 5GHz接続の「Google Wifi」ルータ、IEEE802.11n の最大通信速度(理論値:600Mbps)に匹敵する速度を確認する事ができました。
Google WiFi (5GHz接続)
[ ID] Interval Transfer Bandwidth [ 4] 0.00-10.00 sec 575 MBytes 482 Mbits/sec sender [ 4] 0.00-10.00 sec 575 MBytes 482 Mbits/sec receiver
TP LINK C7 (5GHz接続)
[ ID] Interval Transfer Bandwidth [ 4] 0.00-10.00 sec 480 MBytes 403 Mbits/sec sender [ 4] 0.00-10.00 sec 480 MBytes 402 Mbits/sec receiver
TP LINK C7 (2GHz接続)
[ ID] Interval Transfer Bandwidth [ 4] 0.00-30.00 sec 412 MBytes 115 Mbits/sec sender [ 4] 0.00-30.00 sec 411 MBytes 115 Mbits/sec receiver
有線接続(サーバ、クライアントとも、1000BaseTXの同一スイッチに接続)
[ ID] Interval Transfer Bandwidth [ 4] 0.00-10.00 sec 1.04 GBytes 896 Mbits/sec sender [ 4] 0.00-10.00 sec 1.04 GBytes 895 Mbits/sec receiver
診断API
「Google WiFi」ルータ、そのAPIの解析結果が有志により公開されています。
診断APIの動作を確認することができましたので、その一部を紹介させて頂きます。
status
$ curl http://192.168.86.1/api/v1/status { "software": { "softwareVersion": "10032.86.2", "updateChannel": "stable-channel", "updateNewVersion": "0.0.0.0", "updateProgress": 0.0, "updateRequired": false, "updateStatus": "idle" }, "system": { "countryCode": "jp", "deviceId": "########-####-####-####-############", "groupRole": "root", "hardwareId": "GALE ###-###-###-###-###", "lan0Link": true, "modelId": "ACc3d", "uptime": 285040 }, "wan": { "captivePortal": false, "ethernetLink": true, "gatewayIpAddress": "192.168.100.1", "invalidCredentials": false, "ipAddress": true, "ipMethod": "dhcp", "ipPrefixLength": 24, "leaseDurationSeconds": 14400, "localIpAddress": "192.168.100.33", "nameServers": [ "8.8.8.8", "8.8.4.4", "192.168.100.1" ], "online": true, "pppoeDetected": true } }
diagnostic-report
- 約1MB強のGZIP圧縮されたバイナリが出力されます。
$ curl http://192.168.86.1/api/v1/diagnostic-report | gzip -d | more
- Linuxのネットワークコマンドの出力らしき内容を確認する事ができましたので、制御コードなど除外した抜粋を示します。
/proc/net/arp
192.168.86.54 0x1 0x0 e0########## * br-lan 192.168.100.43 0x1 0x0 00########## * wan0 192.168.100.58 0x1 0x0 00########## * wan0 192.168.100.60 0x1 0x0 00########## * wan0 192.168.86.25 0x1 0x2 dc########## * br-lan 192.168.86.20 0x1 0x2 00########## * br-lan
/var/log/net.log
2018-05-03T09:22:15.773472+00:00 ERR dhcpcd[24066]: wan0: DHCPv6 REPLY: No Addresses Available 2018-05-03T09:44:46.505491+00:00 INFO dhcpcd[24065]: status changed to Renew 2018-05-03T09:44:46.505820+00:00 INFO dhcpcd[24065]: wan0: renewing lease of 192.168.100.33 2018-05-03T09:44:46.506312+00:00 INFO dhcpcd[24065]: wan0: sending REQUEST (xid 0xd5e51588), next in 4.3 seconds 2018-05-03T09:44:46.531895+00:00 INFO dhcpcd[24065]: wan0: received ACK with xid 0xd5e51588 2018-05-03T09:44:46.531995+00:00 INFO dhcpcd[24065]: wan0: acknowledged 192.168.100.33 from 192.168.100.1 2018-05-03T09:44:46.532058+00:00 INFO dhcpcd[24065]: wan0: leased 192.168.100.33 for 14400 seconds 2018-05-03T09:44:46.532998+00:00 INFO dhcpcd[24065]: event RENEW on interface wan0
/bin/ip -s -d addr
9: wlan-2400mhz: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP group default qlen 1000 link/ether 30########## brd ff########## promiscuity 1 bridge_slave state forwarding priority 32 cost 100 hairpin off guard off root_block off fastleave off learning on flood on mcast_fast_leave off numtxqueues 4 numrxqueues 1 inet6 fe80::0000:0000:0000:0000/64 scope link valid_lft forever preferred_lft forever RX: bytes packets errors dropped overrun mcast 1554563892 8172674 0 0 0 0 TX: bytes packets errors dropped carrier collsns 23012529389 21766595 0 0 0 0
/usr/sbin/iw
/usr/sbin/iw dev wlan-2400mhz station dump, Station 780f775b2506 (on wlan-2400mhz) inactive time: 15390 ms rx bytes: 627267 rx packets: 5666 tx bytes: 138240027 tx packets: 101148 tx retries: 595 tx failed: 0 signal: -60 dBm signal avg: -60 dBm tx bitrate: 65.0 MBit/s MCS 7 rx bitrate: 19.5 MBit/s MCS 2 authorized: yes authenticated: yes preamble: short WMM/WME: yes MFP: no TDLS peer: no connected time: 133728 seconds
/bin/route
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.100.1 0.0.0.0 UG 1 0 0 wan0 192.168.84.0 0.0.0.0 255.255.255.0 U 0 0 0 br-guest 192.168.86.0 0.0.0.0 255.255.255.0 U 0 0 0 br-lan 192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 wan0
/bin/ps
/bin/ps auxwwf USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 2 0.0 0.0 0 0 ? S Apr30 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? S Apr30 1:50 \_ [ksoftirqd/0] root 5 0.0 0.0 0 0 ? S< Apr30 0:00 \_ [kworker/0:0H] root 7 0.2 0.0 0 0 ? S Apr30 11:37 \_ [rcu_preempt] root 8 0.0 0.0 0 0 ? S Apr30 0:00 \_ [rcu_sched]
/sbin/tc
/sbin/tc -s qdisc show dev wan0 qdisc mq 0: root Sent 10190363138 bytes 27436626 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0
/usr/sbin/swconfig
#/usr/sbin/swconfig dev switch0 show Global attributes: enable_vlan: 1 enable_mirror_rx: 0 enable_mirror_tx: 0 mirror_monitor_port: 0 mirror_source_port: 0 linkdown: ??? Port 0: mib: Port 0 MIB counters RxBroad : 311198 RxPause : 0 RxMulti : 605633 RxFcsErr : 0 RxAlignErr : 0 RxRunt : 0 RxFragment : 0 Rx64Byte : 901493 Rx128Byte : 27245409 Rx256Byte : 1513695 Rx512Byte : 1406977 Rx1024Byte : 571677 Rx1518Byte : 36111638 RxMaxByte : 3859086 RxTooLong : 0 RxGoodByte : 62736881809
/bin/netstat
Ip: Forwarding: 1 5842294 total packets received 295 with invalid headers 81 with invalid addresses 1259619 forwarded 0 incoming packets discarded 4547884 incoming packets delivered 2439240 requests sent out 4 outgoing packets dropped 1607 dropped because of missing route Icmp: 40337 ICMP messages received 0 input ICMP message failed ICMP input histogram: destination unreachable: 2127 echo requests: 38205 echo replies: 5 220801 ICMP messages sent 0 ICMP messages failed ICMP output histogram: destination unreachable: 182235 time exceeded: 283 echo requests: 78 echo replies: 38205
まとめ
民生用の無線APとしては「Google Wifi」ルータはやや高額な16,200円の定価設定、 量販店での値引きもほぼ期待できない状態で販売されていますが、スマホアプリから利用できる管理機能はこの価格に見合う価値があると実感できました。
また、商用のネットワーク装置ほどの汎用性はありませんが、API経由で確認できるログや診断情報も トラブルシューティング時の手がかりとして活用できるものと思われます。
木造3LDK相当の自宅では、1台の「Google Wifi」ルータで十分な無線ネットワーク環境が実現できる目処がついたため、 複数のルータを利用したメッシュネットワークを試す機会は当面無さそうですが、追加レポートの機会があれば改めて紹介させて頂きたいと思います。