After completely rewriting ENUMPlus from the ground up (2 days total) we have come much closer to a universal ENUM lookup source.  The new module can be downloaded here so install it now! Here’s why :

  • The module forms a HTTP request to our API which queries many other sources and returns the most accurate address.
  • There is no longer a need to add multiple lookup sources to the old enumlookup AGI.
  • It audibly notifies you when the call is made over ENUM.
  • You can track your calls in the panel.
  • White pages / search functionality (including avatars :) )
  • Call validation is much more stable.

If you don’t have an account, get one – registration is quick and simple and you will be a happy geek.

Check out the project page / wiki / site / sourceforge / FreePBX / voip-info / piaf for more info.

I JUST completed the FreePBX module for ENUMPlus and our DNS is up and kicking ass – check out the video and Sign Up!

ENUMPlus has forced me to take a long hard look at DNS and security – with the publicly controlled records and what not – you can imagine what I was up against.  DNS configuration has always been very foggy to me.  Even after reading several books on the subject, I have never really been able to latch on and make it do exactly what I want.

This has all changed now that I have been working under the hood.  Let me take a moment to explain how I went from dreading configuration to not thinking twice.

As always I started with the basics in a safe development environment – Bind9 and vi on a minimal Lenny VM.  I started playing with it locally – setting my desktop resolv.conf to my dev box and modifying one line at a time of example configurations to see what they did and more importantly what they didn’t do.

After about 20 hours of research, probing, testing and … well … smoking – I was ready to start writing the nameserver module for ENUMPlus.  I had a brilliant working model in a few hours – returning NAPTR records and all.  The problem was scalability.  My initial code would curl the web server, writing the NAPTR records to a local file.  I then had a cron job that would cat the SOA, NS, A, MX & CNAME records to a new file – copy the contents of the NAPTR records files created by the web server – then run sed to remove any empty lines and move the file into place (with a reload of course).

It worked like a charm, I mean I was VERY impressed with what I had accomplished, but as always I knew there was a better way.  I started to think how heavy it would be on the host writing out the file, sed, cat, mv blah blah then on top of that reload bind, so I looked for alternative solutions.  After just a few minutes of googling – I ran into PowerDNS, which just happens to support a MySQL backend (the exact same animal running ENUMPlus Web UI).  This was ideal as end users could immediately add their validated records without having to wait for the cron job to advance the SOA serial, write out the new records and reload.  Immediate results are definitely what is going to push ENUMPlus over the top in my opinion.

Anyway we have our hosting in order and are just waiting for DNS to propogate.  We are working on a distributed solution for others to join in the hosting fun (slave boxes for replication and redundancy).  If you own a box and would like to dedicate some cycles – feel free to contact me or come say hi at #pbxinaflash (I live there).

Read previous article here.

All I can say is WOW!

I just did a firmware upgrade on my Linksys WRT54GS v4 to the latest stable DD-WRT bin, and I must say their are two massive benefits to upgrading your firmware if you haven’t already.

Part 1. Static Internal DNS / DHCP Leases

We can now organize all of our clients nodes the way WE want whilst still using DHCP to handle leases!  Simply paste your MAC, think up a clever hostname, and pop in a static IP and you are ready to rock with Static DNS.  Run dhclient and watch your machine grab the IP you set and the hostname you want.

Part 2. DNSMasq – Additional DNS Options

Ever want to attempt a PXE Boot or NFS Root installation of your favourite Linux distro – but you don’t want to go through the hassle or creating a private network with DHCPD and the whole IPTables nightmare? Don’t forget having to buy a switch – because not many people have these laying around any more (I only have 4).

You are in luck!  DD-WRT allows you to specify additional DNSMasq parameters to specify your tftpd server and the name of your pxe file, just add ” dhcp-boot=pxelinux.0,,<IP of TFTP Server> “into your :Additional DNS Options” under Administration -> Services.

It could not get much simpler than that – now go play!

This is a pretty old post – watch why I like tomato more.