コムキャストは月曜日に大規模な「障害」に見舞われ、シアトルとサンフランシスコ・ベイエリアに影響を及ぼしました。「障害」という言葉が二重引用符で囲まれている点にご留意ください。問題は同社のブロードバンドネットワークを構成する物理的なリンクや、大小さまざまなセグメントを接続するルーターに発生したものではありません。配管の不具合、つまり水道管や水は問題ないのに蛇口が開けられないといった状況でした。
Comcastは、国内の一部地域でDNS(ドメインネームシステム)サーバーに障害が発生しました。DNSは、「[削除されたリンク]」のような人間が読みやすく入力可能な名前を、70.42.185.230や2607:f8b0:400a:805::1004といった接続開始時に使用するインターネットプロトコル(IP)番号に変換する接着剤のような役割を果たします。(前者は旧式のIPv4、後者はIPv6です。)
これは驚くほど重要な結合組織です。数字を(面倒なことに)手動で入力することもできますが、数字は変更される可能性があり、多くのウェブサーバーはリクエストの一部として名前を送信するように設定されています。これにより、1つのハードウェアまたはサーバーソフトウェアで複数、あるいは数万もの異なるウェブサイトを処理できるようになります。
しかし、これは非常に簡単に自分で行うことができます。すべてのコンピューター、そしてほとんどのモバイルデバイスとルーターは、ISP(インターネットサービスプロバイダー)が提供するDNSサーバー以外のDNSサーバーを指定できます。これにはいくつか潜在的な問題がありますが、インターネットに接続するか接続しないかのどちらかを選ばなければならないのであれば、そうしない理由はありません。
代替DNSを選択して設定する
いわゆるパブリックDNSプロバイダーは、誰でも利用できるDNSルックアップを提供しています。パブリックDNSプロバイダーに切り替えるには、少しの設定が必要ですが、アカウントやその他の契約は必要ありません。
OpenDNSはこうしたサービスの中で最も古く、ISPが運営するDNSサーバーが非常に遅かった時代に誕生しました。コンピューターが特定のドメイン名を初めてリクエストした際に、そのドメイン名を検索したりIPアドレスに変換したりするのに、1秒、あるいはそれ以上かかることもありました。OpenDNSは、高速なサーバーを提供することで、ウェブブラウジングの体感速度を向上させました。現在、OpenDNSはマルウェア対策、脅威対策、ネットワーク利用状況分析など、登録制の無料サービスと有料のアドオンサービスを幅広く提供しています。DNSサーバーは208.67.222.222と208.67.220.220にあります。
GoogleのパブリックDNSは後に登場しましたが、これはDNSそのもので、それ以上のものではありません。DNSサーバーには8.8.8.8と8.8.4.4というスタイリッシュな数字が使われています。(他にもパブリックDNSプロバイダーはありますが、他に探す理由は思い当たりません。)
ほとんどのネットワーク構成では、IPアドレスやその他のネットワーク設定は、ローカルネットワーク上のDHCP(Dynamic Host Configuration Protocol)サーバーからルーターを介して、インターネットアクセスを必要とするすべてのデバイスに提供されます。1つまたは複数のDNSサーバーも同様に設定されています。ただし、この設定を上書きすることもできます。
パブリックDNSプロバイダーやISP DNSプロバイダーは通常、2台のサーバーを提供しますが、これは一時的な障害や過負荷に対処するためです。各「サーバー」は実際には数百、数千台のハードウェアの集合体であり、メインIPアドレスへのクエリにラウンドロビン方式で応答します。サーバーは1台でも問題ありませんが、2台にすることでより耐障害性が向上します。
マックOSX
OS X のすべての最新バージョンでは、次の手順に従ってください。
システム環境設定を開き、「ネットワーク」をクリックします。
Wi-Fi やイーサネットなどのアクティブなアダプターを選択します。
[詳細設定]をクリックします。
DNS タブをクリックします。
下部の「+」記号をクリックして、最初のDNSサーバーを貼り付けます。もう一度「+」をクリックして、2番目のDNSサーバーを貼り付けます。
[OK]をクリックし、[適用]をクリックします。
任意のアダプタを選択した状態で「詳細」をクリックし、ネットワーク環境設定パネルから OS X の DNS 設定を変更します。
新しい設定はすぐにご利用いただけます。ISPのDNSとパブリックDNSサーバーを切り替えたい場合は、以下の手順に従ってください。
アダプターを選択してください。
アダプタ リストの下部にある設定 (歯車) メニューから、[サービスの複製] を選択します。
重複した名前に、「Wi-Fi Google DNS」のようなわかりやすい名前を付けます。
「複製」をクリックします。
上記の手順を使用して DNS 値を設定します。
わかりやすくするために、元のサービスを選択し、歯車アイコンを選択して、「サービス名を変更」し、手順 3 とは異なる名前を付けます。
使用していないサービスを選択し、「設定」>「サービスを非アクティブにする」を選択して無効にします。もう一方のサービスがまだ有効になっていない場合は、「設定」>「サービスをアクティブにする」を選択して有効にします。「適用」をクリックします。
iOS
残念ながら、AppleはiOSでグローバルDNS設定を提供していません。そのため、接続するネットワークごとにDNSサーバーのアドレスを変更する必要があります。単一のホームネットワークであればそれほど負担にはなりませんが、ローミング時に代替DNSを使用する場合は、より大きな問題となります。
設定を起動します。
Wi-Fiを選択します。
アクティブなネットワークの右側にある情報 i アイコンをタップします。
DNS フィールドをタップして消去し、独自のサーバー値をコンマで区切って入力します。
Wi-Fiをタップすると設定が適用されます。
iOS では、接続する Wi-Fi ネットワークごとにのみ DNS サーバーを変更できます。
AirPortユーティリティ
ネットワーク上で 1 つ以上の Apple Wi-Fi ベースステーションを使用しており、唯一のベースステーションまたはメインのベースステーションを使用して DHCP 経由でネットワーク割り当てを配布している場合は、上記の手順のようにローカル設定で上書きされない限り、接続されているすべてのデバイスが使用する DNS 値を変更できます。
AirPort ユーティリティを起動します。
自分のベース ステーション、または複数のベース ステーションがあるネットワーク内のメイン ベース ステーションを選択します。
[編集]ボタンをクリックします。(ベースステーションのパスワードを求められた場合は入力します。)
「インターネット」タブをクリックします。
[DNS サーバー] フィールドに、サーバーの IP アドレスを入力します (必要に応じて IPv6 DNS サーバーを個別に設定できますが、IPv4 DNS サーバーは IPv6 アドレスを提供でき、その逆も可能です)。
「更新」をクリックすると、ベースステーションが新しい設定で再起動する間、一時的にネットワークが利用できなくなります。
AirPort ユーティリティを使用すると、デバイスの接続時にネットワーク アドレスが割り当てられるときに使用される DNS サーバー設定を入力できます。
パブリックDNSサーバーとISPのサーバーを簡単に切り替えられるようにしたい場合は、まず「ファイル」>「設定ファイルの書き出し」を選択して設定を保存してください。ファイル名には「AirPort Main ISP DNS Servers」のように、後で分かりやすい名前を付けてください。
次に、上記の手順に従って変更を加え、ベース ステーションを再起動した後、[ファイル] > [構成ファイルのエクスポート] を選択して、「AirPort Main Google Public DNS」などの同様にわかりやすい名前で保存します。
ベースステーション間で切り替える場合は、上記の手順1~3に従い、「ファイル」>「構成サーバーのインポート」を選択し、ファイルを選択して「更新」をクリックします。ベースステーションは新しい構成で再起動します。
もっと抱きしめてよ、ちびっ子DNSer
ISPが運営するDNSサービスではなく、パブリックDNSサービスを選ぶことにはデメリットもあります。コンテンツ配信ネットワーク(CDN)は、画像、動画、その他のメディアをエンドユーザーに「より近い」場所に配信するために、大小さまざまな企業で広く利用されています。CDNは、少数の拠点に巨大なサーバー(小規模企業であれば1台)を運用するのではなく、世界中に数千台のサーバーを配備することでこれを実現しています。
これらのサーバーは、主要なネットワークインターチェンジ内、またはISPや企業が運営するネットワーク内に配置されます。ユーザーがウェブページやその他のダウンロードをリクエストすると、デバイス、ルーター、またはISPのDNSリクエストは、ネットワークホップ数が最も少ないサーバーのIPアドレスを返します。Akamaiは人気のCDNであり、Amazonはオンデマンドサービス部門の一環としてCDNを運営しています。Appleは独自のCDNを構築し、他社とも契約しています。
しかし、パブリックDNSサーバーはブロードバンドプロバイダーのようにDNSリクエストの発信元を渡すことができません。CDNネットワークは、リクエストをネットワーク上のユーザーの位置ではなく、DNSサーバーから受け取ったものと認識します。そのため、ネットワークの観点から非常に「遠い」CDNサーバーに接続してしまう可能性があります。本来10Mbpsで流れるはずのダウンロード速度が、500Kbpsで途切れてしまうのです。
この問題が発生した場合は、そのことを念頭に置いてください。解決策は、上記のように ISP の DNS サーバーに (少なくとも一時的に) 切り替えることです。
次にインターネットがダウンして悲痛な思いをしたとき、DNSが原因ではないかもしれません。バックホーが誤ってケーブルを切断したか、あるいは全くの無能さが原因かもしれません。しかし、試してみる価値はあります。一部のISPでは、パブリックDNSに切り替えることで全体的なパフォーマンスが向上することがよくあります。