Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 填充Samba AD反向区域_Linux_Dns_Samba - Fatal编程技术网

Linux 填充Samba AD反向区域

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

问题是填充反向区域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, 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工具命令,这些命令将自动创建反向区域记录