Re: Software or PHP/PERL scripts for simple network management?

2007-06-20 Thread david raistrick


On Tue, 19 Jun 2007 [EMAIL PROTECTED] wrote:


information (i.e. source of all data). Canonical data is in
routing/forwarding tables on routers/switches. That's the operational
reality.

The amount of data that you need to track IP allocations just doesn't fit
well into DNS - there's no place to store customer id/service id, the
length of allocation (is this IP part of a /28? /29?), etc. So you'll have
to have canonical data somewhere else anyway.



You've never used comments in your dns?  I have yet to figure out how to 
insert a comment into my routing tables that tells me what a routing entry 
is for, but it's pretty easy to put a # line in my tinydns data or my 
bind zone file that tells me who this is for, how large it is, when it was 
allocated, by whom, and when it was deallocated and why


After all, there are occasions when an allocated subnet won't show up in 
my routing tables




---
david raistrickhttp://www.netmeister.org/news/learn2quote.html
[EMAIL PROTECTED] http://www.expita.com/nomime.html



Re: Software or PHP/PERL scripts for simple network management?

2007-06-20 Thread Leigh Porter

david raistrick wrote:

 On Tue, 19 Jun 2007 [EMAIL PROTECTED] wrote:

 information (i.e. source of all data). Canonical data is in
 routing/forwarding tables on routers/switches. That's the operational
 reality.

 The amount of data that you need to track IP allocations just doesn't
 fit
 well into DNS - there's no place to store customer id/service id, the
 length of allocation (is this IP part of a /28? /29?), etc. So you'll
 have
 to have canonical data somewhere else anyway.


 You've never used comments in your dns?  I have yet to figure out how
 to insert a comment into my routing tables that tells me what a
 routing entry is for, 
Communities ;-)

--
Leigh




Re: Software or PHP/PERL scripts for simple network management?

2007-06-20 Thread William Allen Simpson


[EMAIL PROTECTED] wrote:
I agree, DNS should *reflect* reality, but I think it is very much 
misguided to say that DNS should be the place to have canonical 
information (i.e. source of all data). Canonical data is in 
routing/forwarding tables on routers/switches. That's the operational 
reality.



Others have mentioned this, but that's just wrong.  For 20 years, there's a
reason we've been using policy-based routing, routing arbiters, etc.



The amount of data that you need to track IP allocations just doesn't fit
well into DNS - there's no place to store customer id/service id, the
length of allocation (is this IP part of a /28? /29?), etc. So you'll have
to have canonical data somewhere else anyway.


Others have mentioned this, but of course all that should be stored as
comments in the file.  I never found any automated tool that stored all
the information properly.  Text records with comments are flexible.

And the allocation size is extremely important, as you need pointer records
to the customers' .arpa NS records!  Surely, you don't handle everything on
8-bit boundaries in this day and age



And when the routing table doesn't match, withdraw the route, and fire
the miscreant that failed to properly maintain the allocation data!

Unfortunately, I'll have to say again that this doesn't scale. :)


There's a saying where I grew up:
  Ford is in the business of making cars.
  GM is in the business of making money.

The notion is that GM doesn't really care about the quality of its cars,
as long as it makes money.  Branding the local congresscritter the
representative from GM is not a compliment.  (Not so coincidentally, his
considerably younger trophy wife is a GM heiress.)

The 'net is what I've spent most of my adult life making.  'nuff said.


Re: Software or PHP/PERL scripts for simple network management?

2007-06-19 Thread William Allen Simpson


Drew Weaver wrote:

Does anyone have a recommendation of any software products either 
commercial or freeware which will import the ip routing table from one of my 
routers/switches and display it in a sorted manner? We just need an easier 
distributed method than logging into our Black Diamond and typing sh iproute 
sorted every time we need to find an available subnet.


Wow, LOL!

The software product is called a text editor.

Look at your list of assignments in your NS .arpa. file:
 1) Find a subnet that hasn't been assigned.
 2) Update the text file.
 3) Wait for it to propagate.
 4) Tell the customer.

