Linux 填充Samba AD反向区域
问题是填充反向区域PTR记录,如内部samba4 DNS实现中的正向DNS区域中所示 可使用以下命令捕获前进区输出:Linux 填充Samba AD反向区域,linux,dns,samba,Linux,Dns,Samba,问题是填充反向区域PTR记录,如内部samba4 DNS实现中的正向DNS区域中所示 可使用以下命令捕获前进区输出: samba-tool dns query adserver example.com @ A 输出具有以下格式: Name=, Records=0, Children=0 Name=host1, Records=1, Children=0 A: 192.168.0.12 (flags=f0, serial=2, ttl=900) Name=host2, Rec
samba-tool dns query adserver example.com @ A
输出具有以下格式:
Name=, Records=0, Children=0
Name=host1, Records=1, Children=0
A: 192.168.0.12 (flags=f0, serial=2, ttl=900)
Name=host2, Records=1, Children=0
A: 192.168.0.13 (flags=f0, serial=5, ttl=900)
需要的是自动创建反向区域记录的脚本。以下是python中的示例脚本:
import socket
import re
import sys
dns_server = sys.argv[1]
zone_name = sys.argv[2]
dns_file = open(sys.argv[3],'r')
current_hostname = ""
for line in dns_file:
match_name = re.match( r'^\s*Name=([-0-9A-Za-z]+),',line)
if match_name:
current_hostname=match_name.group(1)
match_addr = re.match( r'^\s*A:\s*(\d+)\.(\d+)\.(\d+)\.(\d+)\s+',line)
if current_hostname and match_addr:
current_addr=\
match_addr.group(1) + "." + \
match_addr.group(2) + "." + \
match_addr.group(3) + "." + \
match_addr.group(4)
print "samba-tool dns add " + dns_server + " " + \
match_addr.group(3) + "." + \
match_addr.group(2) + "." + \
match_addr.group(1) + ".in-addr.arpa " + \
match_addr.group(4) + " PTR " + \
current_hostname + "." + zone_name
dns_file.close()
该脚本将输出一系列samba工具命令,这些命令将自动创建反向区域记录