中国国内のDNSは信用出来ない
海外から中国に海外赴任でやってくることもあれば、出張でやってくることもあるだろう。そして、この国のネットワークにつなぐと色々と不具合が起こる。帰国したあともトラブルが続くというプレゼント付き。そんなトラブル対処をどうすればいいのか?解決方法をご紹介。
中国で押し付けられるウソつきアドレス帳
中国では、複数の方法で海外へのアクセスを遮断、妨害している。よく使われるのは、次の2点。
- IPとアドレス規制キング
- DNSフィルタリング
前者は特定のアドレスを規制するだけなのでかんたん。しかし、後者のDNSフィルタリングは、海外にも影響を与えかねない非常に悪質な方法。おまけに、中国のネットワークに接続したときに、これに引っかかると帰国後も影響がでる。
アクセス遮断、妨害の方法
IPとアドレス規制キング
これは”特定のIPやアドレスを遮断”する方法。例えば、「http://www.facebook.com」を開こうとすると、それが禁止アドレスに該当するので通信がすぐに遮断される。国外へのアクセスが始まる前に遮断されるので、VPNでも使わない限り、防ぎようがない。
DNSフィルタリング
これは”あるURL(例えば yahoo.co.jp)のIPアドレスを返さないまたは間違ったアドレスを教える”方法。
インターネットの世界は4つのIPアドレス(例:123.456.789.101)で構成されていて(※IPv4の場合。v6の場合6つ)、URLから実際のIPアドレス(サーバ所在地)への返還を行うのがDNSと呼ばれるサービス。いわば、インターネットの住所録。中国のシステムは、この問い合わせに対して故意に無回答をしたり、間違えたものを与えてアクセスを妨害する。中国の警察に路を訪ねに行ったら、担当者がそのまま席を外して食事に行ったり、間違った路を教えるようなものだと思えばいい(中国の警察ならやりかねないが…)。
正しいDNSを使うことの重要性
中国国内のDNSは、上記の検閲システムの影響で回答をしなかったり、誤りだったりする。普通に中国のインターネットに接続すると、中国の住所録をもらうので仕方がない。そこで、DNSフィルタリングや無回答問題を解決するためにも、信用できる住所録を手に入れることが重要になる。また、正しいDNSを使うことは、無駄なアクセスを減らすことにもなるので、インターネットの高速化にも寄与する。この点については、下記の記事をみてほしい。
「8.8.8.8,8.8.4.4」より速い「129.250.35.250」
「DNS Benchmark」を使ったネットワークアクセス全般が軽くなる「参照 DNS サーバーの変更」 – digital 千里眼 @abp_jp
DNSの設定を変更する方法
1.ネットワークの設定を開く
「スタート > コントロールパネル > ネットワークと共有センター」から「アダプターの設定変更」をクリック。
2.アダプターのプロパティを開く
使っているネットワークアダプター(有線LANや無線LAN)を選択して、右クリックでプロパティ
3.DNSを設定する
どの値を設定するかは自由。Googleの公開DNSだと「8.8.8.8」でセカンドDNSが「8.8.4.4」
とてもお手軽な上、それなりに効果がでると思う。
キャッシュされたDNS情報を削除
中国のネットワークに接続後、開けないサイトが出ているようであれば、キャッシュされたDNS情報を削除すると効果的。
Windows XP/Vista/7の場合は、[スタート]-[すべてのプログラム]-[アクセサリ]-[コマンドプロンプト] を指定。この画面で、下記を打ち込んでEnterを押す。
ipconfig /flushdns
成功すると”Successfully flushed the DNS Resolver Cache.”や”DNSリゾルバーキャッシュは正常にフラッシュされました。”とでてくるはず(下図参考)。これ以降、アクセス時には、上で設定したDNS情報をもとにアクセスするようになる。
中国国内のネットから取得できるDNSはウソつきアドレス帳のようなもの。持っていて、損することはあるだろうが、得することはない。中国国内外かかわらず、見ない、使わない、持っていたら即捨てるを心がけたい。
コメント
河野さん
コメントありがとうございます。
タイムアウトは中国以外でも起きるエラーの類で細かい切り分けしないと原因とは言い切れません。
国内のネットワークレスポンスが悪い場合は,一度キャッシュなどをクリアすれば経路が変わって改善することがあります。
しかし,海外との接続の場合はあまりありません。別記事でも述べてますが,ほとんどの場合が金盾が悪さしているためです。
DNSは正引き/逆引きが正しくできていればいいので効果が得づらいです。
プロバイダー(promote.cash-dns.localがChina mobileと出てくるので中国電信でしょうか?)を変えてみるのも手です。
こんにちは。いつも参考になる記事掲載ありがとうございます。ところで、こちらに書かれているDNS設定を試みて気づいた点がありましたので、質問させて下さい。コマンドプロンプトのトレース(tracert baidu.com)を行うと、下記の状態が表示されます。
ネットのレスポンスを悪くしているのは、ここにある”promote.cash-dns.local”なのでしょうか。また、改善方法は、ありますでしょうか。
尚、プロバイダー契約は、ADSL 150m 契約です。ping baidu.comコマンドの平均時間は、84ms。インターネットの回線スピードは、上り下りおおよそ5Mb/sです。DNS設定をを自動取得にしても、ほぼ同じ結果でした。中国大連在住。
————– tracert 結果 ——————————————-
1 6 ms 2 ms 4 ms promote.cash-dns.local [10.19.xx.xx]
2 5 ms 3 ms 12 ms promote.cash-dns/local [10.19.xx.xx]
3 * * * 要求タイムアウト
4 3 ms 9 ms 9 ms promote.cash-dns.local [10.6.xx.xx]
: :
: : 要求タイムアウト
18 81 ms 81 ms 80 ms 123.125.115.110
トレースを完了しました
Androidの場合、基本的にrootを取得した端末でも無い限りWi-FiまたはVPNのプロファイルにあるDNSの設定を変更するしか方法はありません。
rootを取得していない端末上でかつモバイルネットワークを使用する環境下であるときDNSの設定変更ができないよう設計されていると考えられます。
[設定]→[Wi-Fi]→任意のSSIDを選択し、それを長くタップ→[ネットワークを変更する]→DNSアドレスを打ち込み保存
VPNも[設定]→[VPN]で同じように変更できます。
こんにちは。AndroidでDNSアドレスを変える方法を教えてください。ちなみに私はStatic DNS for Wi-Fiで簡単に設定、アドレスはページにあることとあとComodoなどあと4つあります。