The concomitant procedure for static host assignment is:
 1) Find a number that hasn't been assigned.
 2) Update the text file.
 3) Wait for it to propagate.
 4) Then, and only then, update the forward NS file(s).
 5) Tell the customer.

Of course, there is software that will automatically maintain the files,
and even send a signal to bind, but I've alway found them to be weak at
subnet management.  Text editor is the way to go -- using subversion for
distributed file management (that is, knowing who to blame for mangling
the assignment commit).


Re: Software or PHP/PERL scripts for simple network management?

2007-06-19 Thread Valdis . Kletnieks
On Mon, 18 Jun 2007 21:18:06 BST, Leigh Porter said:
 Just out of interest, why are you looking at routing tables to find an 
 available subnet?

If your predecessor wasn't quite as careful documenting allocations, it can
be useful to see if your paperwork says a /28 is dark, but you're in fact
routing traffic for it down some customer's link.  Then you get to do two
things:  (a) check if there's any *return* traffic and (b) call the customer
and ask if *they* think it's dark or not.  Hilarity ensues for some combinations
of answers...

(And yes, I once had a co-worker looking for a free /24, found one that was
nice and empty except for smack dab in the middle, a route for a /28 that for
no apparent reason pointed at an unused but registered static IP of mine in the
middle of our modem pool space.  After some digging, we remembered that it was
a work-around for when I had 2 IBM RTs at home, that did SLIP and static
addresses, but not NAT or DHCP, so my home net had some routing workarounds
that never got taken down when I replaced the 2 RTs with one box that was happy
to accept whatever address PPP handed it)



pgpkMkdAuXpfn.pgp
Description: PGP signature


Re: Software or PHP/PERL scripts for simple network management?

2007-06-19 Thread Warren Kumari


Many years ago I worked for a small Mom-and-Pop type ISP in New York  
state (I was the only network / technical person there) -- it was a  
very free wheeling place and I built the network by doing whatever  
made sense at the time.


One of my favorite customers (Joe somebody) was somehow related to  
the owner of the ISP and was a gamer. This was back in the day when  
the gaming magazines would give you useful tips like Type 'tracert  
$gameserver' and make sure that there are less than N hops.  Joe  
would call up tech support, me, the owner, etc and complain that  
there was N+3 hops and most of them were in our network. I spent much  
time explaining things about packet-loss, latency, etc but couldn't  
shake his belief that hop count was the only metric that mattered.


Finally, one night he called me at home well after midnight (no, I  
didn't give him my home phone number, he looked me up in the  
phonebook!) to complain that his gaming was suffering because it was  
too many hops to get out of your network. I finally snapped and  
built a static GRE tunnel from the RAS box that he connected to all  
over the network -- it was a thing of beauty, it went through almost  
every device that we owned and took the most convoluted path I could  
come up with. Yay!, I figured, now I can demonstrate that latency  
is more important than hop count and I went to bed.


The next morning I get a call from him. He is ecstatic and wildly  
impressed by how well the network is working for him now and how  
great his gaming performance is. Oh well, I think, at least he is  
happy and will leave me alone now. I don't document the purpose of  
this GRE anywhere and after some time forget about it.


A few months later I am doing some routine cleanup work and stumble  
across a weird looking tunnel -- its bizarre, it goes all over the  
place and is all kinds of crufty -- there are static routes and  
policy routing and bizarre things being done on the RADIUS server to  
make sure some user always gets a certain IP... I look in my pile of  
notes and old configs and then decide to just yank it out.


That night I get an enraged call (at home again) from Joe *screaming*  
that the network is all broken again because it is now way too many  
hops to get out of the network and that people keep shooting him...


What I learnt from this:
1: Make sure you document everything (and no, the network isn't  
documentation)

2: Gamers are weird.
3: Making changes to your network in anger provides short term  
pleasure but long term pain.


---
Warren Kumari.
http://www.kumari.net



On Jun 19, 2007, at 2:05 PM, [EMAIL PROTECTED] wrote:


