Bug 18206 - DNS- und DHCP-Objekte für einen Host in einem 16er Subnetz
DNS- und DHCP-Objekte für einen Host in einem 16er Subnetz
Status: CLOSED INVALID
Product: UCS
Classification: Unclassified
Component: UDM (Generic)
UCS 3.0
Other Linux
: P5 normal (vote)
: UCS 4.2
Assigned To: Philipp Hahn
Florian Best
: interim-1
: 18205 (view as bug list)
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2010-04-20 16:45 CEST by Janis Meybohm
Modified: 2017-04-04 18:29 CEST (History)
3 users (show)

See Also:
What kind of report is it?: Bug Report
What type of bug is this?: 4: Minor Usability: Impairs usability in secondary scenarios
Who will be affected by this bug?: 1: Will affect a very few installed domains
How will those affected feel about the bug?: 2: A Pain – users won’t like this once they notice it
User Pain: 0.046
Enterprise Customer affected?: Yes
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number: 2012011221003536,2010032610000542
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Janis Meybohm univentionstaff 2010-04-20 16:45:07 CEST
Ticket#: 2010032610000542
 Versucht man fÃŒr ein Netzwerk 172.17.0.0/16 einen Host anzulegen, und bei 
 Anlage auch gleich DHCP und DNS-Eigenschaften anzugeben, wird die Anlage 
 verweigert.
 
 Ich hatte auch mal versucht, das ganze Ìber die BenutzeroberflÀche 
 nachzustellen. Dort das gleiche Ergebnis. Vielleicht besteht der Fehler 
 auch darin, dass der Zonenname als
 0.16.172.in-addr.arpa,cn=dns,dc=kunde,dc=de
 und nicht als
 16.172.in-addr.arpa,cn=dns,dc=kunde,dc=de
 angegeben ist (bin nicht sicher), aber die OberflÀche macht es genauso, 
 auch wenn als Maske 16 angegeben ist.
 
 Unten Protokollauszug
 arg[00] udm
 arg[01] computers/ipmanagedclient
 arg[02] create
 arg[03] --position=cn=computers,dc=kunde,dc=de
 arg[04] --set
 arg[05] name=swpeg1
 arg[06] --set
 arg[07] ip=172.16.1.1
 arg[08] --set
 arg[09] description=Beschreibung
 arg[10] --set
 arg[11] 
 dnsEntryZoneReverse=zoneName=0.16.172.in-addr.arpa,cn=dns,dc=kunde,dc=de
 arg[12] --set
 arg[13] dnsEntryZoneForward=zoneName=kunde.de,cn=dns,dc=kunde,dc=de
 arg[14] --set
 arg[15] kundeHostRoomNumber=Raumnummer
 arg[16] --set
 arg[17] network=cn=Netzwerk,cn=networks,dc=kunde,dc=de
 cmd:  udm computers/ipmanagedclient create 
 --position=cn=computers,dc=kunde,dc=de --set name=swpeg1 --set 
 ip=172.16.1.1 --set "description=Beschreibung" --set 
 dnsEntryZoneReverse=zoneName=0.16.172.in-addr.arpa,cn=dns,dc=kunde,dc=de 
 --set dnsEntryZoneForward=zoneName=kunde.de,cn=dns,dc=kunde,dc=de --set 
 "kundeHostRoomNumber=Raumnummer" --set 
 network=cn=Netzwerk,cn=networks,dc=kunde,dc=de
 Traceback (most recent call last):
   File 
 "/usr/share/univention-directory-manager-tools/univention-cli-server", line 
 231, in doit
     output = univention.admincli.admin.doit(arglist)
   File "/usr/lib/python2.4/site-packages/univention/admincli/admin.py", 
 line 740, in doit
     dn=object.create()
   File 
 "/usr/lib/python2.4/site-packages/univention/admin/handlers/__init__.py", 
 line 305, in create
     return self._create()
   File 
 "/usr/lib/python2.4/site-packages/univention/admin/handlers/__init__.py", 
 line 648, in _create
     raise e
 missingInformation: Reverse zone and IP address are incompatible.
 Executionresult 3
 Createresult: 3
 #####################################
 
 Wenn ich den entsprechenden Programmcode anschaue, kann ich erahnen, dass 
 vielleicht einfach die Netzmaske keine BerÃŒcksichtigung findet, d.h. 
 einfach immer von einem Class-C-Netz ausgegangen wird. Eine IP-Adresse nur 
 mit Stringoperationen zu behandelt, ist gerade bei "ungewöhnlichen" 
 Netzmasken m.E. gar nicht möglich.
 
 /usr/lib/python2.4/site-packages/univention/admin/handlers/__init__.py
 Zeile 1326
 
                 if name and zoneDn and ip:
                         univention.debug.debug( univention.debug.ADMIN, 
 univention.debug.INFO, 'dns reverse object: start' )
                         subnet = ldap.explode_dn( zoneDn, 1 )[ 0 ].replace( 
 '.in-addr.arpa', '' ).split( '.' )
                         subnet.reverse( )
                         subnet = string.join( subnet, '.' ) + '.'
                         ipPart = ip.replace( subnet, '' )
                         if ipPart == ip:
                                 raise 
 univention.admin.uexceptions.missingInformation, _( 'Reverse zone and IP 
 address are incompatible.' )
Comment 1 Janis Meybohm univentionstaff 2010-04-20 16:45:32 CEST
*** Bug 18205 has been marked as a duplicate of this bug. ***
Comment 2 Stefan Gohmann univentionstaff 2010-04-20 16:51:55 CEST
(In reply to comment #0)
> Ticket#: 2010032610000542
>  Versucht man fÃŒr ein Netzwerk 172.17.0.0/16 einen Host anzulegen, und bei 
>  Anlage auch gleich DHCP und DNS-Eigenschaften anzugeben, wird die Anlage 
>  verweigert.
> 
>  Ich hatte auch mal versucht, das ganze Ìber die BenutzeroberflÀche 
>  nachzustellen. Dort das gleiche Ergebnis. Vielleicht besteht der Fehler 
>  auch darin, dass der Zonenname als
>  0.16.172.in-addr.arpa,cn=dns,dc=kunde,dc=de
>  und nicht als
>  16.172.in-addr.arpa,cn=dns,dc=kunde,dc=de
>  angegeben ist (bin nicht sicher), aber die OberflÀche macht es genauso, 
>  auch wenn als Maske 16 angegeben ist.

Funktioniert es denn, wenn "16.172.in-addr.arpa,cn=dns,dc=kunde,dc=de" angegeben wird?
Comment 3 Ingo Steuwer univentionstaff 2012-01-12 16:03:42 CET
Das ist an 2012011221003536 bei einer IP-Änderung im Base-Setup Modul der UMC aufgetreten, aus der Beschreibung:

 > > UMC Web-GUI-> Basis-Einstellungen -> Netzwerk 
 > >   
 > > Dort habe ich: 
 > > - IP-Nummer geändert 
 > > - Netzmaske gelassen 
 > > - Gateway geändert 
 > > - Domänen DNS auf seine eigene Neue IP gesetzt 
 > > - Externer DNS-Server geändert  

Aus der setup.log:

Adding ZONE record "root@kundenname.de. 1 28800 10800 604800 108001 ucs.kundenname.de." to zone 10.2.65... done
Adding PTR record "7 ucs.kundenname.de." to zone 10.2.65... done
Traceback (most recent call last):
  File "/usr/share/univention-directory-manager-tools/univention-cli-server", line 233, in doit
    output = univention.admincli.admin.doit(arglist)
  File "/usr/lib/pymodules/python2.6/univention/admincli/admin.py", line 938, in doit
    dn=object.modify()
  File "/usr/lib/pymodules/python2.6/univention/admin/handlers/__init__.py", line 344, in modify
    return self._modify(modify_childs,ignore_license=ignore_license)
  File "/usr/lib/pymodules/python2.6/univention/admin/handlers/__init__.py", line 866, in _modify
    self._ldap_post_modify()
  File "/usr/lib/pymodules/python2.6/univention/admin/handlers/computers/domaincontroller_master.py", line 565, in _ldap_post_modify
    univention.admin.handlers.simpleComputer._ldap_post_modify( self )
  File "/usr/lib/pymodules/python2.6/univention/admin/handlers/__init__.py", line 1888, in _ldap_post_modify
    self.__add_dns_reverse_object( self[ 'name' ], x, entry )
  File "/usr/lib/pymodules/python2.6/univention/admin/handlers/__init__.py", line 1511, in __add_dns_reverse_object
    raise univention.admin.uexceptions.InvalidDNS_Information, _( 'Reverse zone and IP address are incompatible.' )
InvalidDNS_Information: Reverse zone and IP address are incompatible.
Comment 4 Philipp Hahn univentionstaff 2016-11-04 10:12:59 CET
LB=$(ucr get ldap/base) R=$RANDOM

udm dns/forward_zone create --position "$LB" --set zone="dns$R" --set nameserver="$(hostname -f)"
udm dns/reverse_zone create --position "$LB" --set subnet=172.17 --set nameserver="$(hostname -f)"

udm dhcp/service create --position "$LB" --set service="service$R"
udm dhcp/subnet create --superordinate "cn=service$R,$LB" --set subnet=172.17.0.0 --set subnetmask=16

udm networks/network create --position "$LB" --set name="network$R" --set network=172.17.0.0 --set netmask=255.255.0.0 --set ipRange='172.17.1.1 172.17.255.254' --set dnsEntryZoneForward="zoneName=dns$R,$LB" --set dnsEntryZoneReverse="zoneName=17.172.in-addr.arpa,$LB" --set dhcpEntryZone="cn=service$R,$LB"

udm computers/ipmanagedclient create --position "$LB" --set name=host$R --set network="cn=network$R,$LB" --set mac=000000000001
Comment 5 Florian Best univentionstaff 2016-12-22 17:40:18 CET
(In reply to Philipp Hahn from comment #4)
Your example works.
The way this bug entry did it was the following, so I would say this bug is INVALID:

LB=$(ucr get ldap/base) R=$RANDOM

udm dns/forward_zone create --position "$LB" --set zone="dns$R" --set nameserver="$(hostname -f)"
udm dns/reverse_zone create --position "$LB" --set subnet=172.17.0 --set nameserver="$(hostname -f)"

udm dhcp/service create --position "$LB" --set service="service$R"
udm dhcp/subnet create --superordinate "cn=service$R,$LB" --set subnet=172.17.0.0 --set subnetmask=16

udm networks/network create --position "$LB" --set name="network$R" --set network=172.17.0.0 --set netmask=255.255.0.0 --set ipRange='172.17.1.1 172.17.255.254' --set dnsEntryZoneForward="zoneName=dns$R,$LB" --set dnsEntryZoneReverse="zoneName=0.17.172.in-addr.arpa,$LB" --set dhcpEntryZone="cn=service$R,$LB"

udm computers/ipmanagedclient create --position "$LB" --set name=host$R --set network="cn=network$R,$LB" --set mac=000000000001
The provided DNS information are invalid: Reverse zone and IP address are incompatible.
Comment 6 Stefan Gohmann univentionstaff 2017-04-04 18:29:41 CEST
UCS 4.2 has been released:
 https://docs.software-univention.de/release-notes-4.2-0-en.html
 https://docs.software-univention.de/release-notes-4.2-0-de.html

If this error occurs again, please use "Clone This Bug".