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.

Source Distribution

pydhcp-ldap-schema-0.1beta.tar.gz (6.5 kB view details)

Uploaded Source

File details

Details for the file pydhcp-ldap-schema-0.1beta.tar.gz.

File metadata

File hashes

Hashes for pydhcp-ldap-schema-0.1beta.tar.gz
Algorithm Hash digest
SHA256 5968a137b7be33c7e052d49965cf3f29d602960ed66a3bfa0aff32656adadbc2
MD5 e8cef12a64cdeaccdc56aadba87276ab
BLAKE2b-256 15cb716c36081b9ae822bd6e382ef9a0ebe41441174e882cb8b6ccaf5875507d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page