问题是要填充内部samba4 DNS实现中正向DNS区域中找到的反向区域PTR记录。
可以使用以下命令捕获前向区域输出:
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)
需要的是用于自动创建反向区域记录的脚本。
答案 0 :(得分:0)
这是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-tool命令,这些命令将自动创建反向区域记录。