On Mon, 18 Jun 2007 21:18:06 BST, Leigh Porter said:
Just out of interest, why are you looking at routing tables to  
find an

available subnet?


If your predecessor wasn't quite as careful documenting  
allocations, it can
be useful to see if your paperwork says a /28 is dark, but you're  
in fact
routing traffic for it down some customer's link.  Then you get to  
do two
things:  (a) check if there's any *return* traffic and (b) call the  
customer
and ask if *they* think it's dark or not.  Hilarity ensues for some  
combinations

of answers...

(And yes, I once had a co-worker looking for a free /24, found one  
that was
nice and empty except for smack dab in the middle, a route for a / 
28 that for
no apparent reason pointed at an unused but registered static IP of  
mine in the
middle of our modem pool space.  After some digging, we remembered  
that it was
a work-around for when I had 2 IBM RTs at home, that did SLIP and  
static
addresses, but not NAT or DHCP, so my home net had some routing  
workarounds
that never got taken down when I replaced the 2 RTs with one box  
that was happy

to accept whatever address PPP handed it)



Life is a concentration camp.  You're stuck here and there's no way  
out and you can only rage impotently against your persecutors.

-- Woody Allen





Re: Software or PHP/PERL scripts for simple network management?

2007-06-19 Thread alex

On Tue, 19 Jun 2007, William Allen Simpson wrote:

 
 Drew Weaver wrote:
  Does anyone have a recommendation of any software products
  either commercial or freeware which will import the ip routing table
  from one of my routers/switches and display it in a sorted manner? We
  just need an easier distributed method than logging into our Black
  Diamond and typing sh iproute sorted every time we need to find an
  available subnet.
  
 Wow, LOL!
 
 The software product is called a text editor.
 
 Look at your list of assignments in your NS .arpa. file:
   1) Find a subnet that hasn't been assigned.
   2) Update the text file.
   3) Wait for it to propagate.
   4) Tell the customer.
 
 The concomitant procedure for static host assignment is:
   1) Find a number that hasn't been assigned.
   2) Update the text file.
   3) Wait for it to propagate.
   4) Then, and only then, update the forward NS file(s).
   5) Tell the customer.
 
 Of course, there is software that will automatically maintain the files,
 and even send a signal to bind, but I've alway found them to be weak at
 subnet management.  Text editor is the way to go -- using subversion for
 distributed file management (that is, knowing who to blame for
 mangling the assignment commit).
In words of Vijay, It does not scale.
In words of Randy, I encourage my competitors to do this.

Neither 'show ip route' or 'have a text file' scale beyond a hundred 
customers. 

Proper IP management is complicated. You want to have following things:

a) easy IP allocation

b) IP association with customer and specific service for following
purposes: 

* future IP justification with RIR's 

* abuse trackback
 
c) easy IP deallocation when customer leaves

d) minimizing additional fragmentation of blocks - for example, if you
need a /29 and you have a /29 and a /28 available - you want to take /29
before fragmenting /28.

e) support for 'special-purpose blocks' - ie, /30 for pt-pt and 
/32 for loopbacks are to be assigned from blocks that are not used for any 
other purpose.

f) (similar to above) regional/local allocations: give me a /32 out of 
dallas loopback blocks

g) two-way sync (or at least diff) of your databases to operational data 
(the configs in routers) - so you can see what it *should* be vs what it 
actually is.  Ideally, generate commands to update configs to the 
database.

I think everyone ends up writing their own systems to manage IP space as
part of general network management.  Unfortunately, they end up being very
specific to the network in question (for example, my stuff is very geared 
toward terminating a large number of vlans on a l3 switches, etc)...


--
Alex Pilosov| DSL, Colocation, Hosting Services
President   | [EMAIL PROTECTED]877-PILOSOFT x601
Pilosoft, Inc.  | http://www.pilosoft.com



Re: Software or PHP/PERL scripts for simple network management?

2007-06-19 Thread Leigh Porter


William Allen Simpson wrote:


