症状:
外出中(3G)はプッシュ通知機能(GCM)が働くのに、自宅LAN内(Wifi)では動作しない。
原因:
どうもIPv6が関係しているよう。
自宅内はIPv4で一元運用しており、各マシンのIPv6は無効にし、ルータのIPv6通信はカットしている。ここでv6アドレスを返すDNSサーバを端末やルータに設定しているとIPv6通信がルータで遮断されGCM登録エラーになる様子。
対策:
Android端末はIPv6が無効にできないようなので、AAAAレコードを返さないDNSサーバー(AAAA filter)を設定する事によりGCMサーバにアスセス可能とする。なおFacebookアプリが起動しない問題もこの方法により解決できる。