今天早上豆子无意中发现公司的DNS服务器上面只有正向的解析,而没有对应的PTR记录。换句话说,可以通过域名来解析IP地址,但是倒过来IP地址是找不着域名的。
1个小时写了个很简单的脚本,判断已有的记录是否存在对应的reverse zone 和PTR记录,如果没有的话,自动给我创建加上。
思路很简单,脚本也比较糙,没有任何容错处理和优化,不过实现功能就好。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
$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
}
}
}
|
执行脚本
结果
本文转自 beanxyz 51CTO博客,原文链接:http://blog.51cto.com/beanxyz/1875747,如需转载请自行联系原作者