Drew Weaver wrote:
Does anyone have a recommendation of any software products 
either commercial or freeware which will import the ip routing table 
from one of my routers/switches and display it in a sorted manner? We 
just need an easier distributed method than logging into our Black 
Diamond and typing sh iproute sorted every time we need to find an 
available subnet.



Wow, LOL!

The software product is called a text editor.

Look at your list of assignments in your NS .arpa. file:
 1) Find a subnet that hasn't been assigned.
 2) Update the text file.
 3) Wait for it to propagate.
 4) Tell the customer.

The concomitant procedure for static host assignment is:
 1) Find a number that hasn't been assigned.
 2) Update the text file.
 3) Wait for it to propagate.
 4) Then, and only then, update the forward NS file(s).
 5) Tell the customer.

Of course, there is software that will automatically maintain the files,
and even send a signal to bind, but I've alway found them to be weak at
subnet management.  Text editor is the way to go -- using subversion for
distributed file management (that is, knowing who to blame for mangling
the assignment commit).


However Drew suffers because some idiots in his org fail to update the 
files correctly. I used to have the same problem when I took over ops at 
a small ISP. They were using the routing table to store assigned subnets 
trick. It was OK until a link died so a subnet dropped out of the 
routing table. They thought Oh look spare space and assigned it to 
somebody else.


There are also a load of decent (not good) free IP address management 
systems available, some with built in DNS updaters.


I do not use these because they all drove me mad. Now I just have 
somebody else do it for me. It's worth it ;-)



--
Leigh



Re: Software or PHP/PERL scripts for simple network management?

2007-06-19 Thread Leigh Porter


[EMAIL PROTECTED] wrote:

On Tue, 19 Jun 2007, William Allen Simpson wrote:

  

Drew Weaver wrote:


Does anyone have a recommendation of any software products
either commercial or freeware which will import the ip routing table
from one of my routers/switches and display it in a sorted manner? We
just need an easier distributed method than logging into our Black
Diamond and typing sh iproute sorted every time we need to find an
available subnet.

  

Wow, LOL!

The software product is called a text editor.

Look at your list of assignments in your NS .arpa. file:
  1) Find a subnet that hasn't been assigned.
  2) Update the text file.
  3) Wait for it to propagate.
  4) Tell the customer.

The concomitant procedure for static host assignment is:
  1) Find a number that hasn't been assigned.
  2) Update the text file.
  3) Wait for it to propagate.
  4) Then, and only then, update the forward NS file(s).
  5) Tell the customer.

Of course, there is software that will automatically maintain the files,
and even send a signal to bind, but I've alway found them to be weak at
subnet management.  Text editor is the way to go -- using subversion for
distributed file management (that is, knowing who to blame for
mangling the assignment commit).


In words of Vijay, It does not scale.
In words of Randy, I encourage my competitors to do this.

Neither 'show ip route' or 'have a text file' scale beyond a hundred 
customers. 


Proper IP management is complicated. You want to have following things:

a) easy IP allocation

b) IP association with customer and specific service for following
purposes: 

* future IP justification with RIR's 


* abuse trackback
 
c) easy IP deallocation when customer leaves


d) minimizing additional fragmentation of blocks - for example, if you
need a /29 and you have a /29 and a /28 available - you want to take /29
before fragmenting /28.

e) support for 'special-purpose blocks' - ie, /30 for pt-pt and 
/32 for loopbacks are to be assigned from blocks that are not used for any 
other purpose.


f) (similar to above) regional/local allocations: give me a /32 out of 
dallas loopback blocks


g) two-way sync (or at least diff) of your databases to operational data 
(the configs in routers) - so you can see what it *should* be vs what it 
actually is.  Ideally, generate commands to update configs to the 
database.


I think everyone ends up writing their own systems to manage IP space as
part of general network management.  Unfortunately, they end up being very
specific to the network in question (for example, my stuff is very geared 
toward terminating a large number of vlans on a l3 switches, etc)...



--
Alex Pilosov| DSL, Colocation, Hosting Services
President   | [EMAIL PROTECTED]877-PILOSOFT x601
Pilosoft, Inc.  | http://www.pilosoft.com
  
