Skip to main content

ISC-DHCP LDAP Schema manipulation helper

Project description

Helper class that can simplyfy most of the tasks when managing ISC-DHCP configuration stored in a LDAP tree.

Modifying existing configuration

Example:

import ldap
from pydhcp_ldap_schema import DHCPEntry

con = ldap.initialize('ldap://localhost')
con.bind_s('user', 'pass')

subNet = DHCPEntry.ldap_load(con, 'cn=192.168.1.0,cn=DHCP Config,dc=example,dc=com')
print subNet['dhcpNetMask']      # prints ['24']
subNet['dhcpNetMask'] = ['25']   # set new value

subNet.ldap_modify(con)          # automatic change detection and commit if nessesery

con.unbind_s()

Creating new nodes

Add fresh configuration:

import ldap
from pydhcp_ldap_schema import DHCPEntry

con = ldap.initialize('ldap://localhost')
con.bind_s('user', 'pass')

service = DHCPEntry(['top', 'dhcpService'], cn=['DHCP Config'])
service.ldap_add(con, 'cn=DHCP Config,dc=example,dc=com')       # create base entry

dhcpServer = DHCPEntry(['top', 'dhcpServer'], cn=['dhcp.local'])
dhcpServer['dhcpServiceDN'] = [service.dn]

service.subobjects.insert_entry(dhcpServer)   # DN will be calculated

dhcpServer.ldap_add(con)

# and most important subnet declaration

subnet = DHCPEntry(['top', 'dhcpSubnet'], cn=['192.168.1.0'])
subnet['dhcpNetMask'] = ['24']

service.subobjects.insert_entry(subnet)

subnet.ldap_add(con)

# Now you can start DHCPd server

con.unbind_s()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pydhcp-ldap-schema, version 0.1beta
Filename, size File type Python version Upload date Hashes
Filename, size pydhcp-ldap-schema-0.1beta.tar.gz (6.5 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page