DigiLoog

PC関係の事なら何でもいけるそんな処

VPN環境下のandroid用Firefox名前解決が困ったちゃんな件

2014年12月23日(火) - 16:47 | カテゴリ: Network

自宅にいる時はandroidからns-lab BBへ直接接続しているので問題が無いのだが、
外出先からVPN(IPSec)を張ってns-lab BBに接続する際に問題が起きたのでちょいとメモ。


事の発端は、内向けDNSのTTLを86400から10800に短縮した為。
TTL=86400の時はandroid端末内にDNSキャッシュが残っている為、
VPN経由で自鯖に接続をしても、キャッシュが優先されて内向きのAレコードが返ってきていた。
しかし、TTL=10800にすると流石にキャッシュが切れる事があり、

キャッシュ切れる → 内部の名前解決 → "ns-lab.org"ドメインのグローバル側Aレコードが返答される →
"ns-lab.org"サブドメインの問い合わせもグローバル側に投げられる → Aレコードが無いのでNoReplyになる

という、よくある障害コンボに突き当たった。
まぁ、この辺りは慣れた物でVPNプロファイルで優先DNSを設定したりしてなんとか回避。

したと思ったが、んな事無かった(´・ω:;.:…

文章だと非常にわかりずらいので、またもやトポロジ図の出番。

  1. サーバがInternetとLANに見せているドメインは同じ
  2. VPNクライアント側はSplitTunnelingを使って、InternetとVPN網の両方に接続可能
  3. androidからserverへ名前解決を行って"www.hoge.org"プライベートIPのAレコードが取れれば理想

この状態でandroidからserverに問い合わせを行うと、
グローバルIP(202.212.xxx.aaa)が返答されてしまい、
"www.hoge.org"のAレコードを引っ張る事が出来なかった。まぁ、当たり前って言えば当たり前なのだが

………

この辺りの対処方法は色々とやり方があるのだが、今回は優先DNSを設定する方法で対処。
しかし、PCではLANの名前解決が出来るのにandroidのWebブラウザから
"www.hoge.org"にアクセスしようとすると何故か202.212.xxx.aaaが返答され、
LAN内のAレコードが引けない状態となった。
しかし、androidから直接nslookupやったりdigったりすると、ちゃんとLAN内のAレコードが引ける状態…

この辺りで「Webブラウザ(Firefox)が臭うな…」と思ってchromeに変更してアクセスしてみると、
"www.hoge.org"がちゃんと表示出来た。

………

という事で、Webブラウザが見るDNSリゾルバがなんかおかしいという事がわかったので、
適当なWebブラウザの挙動を調べてみた。間違っていたらゴメンナサイ

  • chrome → 優先DNSあればそっちも見る。
  • Firefox → androidのネットワーク項目に設定したDNSサーバだけを見る。
  • dolphin → 優先DNSがあればそっちも見る。

なんとも微妙な結果だが、今回の結末はWebブラウザの挙動で変化するという内容だった。

今回の事から
「DNSのTTLを長くしておくと、それに起因しての隠れた障害も起こりうるんだなぁ~」
と実感した昨晩。

DNSは軽視されがちだけど、一度障害が起きると全滅するから特に気をつけておきたい所。
…たとえソフトウェア側に問題があったとしても(´;ω;`)





  • 応援中

    はじめるセカイの理想論 -goodbye world index-