Do Pilosoft supply such a product? All the ones I tried so far suck soo 
much that I could never use them.


Right now we manage address space with mysql and perl scripts...

--
Leigh




Re: Software or PHP/PERL scripts for simple network management?

2007-06-19 Thread alex

On Wed, 20 Jun 2007, Leigh Porter wrote:

 Do Pilosoft supply such a product? All the ones I tried so far suck soo
 much that I could never use them.
 
 Right now we manage address space with mysql and perl scripts...
It is very much an internal system, designed to meet our needs, as such it 
is tightly integrated with the rest of the systems - billing, customer 
management, network mapping, etc. 

I've been giving some thought to cleaning it up and releasing it under
some sort of a public license in hope it'll be useful to someone, but
unfortunately hasn't found time yet :(

I think realistically, even if you have full source, it'll be good for the
ideas how to do things, it will be *very hard* to separate the IP 
management out of everything else.

(IP management is maybe few hundred lines of perl pl/pgsql code total)

hth

-alex



Re: Software or PHP/PERL scripts for simple network management?

2007-06-19 Thread William Allen Simpson


[EMAIL PROTECTED] wrote:
Neither 'show ip route' or 'have a text file' scale beyond a hundred 
customers. 


Hogwash.  Used text file allocation for ~3,000 customers.  After all, it
is *REQUIRED* to exist (for bind).  You need *a* canonical place that is
authoritative for all others.  Existing tools easily track commits.

DNS should always reflect reality.  Then automated tools will show human
readable information.  Someday, it may even be authenticated (but I've
been beating that horse for a decade).  I'm sick and tired of bad NS data.

Yes, we used a separate database for billing, and maybe could have
automatically generated the text file.  Didn't want the customer
service/billing folks to have access to network configuration ;-)

Any time you have more than a single location for maintaining network
configuration data, or allow technicians to just slap a route into a router
on a whim, you are bound for future difficulties!

And when the routing table doesn't match, withdraw the route, and fire the
miscreant that failed to properly maintain the allocation data!



Re: Software or PHP/PERL scripts for simple network management?

2007-06-19 Thread alex

On Tue, 19 Jun 2007, William Allen Simpson wrote:

 
 [EMAIL PROTECTED] wrote:
  Neither 'show ip route' or 'have a text file' scale beyond a hundred 
  customers. 
  
 Hogwash.  Used text file allocation for ~3,000 customers.  After all, it
 is *REQUIRED* to exist (for bind).  You need *a* canonical place that is
 authoritative for all others.  Existing tools easily track commits.
 
 DNS should always reflect reality.  Then automated tools will show human
 readable information.  Someday, it may even be authenticated (but I've
 been beating that horse for a decade).  I'm sick and tired of bad NS
 data.
I agree, DNS should *reflect* reality, but I think it is very much 
misguided to say that DNS should be the place to have canonical 
information (i.e. source of all data). Canonical data is in 
routing/forwarding tables on routers/switches. That's the operational 
reality.

The amount of data that you need to track IP allocations just doesn't fit
well into DNS - there's no place to store customer id/service id, the
length of allocation (is this IP part of a /28? /29?), etc. So you'll have
to have canonical data somewhere else anyway.

 Yes, we used a separate database for billing, and maybe could have
 automatically generated the text file.  Didn't want the customer
 service/billing folks to have access to network configuration ;-)
 
 Any time you have more than a single location for maintaining network
 configuration data, or allow technicians to just slap a route into a
 router on a whim, you are bound for future difficulties!
 
 And when the routing table doesn't match, withdraw the route, and fire
 the miscreant that failed to properly maintain the allocation data!
Unfortunately, I'll have to say again that this doesn't scale. :)

-alex



Re: Software or PHP/PERL scripts for simple network management?

2007-06-19 Thread David Nolan




--On June 20, 2007 1:02:05 AM +0100 Leigh Porter 
[EMAIL PROTECTED] wrote:



