Upgrade to Pro — share decks privately, control downloads, hide ads and more …

An Open Source Network Infrastructure - Continued

An Open Source Network Infrastructure - Continued

A talk by Jack Wearden on making Free & Open Source Software suitable for small & medium enterprises

Jack Wearden

October 13, 2012
Tweet

More Decks by Jack Wearden

Other Decks in Technology

Transcript

  1. An Open Source Network Infrastructure - Continued (Making OS Software

    suitable for SMEs) Jack Wearden @JackWeirdy Barcamp Liverpool 2012
  2. An Open Source Network Infrastructure - Continued (Making OS Software

    suitable for SMEs) Jack Wearden @JackWeirdy Barcamp Liverpool 2012
  3. authoritative; default-lease-time 600; max-lease-time 7200; subnet 10.20.40.0 netmask 255.255.252.0 {

    range 10.20.42.1 10.20.43.254; option name-servers 10.20.40.1 10.20.40.2; option domain-name "network"; option routers 10.20.40.11; option broadcast-address 10.20.43.255; }
  4. authoritative; default-lease-time $leaseTime; max-lease-time $maxLeaseTime; subnet $IP netmask $mask {

    range $startIP $endIP; option name-servers $DNS1 $DNS2; option domain-name "$name"; option routers $routerIP; option broadcast-address $broadcast; }
  5. authoritative; default-lease-time $leaseTime; max-lease-time $maxLeaseTime; subnet $IP netmask $mask {

    range $startIP $endIP; option name-servers $DNS1 $DNS2; option domain-name "$name"; option routers $routerIP; option broadcast-address $broadcast; }
  6. M4

  7. # cat Services/dhcpd define(‘_authoritative’, ‘authoritative;’) define(‘_defaultLeaseTime’, ‘default-lease-time $1;’) define(‘_maxLeaseTime’, ‘max-lease-time

    $1;’) define(‘_server_identifier’, ‘server-identifier $1;’) define(‘_subnet’, ‘subnet $1 netmask $2 {’ $3 ‘}’) define(‘_range’, ‘range $1 $2;’) define(‘_nameServers’, ‘option name-servers $1 $2;’) define(‘_domainName’, ‘option domain-name "$1;"’) define(‘_routers’, ‘option routers $1;’) define(‘_broadcast’, ‘option broadcast-address $1;’)
  8. # cat Examples/dhcpd_simple include(../Services/dhcpd) _authoritative() _defaultLeaseTime(600) _defaultLeaseTime(7200) _subnet(10.20.40.0, 255.255.255.0, _range(10.20.40.10,

    10.20.40.20) _nameServers(10.20.40.1, 10.20.40.2) _domainName(example.network) _routers(10.20.40.11) _broadcast(10.20.43.255))
  9. # m4 dhcpd_simple authoritative; default-lease-time 600; default-lease-time 7200; subnet 10.20.40.0

    netmask 255.255.255.0 { range 10.20.40.10 10.20.40.20; option name-servers 10.20.40.1 10.20.40.2; option domain-name "example.network;" option routers 10.20.40.11; option broadcast-address 10.20.43.255; }
  10. #!/bin/bash dialogCmd=(dialog --separate-output --checklist "Select options:" 15 50 16) services=(1

    "DHCP (DHCPD)" off 2 "DNS (BIND)" off 3 "LDAP (OpenLDAP)" off 4 "Kerberos (MIT Kerberos)" off 5 "NFS" off 6 "RADIUS (FreeRADIUS)" off ) services=$("${dialogCmd[@]}" "${services[@]}" 2>&1 >/dev/tty) clear for service in $services do case $service in 1) echo "DHCP" ;; esac done