Население Самбы АД обратная зона - PullRequest
0 голосов
/ 25 февраля 2019

Проблема заключается в заполнении записей PTR обратной зоны, которые находятся в зонах Forward DNS во внутренней реализации DNS samba4.

Вывод прямой зоны может быть получен с помощью следующей команды:

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)

Необходим сценарий для автоматизации создания записей обратной зоны.

1 Ответ

0 голосов
/ 25 февраля 2019

Вот пример скрипта на 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, которые будут автоматизировать создание записей обратной зоны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...