プロキシ(dolipo)を設定すると、MobileMeのバックアップが失敗する、その回避策メモ
最新記事はこちらdolipoを使いながらBackup.appを実行 - ろばの穴・別館
備忘録
2010/11/14追記あり*1
現象
MobileMe(iDisk)をバックアップ先にBackup.appでバックアップを実行すると「バックアップの失敗!」と表示される
コンソールには以下のログ
MobileMe に接続されています
2010-10-31 01:44:00.457 +0900 にバックアップを開始します
ファイルをスキャン中...
警告:バックアップ先にフルバックアップがありません:
2010-10-31 01:44:05.587 +0900 にバックアップを終了します
MobileMe に接続されています
2010-10-31 01:44:06.558 +0900 にバックアップを開始します
ファイルをスキャン中...
バックアップ先を取得できませんでした。
2010-10-31 01:44:11.261 +0900 にバックアップを終了します
httpだけプロキシを通すように、ネットワーク環境設定で指定しているのだけれど、そうするとBackup.appが失敗するのには気付いていた。httpプロキシを使いたいのはSafariだけなんだけれど、Safariだけプロキシを通すという設定はないらしい。FireFox、Chrome、Operaには個別にプロキシ設定できるのに…。どうにかエラーを回避できないかと検索してみたら、アップルのサポートからの回答でプロキシを切るように、という情報ぐらいしかなかった。プロキシを切って済むなら最初から設定しないわけだし。
仕方なく、失敗の原因となっている通信を調べて、その通信だけプロキシを通さない設定にできないかやってみた。結果としては、
- 原因となっているパケットは、宛先が以下の2箇所(ドメインだと3カ所)だということが分かった。
a96-6-205-205.deploy.akamaitechnologies.com.http(118.215.5.205)
a96-6-205-206.deploy.akamaitechnologies.com.http(118.215.5.206)
e3382.b.akamaiedge.net(118.215.5.206)
そして以下の対処で解決した。
- dolipoについてきた「proxy.pac」に以下を追加。
isInNet(host, "118.215.5.0", "255.255.255.0") ||
- ネットワーク環境設定のプロキシ設定で「自動プロキシ構成」を選択、上記「proxy.pac」ファイルを指定。
試行錯誤の記録
1)ターミナル.appでtcpdumpを実行し、失敗するときのパケットを調べた。このときルート権限じゃないと実行できないので、sudoか、rootログインしてから実行する。「192.168.xxx.xxx」は自分のIPアドレス。en0はifconfigで調べたEthernetのインターフェイス名。
root# tcpdump -i en0 src host 192.168.xxx.xxx and port 80
2)すると、以下の3カ所が検出された。
174.36.30.33-static.reverse.softlayer.com
a96-6-205-206.deploy.akamaitechnologies.com.http
a96-6-205-205.deploy.akamaitechnologies.com.http
3)ネットワーク環境設定の「プロキシ設定しないホストとドメイン」に「118.215.5.*」を指定してみたが、バックアップは失敗。LittleSnitchというパケットモニターでdolipoを通ってしまっていることを確認。
4)以下の方法でバックアップが成功し、LittleSnitchでもdolipoを経由していないことを確認。
1. dolipoについてきた「proxy.pac」に以下を追加。
isInNet(host, "118.215.5.0", "255.255.255.0") ||
2. ネットワーク環境設定のプロキシ設定で「自動プロキシ構成」を選択、上記「proxy.pac」ファイルを指定。
174.36.30.33は指定しなくても大丈夫だったので指定していない。これで正しい回避方法なのか分からないけれど、IPアドレスのレンジがこれで収まっていればしばらくは動くんじゃないかと思う。