Stanford NetDB- An Open Source Network Management Application for DNS, DHCP, IP Address Spaces, etc. http://stanfordnetdb.stanford.edu Sunia Yang sunia@stanford.edu Rob Riepel riepel@stanford.edu Stanford University StanfordNetDB
Summary • Introduction • What is Stanford NetDB? • Demonstration • How do we use NetDB? • Distribution Stanford University StanfordNetDB
Introductions • Rob Riepel – NetDB architect – Architect/programmer/keeper for DNS, DHCP • Dmitri Priimak – Programmer for middleware and front end • Sunia Yang – NetDB "user advocate,” tester – Network monitoring – Application bandwidth management Stanford University StanfordNetDB
What is Stanford NetDB? • Model of the IP network- 20 years • DNS, DHCP, Whois data source • IP address management • Host information/inventory • Distributed administration • GNU Public License version 2 (2007) Models how humans think of networks. Stanford University StanfordNetDB
DNS Name Space • Supports domains/subdomains • Checks all names for uniqueness • Enforces DNS rules – e.g. An Alias cannot be MX • Authorization of names by domain • 1 min to generate Stanford zone file • Updated hourly at Stanford Stanford University StanfordNetDB
DHCP • Supports static/dynamic dhcp settings • Supports DHCP options • Updated every 10 min at Stanford Stanford University StanfordNetDB
IP Address Space Management • Address spaces organized into networks - “network” maps to layer 2 network • Easy to split/join/move address spaces • Authorization by address space • Reserved addresses can only be used by gods • Uniqueness enforced • Automatically looks for next available address Stanford University StanfordNetDB
Host Inventory • Nodes show the way humans think of computers • Associates nodes with people/location/dept • Custom fields allow quick extension of database Stanford University StanfordNetDB
Distributed Administration • Ease of use allows many users – 900+ at Stanford, 15 minutes of training • Granular authorization • Choice of interfaces – Web - general users – CLI - power users, scripting – API - Dorms for custom interface • Easy import/export (csv) • When possible, limit user’s view to capabilities – e.g. only show authorized grps, address spaces, etc. Stanford University StanfordNetDB
Demonstration Stanford University StanfordNetDB
acme.com eng.acme.com 10.8.0.0/16 Stanford University StanfordNetDB
acme.com eng.acme.com 10.8.0.0/16 laptop.eng.acme.com Stanford University StanfordNetDB
acme.com eng.acme.com 10.8.0.0/16 laptop.eng.acme.com server.eng.acme.com Stanford University StanfordNetDB
acme.com eng.acme.com 10.8.0.0/16 laptop.eng.acme.com 10.16.16.0/24 server.eng.acme.com Stanford University StanfordNetDB
acme.com eng.acme.com marketing.acme.com 10.8.0.0/16 laptop.eng.acme.com 10.16.16.0/23 server.eng.acme.com Stanford University StanfordNetDB
acme.com George Rosie eng.acme.com marketing.acme.com 10.8.0.0/16 laptop.eng.acme.com 10.16.16.0/23 server.eng.acme.com Stanford University StanfordNetDB
acme.com George Rosie eng.acme.com marketing.acme.com 10.8.0.0/16 laptop.eng.acme.com 10.16.16.0/24 10.16.17.0/24 server.eng.acme.com Stanford University StanfordNetDB
acme.com George Rosie eng.acme.com marketing.acme.com 10.8.0.0/16 laptop.eng.acme.com router.acme.com 10.16.16.0/24 10.16.17.0/24 server.eng.acme.com Stanford University StanfordNetDB
CLI interface • Only for node records • Allows for bulk adds, changes, deletes Stanford University StanfordNetDB
How do we use NetDB?- Data Flow Sys Admins DNS Desktop Admins Network Admins DHCP Networking Self-Registration NetDB SUNet Firewalls IPM Reports Monitoring Whois Cfg Mgmt NetDB distribution Other Stanford apps/scripts Stanford University StanfordNetDB
Statistics Record Registered Active Node 112344 58839 Network (Address Space) 748(2631) 579(1350) User 980 724 Admin Team 175 Domain 414 Group 199 Department 257 Location 678 Make 118 Model 625 OS 110 State 6 Stanford University StanfordNetDB
Code Web browser CGI scripts Architecture StanfordWho http server netdb_server.jar whois server NetDB CLI Other rmi_client.jar clients html library netdb_html.jar rmi_server.jar netdb.jar Database DNS scripts DHCP scripts NetDB Other BIND dhcpd Stanford University StanfordNetDB
Servers used at Stanford • Web/middleware – Dell 1850, dual 2.8Ghz, 4GB RAM – Linux Debian • Database – Dell 2650, 4 x 3Ghz, 7GB RAM – Linux Redhat 2.4.21-37.ELsmp Stanford University StanfordNetDB
Platform Dependencies • Oracle 10G database – works with Express version • Java 1.6 • Debian Linux – probably works on any Unix with Java 1.6 • Perl DBD::Oracle for reporting Stanford University StanfordNetDB
NetDB at Your Site • External pieces required: – Directory provider (e.g. LDAP) • Seed data + sample directory provider included – Web login requires webauth – CLI requires Kerberos • Sample DNS/DHCP generation scripts included Stanford University StanfordNetDB
Futures • IPv6 • Ruby Stanford University StanfordNetDB
• More Information • http://stanfordnetdb.stanford.edu – Demo version- data refreshed daily – Download files – Documentation Contact Us! – netdb-users@lists.stanford.edu Stanford University StanfordNetDB
The NetDB Team • Dmitri Priimak - software developer • Joel Lidtke - software developer • Rob Riepel - architect • Sunia Yang - QA, user advocate Stanford University StanfordNetDB
Recommend
More recommend