PowerShell 给现有DNS记录创建PTR反向查询

今天早上豆子无意中发现公司的DNS服务器上面只有正向的解析,而没有对应的PTR记录。换句话说,可以通过域名来解析IP地址,但是倒过来IP地址是找不着域名的。

1个小时写了个很简单的脚本,判断已有的记录是否存在对应的reverse zone 和PTR记录,如果没有的话,自动给我创建加上。

思路很简单,脚本也比较糙,没有任何容错处理和优化,不过实现功能就好。

$ptrzones=Get-DnsServerzone -ComputerName syddc01 | Where-Object {$_.zonename -like "*.arpa"}
#获取所以的A记录
$machines=Get-DnsServerResourceRecord -ComputerName syddc01 -RRType A -ZoneName ‘omnicom.com.au‘| select @{n=‘IP‘;e={$_.recorddata.IPV4Address.IPAddressToString}}, hostname, timestamp, @{n=‘PTRZone‘;e={$temp=$_.recorddata.IPV4Address.IPAddressToString.split(‘.‘);$t=$temp[2]+‘.‘+$temp[1]+‘.‘+$temp[0]+‘.in-addr.arpa’;$t}}

foreach($machine in $machines){
  
  #判断是否存在PTR的reverse zone
  write-host $machine.hostname
  write-host $machine.PTRZone 
  $flag=0
  foreach($p in $ptrzones){
    if($p.zonename -eq $machine.PTRZone){
        #write-host " Matched PTR Zone" -BackgroundColor Cyan
        $flag=1
        break
        }
  
  }
  #如果PTR Zone不存在,创建一个对应的
  if($flag -eq 0){
    write-host " PTRZone is Missing,A new PTRZone will be created" -ForegroundColor Red
    $temp=$machine.IP.Split(‘.‘)
    $range=$temp[0]+‘.‘+$temp[1]+‘.‘+$temp[2]+".0/24"
    #$range
    Add-DnsServerPrimaryZone -DynamicUpdate Secure -NetworkId $range -ReplicationScope Domain -ComputerName syddc01
  }
  else{
  
    #如果PTR zone存在,判断是否存在对应的PTR记录
    $hname=Get-DnsServerResourceRecord -ComputerName syddc01 -RRType Ptr -ZoneName $machine.PTRZone | select @{n=‘name‘;e={$_.recorddata.ptrdomainname}}
    #$hname
    $temp="*"+$machine.hostname+"*"
    if($hname -like $temp){
        
       Write-Host "Already exist" -ForegroundColor Cyan
    
    }
    else{
        #PTR Zone存在 但是PTR记录不存在
        Write-Host "Adding PTR record" -ForegroundColor Yellow
        Add-DnsServerResourceRecordPtr -ComputerName syddc01 -ZoneName $machine.PTRZone -Name $machine.IP.Split(‘.‘)[3] -AllowUpdateAny -TimeToLive 01:00:00 -AgeRecord -PtrDomainName $machine.hostname 
    }
    }
  
  
  }

执行脚本

结果

时间: 2024-11-03 21:27:43

PowerShell 给现有DNS记录创建PTR反向查询的相关文章

如何验证是否为域控制器创建了 SRV DNS 记录

http://blog.chinaunix.net/uid-641896-id-338662.html 如何验证是否为域控制器创建了 SRV DNS 记录,布布扣,bubuko.com

DNS服务正向、反向解析区域,主/从区域数据库复制,子域授权及基本安全控制

DNS是应用层的协议,默认使用UDP的53端口,也会用到TCP的53端口. DNS名称解析方式: 名称 --> IP:正向解析 第一段这种方式叫递归查询,只发出去一次请求,就给它返回答案:第二段这种方式就迭代查询,要发出多次请求,需要自己查询不同域名,最后才返回答案:这就是DNS的查询类型. 一般内网递归,外网迭代. IP --> 名称:反向解析 每一层服务器都有各自的数据库,来存储各自负责的网段,这与正向解析的数据库是两个各自独立的数据库. 一次完整的查询请求经过的流程: Client --

