DNS逆引き参照


13

みなさん、おはよう、

合計10万台のマシンに対して、c.150kのDNSレコードを持つドメインを渡されました。DNSレコードはすべて同じドメインの単一の前方参照ゾーン内にあり、逆参照ゾーンはありません。

Scavenging and Agingはオプションではないため(幸運なことに!)、大量の古いレコードを削除する簡単な方法を見つける必要があります。

私にとって最も簡単な出発点は、1年以上前のタイムスタンプ(約2700レコード)を持つすべてのレコードを削除することでしたが、それらの一部はまだpingに応答しています。

これは、DHCPを使用しており、IPが新しいホストに与えられているためです。

通常、逆ルックアップzoenは、IPの複数の登録を検索できるように、今では本当に便利になりますが、前に言ったように、1つはありません。

重複を探す簡単な方法を知っている人はいますか?DNSからCSVへの完全なエクスポートを検討し、並べ替えとフィルタリングを開始しましたが、2kを超えるレコードについては、少し簡単なものを期待していました。

また、実行するキットの一部は安っぽい性質であるため、レコードを削除して再登録を許可することはオプションではありません!

考え?

編集:すべてのマシンがADに参加しているわけではないため、AD / DNSの比較は問題外です。

編集2:すべてのラウンドに賛成票を投じる、ここでいくつかの本当に良い提案!私はすでにExcelでエクスポートとcomapresの作業を開始しており、進行中の各IP /ホストに対してpingを実行してテストファイルにログを記録し、実際の内容と実際の内容を確認し、リアルタイム監視を開始するためにパケットキャプチャの変更承認を待っています。これらのスクリプトも有用であり、現在の形式で使用するつもりはありませんが、自分のものを書くための良い基礎を与えてくれました。みんな、ありがとう!

回答:


8

CSVとしてエクスポートしてからExcelにインポートできる場合、条件付き書式を使用して重複のリストを生成できますか?

http://www.tech-recipes.com/rx/35290/excel-2013-find-duplicate-data-using-conditional-formatting/


4
ソリューションにリンクを使用しないでください。回答にソリューションを提供すると、リンクが悪くなる可能性があるため、回答の質が向上します。
ポール

3
@Paulの言うことを明確にするために、もちろんリンクだけでなく、リンクが必要です。そのため、回答にリンクを保持しますが、そのターゲットに書かれているものを追加します。
glglgl

けっこうだ!将来的にしなければならない。
リースエヴァンス

6

nmapを使用して、残りのデッドレコードを消去する必要があるすべてのアライブホストを確認します。ただし、この時点から先に清掃することを強くお勧めします。でも楽しそうですね:)


これは、ホストが常時オンの場合に機能します。マシンもラップトップである場合、一部(または多くはアクティビティによって異なります)が失われる可能性があります。
WoJ

4

次に、2つのスクリプト(ほとんど同じ)を示します。1つは重複するIPを検出し、もう1つは重複する名前を検出します。

#region Find duplicate name in dns records
$DupNames = Get-WmiObject -ComputerName 'dc2008' `
   -Namespace 'root\MicrosoftDNS' `
   -Class MicrosoftDNS_AType `
   -Filter "ContainerName='yadsarah.org.il'" | Select-Object RecordData, TimeStamp, OwnerName | `
Group-Object OwnerName | Where-Object {$_.Count -gt 1}

$DupNamesArr = @()
foreach ($RecordGroup in $DupNames) {
    foreach ($Record in $RecordGroup.Group) {
        $RecordObj = New-Object System.Object
        $RecordObj | Add-Member -MemberType NoteProperty -Name 'Name' -Value $Record.OwnerName
        $RecordObj | Add-Member -MemberType NoteProperty -Name 'IPAddress' -Value $Record.RecordData
        $RecordObj | Add-Member -MemberType NoteProperty -Name 'TimeStamp' -Value $Record.TimeStamp
        $DupNamesArr += $RecordObj
    }
}
#endregion

#region Find duplicate IP in dns records
$DupIPs = Get-WmiObject -ComputerName 'dc2008' `
   -Namespace 'root\MicrosoftDNS' `
   -Class MicrosoftDNS_AType `
   -Filter "ContainerName='yadsarah.org.il'" | Select-Object RecordData, TimeStamp, OwnerName | `
Group-Object RecordData | ?{$_.Count -gt 1}

$DupIPArr = @()
foreach ($RecordGroup in $DupIPs) {
    foreach ($Record in $RecordGroup.Group) {

        $RecordObj = New-Object System.Object
        $RecordObj | Add-Member -MemberType NoteProperty -Name 'Name' -Value $Record.OwnerName
        $RecordObj | Add-Member -MemberType NoteProperty -Name 'IPAddress' -Value $Record.RecordData
        $RecordObj | Add-Member -MemberType NoteProperty -Name 'TimeStamp' -Value $Record.TimeStamp
        $DupIPArr += $RecordObj
    }
}
#endregion

ノート:

  1. 一部のシステム(負荷分散など)では、適切に動作するために重複レコードが必要です。

  2. WMIを使用してコンピューター名とIPを追加して、レコードを検証できます。

  3. タイムスタンプ0のレコードは静的です。つまり、レコードは手動で追加されました(重要である可能性が高い)。


2

たぶん、あなたは十分に長い期間、すべての実際のDNSリクエストをログに記録することができます(四半期ごとにクエリを1回、すべてのプリンターページ統計を取得したい場合、これは実際には数か月かかるかもしれません)。その後、要求されなかったすべてのレコードを削除します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.