リアルタイムでDNSルックアップをプログラムで変更するには?

リアルタイムでDNSルックアップをプログラムで変更するには?

OpenDNS(子供保護)とUnoTelly(地域制限バイパス)の両方を使いたいです。

サイトがブロックされると、OpenDNS は IP をエラーページとして返します。したがって、対応するエラーIPを受け取ったら、それを検索結果として返したいと思います。それ以外の場合は、UnoTellyを使用して名前を見つけて返します。

これを行うためにどのDNSソフトウェアが役に立ちますか?

ベストアンサー1

デフォルトでは、2つのアップストリームサーバーを照会し、2つの答えに基づいて結果を返す2段階のDNSリゾルバーを設定します。これを行う普遍的な方法があるかどうかはわかりませんが、良いDNSライブラリがあればスクリプトするのはそれほど難しくありません。残念ながら、最近のほとんどのプログラミング言語はこれを提供していません(少なくともサーバー側ではありません)。しかし、幸運にもPikeは提供しています。 :)

ただし、DNSを台無しにする予定の場合は、どのように処理するかを決定する必要があります。みんなA / AAAAレコードだけでなく、ルックアップタイプもあります。最も簡単な方法は、アップストリームの1つをデフォルトのアップストリーム(おそらくOpenDNS)として選択し、その応答を変更せずに使用することです。

コードは、次の単純なDNSロガーのようなものです。

https://github.com/Rosuav/Hogan/blob/master/dnslog.pike

おすすめ記事