|
|
|
@ -20126,6 +20126,13 @@ network %s")%net)
|
|
|
|
|
if not ranges:
|
|
|
|
|
notFoundOpts.append(("range",
|
|
|
|
|
"--range <ip range>"))
|
|
|
|
|
try:
|
|
|
|
|
netAndMask = self.getNet(net, data["mask"][0])
|
|
|
|
|
except:
|
|
|
|
|
self.printERROR(_('Incorrect netmask "%s" in')\
|
|
|
|
|
%data["mask"][0] +\
|
|
|
|
|
" " + _("in config file %s") %dhcpObj.nameConfigFile)
|
|
|
|
|
return False
|
|
|
|
|
dnsIPs = []
|
|
|
|
|
if data.has_key("optiondomain-name-servers"):
|
|
|
|
|
dnsIPs = data["optiondomain-name-servers"][0].split(",")
|
|
|
|
@ -20145,8 +20152,7 @@ network %s")%net)
|
|
|
|
|
self.printERROR(_("Can not create DNS zone %s") %net)
|
|
|
|
|
self.printERROR(\
|
|
|
|
|
_('Can not found %s')%",".join(optionsPr) + " "+\
|
|
|
|
|
_('in subnet "%s"')%net + " " + _("in config file %s")\
|
|
|
|
|
%dhcpObj.nameConfigFile)
|
|
|
|
|
_('in subnet "%s"')%net + " " + _("in config file %s") %dhcpObj.nameConfigFile)
|
|
|
|
|
self.printERROR(_("Use command:"))
|
|
|
|
|
self.printERROR("cl-dhcp-netmod %s %s/24"%(\
|
|
|
|
|
" ".join(optionsCmdPr),net))
|
|
|
|
@ -20154,10 +20160,11 @@ network %s")%net)
|
|
|
|
|
break
|
|
|
|
|
else:
|
|
|
|
|
# Создание DNS зоны
|
|
|
|
|
if not self.createDNSZone(domainNames, dnsIPs, ranges, net):
|
|
|
|
|
if not self.createDNSZone(domainNames, dnsIPs, ranges,
|
|
|
|
|
netAndMask):
|
|
|
|
|
flagError = True
|
|
|
|
|
break
|
|
|
|
|
allNets.append((net.rpartition(".")[0], domainNames[0]))
|
|
|
|
|
allNets.append((netAndMask, domainNames[0]))
|
|
|
|
|
if not flagError:
|
|
|
|
|
# Поиск статических хостов в конфигурационном файле dhcpd.conf
|
|
|
|
|
dataHosts = dhcpObj.getDataInAllHost()
|
|
|
|
@ -20182,8 +20189,11 @@ network %s")%net)
|
|
|
|
|
ip = data["fixed-address"][0]
|
|
|
|
|
# Полное имя хоста
|
|
|
|
|
fullDomainName = ""
|
|
|
|
|
for netPr, zone in allNets:
|
|
|
|
|
if ip.rpartition(".")[0] == netPr:
|
|
|
|
|
for netAndMask, zone in allNets:
|
|
|
|
|
isRange = lambda n, minN, maxN: minN<=n<=maxN
|
|
|
|
|
minNumber, maxNumber = self.getMinAndMaxIpNumb(netAndMask)
|
|
|
|
|
ipNumb = self.getNumberIP(ip)
|
|
|
|
|
if isRange(ipNumb, minNumber, maxNumber):
|
|
|
|
|
fullDomainName = "%s.%s"%(hostname,zone)
|
|
|
|
|
if ip and fullDomainName:
|
|
|
|
|
recData = self.servDnsObj.searchAllDomainNamesInLDAP(\
|
|
|
|
|