iOS5.1への更新を通して思ったこと
Clu2c動態保存会東平洋史
はじめに
いろいろ喋りますが、
正しいかどうかは御自分で検証してください。
では始めます
IOS 5.1 リリース だが…
● 途中で止まってしまい、更新できない(リリース直後のお話)– 自宅の無線LAN
● Buffalo社製WZR-HP-G300NHでJCOMに接続
– イー・モバイル● Pocket Wi-Fi D25HW
● いつやってもダメ。– サーバにつながらないようだ
そんなとき、情報入手
● iOSがアップデートできないのはISPかブロードバンドルータの障害(当時の題名)
http://www.e-ontap.com/blog/20120309.html より
iOS アップデートができない人は、多分ブロードバンドルータに 512byteを越える応答が扱えない障害を抱えています。あるいは ISP の DNSキャッシュサーバが TCP や EDNS0 に対応していない可能性も排除できません。途中のネットワークに TCP 53 をフィルターするファイアウォールが入っている可能性もあります。
● 要するに appldnld.apple.com を名前解決できない
問題点は二つ
● appldnld.apple.com に関するDNSのデータが512バイト超内容もおかしい
● ブロードバンドルーターがDNSの512バイト超データを扱えない
問題その1appldnld.apple.com
のDNSに関するデータが512バイト超
appldnld.apple.com のゾーン情報(1)
異様に Answer Section や Additional Sectionが多いdig @211.134.181.104 appldnld.apple.com
;; Truncated, retrying in TCP mode.
(略)
;; AUTHORITY SECTION:
gi3.akamai.net. 1207 INNS n5gi3.akamai.net.
gi3.akamai.net. 1207 INNS n6gi3.akamai.net.
gi3.akamai.net. 1207 INNS n7gi3.akamai.net.
gi3.akamai.net. 1207 INNS n8gi3.akamai.net.
gi3.akamai.net. 1207 INNS a0gi3.akamai.net.
gi3.akamai.net. 1207 INNS n0gi3.akamai.net.
gi3.akamai.net. 1207 INNS n1gi3.akamai.net.
gi3.akamai.net. 1207 INNS n2gi3.akamai.net.
gi3.akamai.net. 1207 INNS n3gi3.akamai.net.
gi3.akamai.net. 1207 INNS n4gi3.akamai.net.
;; ADDITIONAL SECTION:
a0gi3.akamai.net.37552 IN AAAA 2001:218:2007:ffff:9206:8c00:5f81:82a6
n0gi3.akamai.net.2942 INA 193.108.88.194
n1gi3.akamai.net.2920 INA 61.213.146.6
n2gi3.akamai.net.1943 INA 193.108.88.193
n3gi3.akamai.net.12791 IN A 193.108.88.195
n4gi3.akamai.net.1943 INA 125.252.227.150
n5gi3.akamai.net.20476 IN A 121.119.254.174
n6gi3.akamai.net.2942 INA 121.119.254.188
n7gi3.akamai.net.10652 IN A 125.252.227.157
n8gi3.akamai.net.23847 IN A 125.252.227.156(略)
http://www.e-ontap.com/blog/20120309.html より2012年3月9日(金) 15:14:26 2012時点の結果.
appldnld.apple.com のゾーン情報(2)
CNAMEで4段もの定義…dig @211.134.181.104 appldnld.apple.com
;; Truncated, retrying in TCP mode.
(略)
;; ANSWER SECTION:
appldnld.apple.com. 3086 IN CNAME appldnld.apple.com.akadns.net.
appldnld.apple.com.akadns.net. 164 IN CNAME appldnld2.apple.com.edgesuite.net.
appldnld2.apple.com.edgesuite.net. 1840 IN CNAME appldnld2.apple.com.edgesuite.net.globalredir.akadns.net.
appldnld2.apple.com.edgesuite.net.globalredir.akadns.net. 165 IN CNAME a2047.gi3.akamai.net(略)
http://www.e-ontap.com/blog/20120309.html より2012年3月9日(金) 15:14:26 2012時点の結果.
4段ものCNAME
● こんなに多段にする必要あるの?
appldnld.apple.com →
appldnld.apple.com.akadns.net →
appldnld2.apple.com.edgesuite.net →
appldnld2.apple.com.edgesuite.net.globalredir.akadns.net →
a2047.gi3.akamai.net → Aレコード
appldnld.apple.comの権威サーバはおかしい
問題その2ブロードバンドルータが
DNSに関する512バイト超データを
扱えない
手元のルータ(1)
● 自宅の無線LAN(Buffalo社製WZR-HP-G300NHでJCOMに接続)
dig @WZR-HP-G300NHのアドレス appldnld.apple.com
;; Truncated, retrying in TCP mode.
;; ERROR: ID mismatch: expected ID 52981, got 8896
– appldnld.apple.comをひけない
– 2012/3/9(金)時点でのお話
手元のルータ(2)
● イー・モバイル(Pocket Wi-Fi D25HW)
dig @D25HWを使った場合に指定されるDNSサーバ appldnld.apple.com
;; Truncated, retrying in TCP mode.
; <<>> DiG 9.7.1 <<>> @D25HWを使った場合に指定されるDNSサーバ appldnld.apple.com
; (1 server found)
;; global options: +cmd
;; connection timed out; no servers could be reached● appldnld.apple.comをひけない
– 2012/3/9(金)時点でのお話
たしかに512バイト超のデータを扱えていない
とりあえずの解決策
512バイト超のデータを扱えるDNSキャッシュサーバを使う
1.ブロードバンドルータを取り換える
2.DHCPで配るDNSサーバを512バイト超のデータを扱えるDNSキャッシュサーバにする。
3.512バイト超のデータを扱えるDNSキャッシュサーバをiOSを使うデバイスで指定する
4.512バイト超のデータを扱えるDNSキャッシュサーバを使えるコンピュータに載っている iTunes を使用
私は 4. で対処しました。unbound使用。
\(^O^)/
今回の問題で悪いのは誰?
1.Apple社Akamai Net にappldnld.apple.comのDNS権威サーバ運用を依頼
2.Akamai Net
appldnld.apple.comのDNS権威サーバを運用異様に多い AUTHORITY SECTIONやADDITIONAL SECTION、CNAME 4段設定など → 512バイト超。CNAMEの多用も適切ではない。
3.ブロードバンドルータ製造メーカー512バイト超の問い合わせができない
4.DNSの仕様を考案した人達512バイト超の問い合わせを仕様に入れたCNAMEを仕様に入れた
5.「動けばよい」と考える一般ユーザーDNSなんてよくわかんない。ルーターなんかよくわかんない。メーカーに任せりゃいいさ。
全員ダメダメでは?
さらに
巷に出回るいい加減な情報
● DNSをGoogle Public DNSにすればよい
たしかにそれで動くけど、本当にそれでいいの?– ちなみに海外では Open DNS を使えばよいという情
報も流布
中途半端な情報を流す人の主張
● 間違ってはいないだろ!● 動くからいいじゃないか!● みんなが言っていることだからいいじゃないか!● DNSって、難しそうだし…
要するに
自分で勉強して直す気なし
中途半端な情報を流す人の主張
● 間違ってはいないだろ!● 動くからいいじゃないか!● みんなが言っていることだからいいじゃないか!● DNSって、難しそうだし…
要するに
自分で勉強して直す気なし
本当にそれでいいの?
● 間違ってはいないけど、100点ではない。30点くらい。
● たまたま動いただけかもしれない。
– Google Public DNS に不具合起きたらどうするの?● 毒入れられたりしたらどうするの?
● みんなの主張が間違っていたらどうするの?● ルーターの不具合は残ったまま。
● DNSがわからないなら少しでもいいから勉強しようよ。
自分で勉強して直せるようになろうよ
というわけで言いたいこと
● 情報を得たら自分なりに咀嚼しよう– 自分の環境に合うか追試しよう– Work around ではなく、原理を理解しよう
● Work around だけだと応用が利かない– みんなが正しいとは限らない–丸写しはダメ
● おかしなところも丸写しになる。
なお現在(2012/3/24)は
1.Apple社(私の知る限り)正式発表なし
2.Akamai Net
(こっそり)512バイト未満にしたけれど…中途半端な対応か?↑CNAMEを3段に、Aレコードを8個に減らす
3.ブロードバンドルータ製造メーカーBuffalo社は調査を始めたようだが…真の解決は先の話になりそう
– 調査開始前にデータが512バイト未満になってしまった…
– 「弊社契約プロバイダでは発生しておらず、調査は難航しております」
– 回避策を案内しだしたが…Google Public DNSを使う人を量産するだけかも
4.DNSに興味ある方々512バイト超の問い合わせに関する情報を色々提供
5.一般ユーザー何もしなくてもiOS 5.1に更新できるようになった
まだ安心はできない
おしまい(^.^)/~~~