DNS正向解析、反向解析、主从复制以及正向子域授权

一.DNS概述以及相关术语 1.DNS是域名系统 (Domain Name System) 的缩写,是一种组织域层次结构的计算机和网络服务命名系统.它的作用是:把域名转换成为网络可以识别的 IP 地址,查询结果保存起来,并告诉给客户端. 2.FQDN全名是Fully Qualified Domain Name,即完全合格域名 3.CDN的全称是Content Delivery Network,即内容分发网络,通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统

搭建DNS主从服务器实现反向解析,子域,转发,智能DNS及排错和互联网DNS架构实验

1基本知识点 DNS服务 DNS:Domain Name System 应用层协议C/S,53/udp, 53/tcpBIND:Bekerley Internat Name DomainISC (www.isc.org)本地名称解析配置文件:hosts DNS域名 根域一级域名:Top Level Domain: tldcom, edu, mil, gov, net, org, int,arpa三类:组织域.国家域(.cn, .ca, .hk, .tw).反向域二级域名三级域名最多127级域名I

DNS记录类型介绍(A记录、MX记录、NS记录等)

DNS A记录 NS记录 MX记录 CNAME记录 TXT记录 TTL值 PTR值 建站名词解释:DNS A记录 NS记录 MX记录 CNAME记录 TXT记录 TTL值 PTR值 泛域名 泛解析 域名绑定 域名转向 1.DNS:Domain Name System 域名管理系统 域名是由圆点分开一串单词或缩写组成的,每一个域名都对应一个惟一的IP地址,这一命名的方法或这样管理域名的系统叫做域名管理系统.  DNS:Domain Name Server 域名服务器 域名虽然便于人们记忆,但网络中

Linux DNS正向解析和反向解析配置实例(一)

示例:建立正向反向解析区域为ning.com 在下面的配置中,有详细的解析配置: 1.配置文件的内容设置 #vim /etc/named/named.conf options {   // listen-on port 53 { 127.0.0.1; };----------必须监听在可以和外部通信的一个地址上可以指定,注意书写格式.(注释//掉是监听到所有的53号端口上)   //listen-on-v6 port 53 { ::1; };--------------IPV6的监听地址(注释/

DNS篇之二DNS记录类型

数据库中的,每一个条目称作一个资源记录(Resource Record, RR) 资源记录的格式: 第一段                       第二个字段    第三个字段          第四个字段(资源记录类型)    第五个字段 NAME                         TTL              IN(internet)               RRT VALUE值 ttl如果不写的话,需要在全局变量里面指定一个默认值.ttl值是可省略的. TTL 6

Powershell AWS 自动化管理 (12) - 创建一个高可用的WordPress博客(下)

这个是PowerShell创建AWS高可用博客的第三部分,我们来看看后半截工作是怎么完成的. 创建EC2-S3的Role,这个Role是分配给EC2虚拟机的,这样他们创建之后自动就有权限访问S3的内容. 创建VPC网络 创建VPC的2个子网,位于不同的AZ 创建Internet网关 配置路由表 创建并配置EC2的Security Group,确保80和22端口可用 创建高可用的MariaDB数据库 配置数据库的Security Group,确保3306端口可用 创建S3 Bucket 并配置Po

Powershell AWS 自动化管理 (10) - 创建一个高可用的WordPress博客(上)

豆子花了2周的时间断断续续地学习了AWS PowerShell的一些核心命令,然后又花了2天的功夫把这些知识点组合起来.网上目前除了官方文档的快速手册和命令大全基本没有太多PowerShell管理AWS的内容,大部分命令豆子是一条条搜索和查看帮助硬尝试出来的,下面共享出来,如果以后有类似需要的话可以省一些时间. 现在演示一下如何用PowerShell 脚本在AWS上创建一个高可用的WordPress博客.这是个很典型的AWS的高可用场景. 下面是基本需求 用户通过DNS解析Elastic Loa