Do Pilosoft supply such a product? All the ones I tried so far suck soo
much that I could never use them.

Right now we manage address space with mysql and perl scripts...


Carnegie Mellon's NetReg http://www.net.cmu.edu/netreg (*) is an open 
source system that provides a pretty complete IP Address Management 
toolset, including management of DNS  DHCP configurations for ISC 
bind/dhcpd.  We manage DNS  DHCP for 50K machines, and NetReg does it all. 
It is available under an OSS license and is in use at several other 
locations. NetReg provides a self service web interface with flexible 
permissions, privilege delegation, IP address space management, DNS record 
validation, and more.


As the current primary developer of the system I'm a bit biased, but I 
think its a great system. It has a steep learning curve, and the 
documentation leaves something to be desired (like a tech writer...), but 
once you hit a certain scale the benefits outway the cost. On our site 
you'll find several screen shots and a working demo with some base data you 
can experiment with, but obviously the full power of the system isn't 
utilized until you have lots of data and can see the resulting zones  
config files.


There is an active mailing list, feel free to join it and ask questions.


*: Not to be confused with Southwestern University's NetReg, which is a 
completely different system developed in parallel around the same time.




-David Nolan
Network Software Designer
Computing Services
Carnegie Mellon University



Software or PHP/PERL scripts for simple network management?

2007-06-18 Thread Drew Weaver

Does anyone have a recommendation of any software products either 
commercial or freeware which will import the ip routing table from one of my 
routers/switches and display it in a sorted manner? We just need an easier 
distributed method than logging into our Black Diamond and typing sh iproute 
sorted every time we need to find an available subnet.

Thanks in advance for any advice you can offer.

Andrew




No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.472 / Virus Database: 269.9.0/852 - Release Date: 6/17/2007 8:23 AM



Re: Software or PHP/PERL scripts for simple network management?

2007-06-18 Thread Scott Weeks



--- [EMAIL PROTECTED] wrote:

Does anyone have a recommendation of any software products either 
commercial or freeware which will import the ip routing table from one of my 
routers/switches and display it in a sorted manner? We just need an easier 
distributed method than logging into our Black Diamond and typing sh iproute 
sorted every time we need to find an available subnet.
--



How about something like this on a *nix box?  The OID here is for Juniper...

snmpwalk -Os -c public -v 1 111.111.111.111 1.3.6.1.4.1.2636.3.12.1.1 | cut -d 
. -f 8-12 | cut -d   -f1 | sort | uniq

scott


Re: Software or PHP/PERL scripts for simple network management?

2007-06-18 Thread Adam Rothschild

On 2007-06-18-11:45:37, Drew Weaver [EMAIL PROTECTED] wrote:
 Does anyone have a recommendation of any software products either
 commercial or freeware which will import the ip routing table from
 one of my routers/switches and display it in a sorted manner? [...]

I'd configure a 'nix host running openbgpd[1] as a BGP peer.  This
approach works great for periodic dumps and offline analysis of your
routing table.

I'll refrain from commenting on the wisdom in walking your RIB as a
_means_ of address assignment (and not merely a safeguard), so as to
avoid steering this discussion off-topic. :-)

-a

[1] http://www.openbgpd.org/


Re: Software or PHP/PERL scripts for simple network management?

2007-06-18 Thread Leigh Porter



Just out of interest, why are you looking at routing tables to find an 
available subnet?


--
Leigh Porter



Scott Weeks wrote:


--- [EMAIL PROTECTED] wrote:

Does anyone have a recommendation of any software products either 
commercial or freeware which will import the ip routing table from one of my 
routers/switches and display it in a sorted manner? We just need an easier 
distributed method than logging into our Black Diamond and typing sh iproute 
sorted every time we need to find an available subnet.
--



How about something like this on a *nix box?  The OID here is for Juniper...

snmpwalk -Os -c public -v 1 111.111.111.111 1.3.6.1.4.1.2636.3.12.1.1 | cut -d . -f 
8-12 | cut -d   -f1 | sort | uniq

scott