ちょっと話題の記事

Google Wifi を試してみた(管理機能/無線性能/診断API)

2018.05.05

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

AWSチームのすずきです。

Googleが2018年4月26日に日本向けに販売開始した「Google Wifi」ルータを購入、 連休を利用して自宅ネットワークの更新を試みています。

「Google Wifi」の初期設定や基本機能については、インプレスのケータイWatch記事で詳しく紹介されているので割愛しますが、 数日利用したレポートを紹介させて頂きます。

Googleから出たWi-Fiルーター「Google Wifi」はマニアも納得の家庭用機能満載だった

「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のセーフサーチテクノロジーを利用したアダルトサイトなどの表示を端末単位で抑制する事が可能になります。
  • 詳細なカスタマイズはできませんが、自宅の子供でも利用可能な共用端末、テレビやゲーム機、タブレットなどをサイトのブロックの対象として設定しました。

セーフサーチを使用して 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」ルータで十分な無線ネットワーク環境が実現できる目処がついたため、 複数のルータを利用したメッシュネットワークを試す機会は当面無さそうですが、追加レポートの機会があれば改めて紹介させて頂きたいと思います。