EveryDNS Client
Last night I realised some of the DNS servers I use for my domains weren't responding to requests. I initially thought it was my webserver, but Google Chrome kept saying "resolving host" and a quick nslookup revealed that the nameservers weren't replying.
My DNS is hosted with ZoneEdit, who hand out different nameservers per account. DNS should be the most reliable service in your chain - but for me it was failing. So I decided to switch providers for the domains that were affected to EveryDNS.
They're a free service, allowing you to setup your DNS for up to 20 domains per account. This is 4 times as many as ZoneEdit allow! The site itself is also a lot more responsive and fairly easy to use. The only thing which put me off is that you have to use their client to update your Dynamic DNS entries. They do provide the full source code for the Windows client though, which I downloaded and promptly started trawling through.
Their client is efficient, small and worked on my Server 2008 webserver - so I didn't have a reason to rewrite it. However, it requires use of command-line parameters to update. This is fine for those who have their webserver connected directly to the internet - i.e. the webserver has the external dynamic IP address, as assigned by the ISP. But in most cases, the webserver is behind a firewall and uses an internal IP (such as 192.168.1.x).
So, I needed a way of retrieving the current external IP, as it changes periodically - hence being known as Dynamic. An ipconfig results in the internal IP, but visiting WhatIsMyIP.com yields the external IP. Screen-scraping the page would allow you to get your IP - or you can use the specific page which just displays your IP.
Then once the external IP is retrieved, you can call the official EveryDNS client - passing in the IP as a parameter. Lastly, this whole process needs automating and executing at regular intervals, to ensure your DNS records are updated to reflect your Dynamic IP address.
I decided to write a small application in VB.NET to accomplish this:
- Retrieve the External IP address from What Is My IP
- Build up the parameters for the official client
- Call the official client passing in the parameters
- Log a success/failure
You can download the full source code or the compiled executable. You'll need to amend the .config file:
- URL - the URL to WhatIsMyIP to retrieve the IP Address
- LogFile - the path to the log file
- LogToFile - true/false depending on if you want a log file to be produced
- username - your EveryDNS account username
- password - your EveryDNS account password
- domains - a comma-separated list of each domain you want to update
- Executable - the path to the Official EveryDNS client
example.com,example.co.ukThen it would call the client for example.com, wait for a response and then call it again for example.co.uk - allowing you to update all of your DNS records at EveryDNS in one go.
This application can then be scheduled to run at regular intervals. I chose once an hour, every hour to ensure I'm not hitting the sites too hard - but that IP changes would be dealt with fairly quickly.
Hopefully there are others in the same situation as me, that want to use the EveryDNS client with their external IP address. Let me know if you end up using the client and what you think - perhaps you have improvements you'd make?
Posted: Thursday 17th September 2009, 06:17pm
Categories: Articles, Computers and Technology, Links, Slickhouse, Web
Tags: application, client, dynamic-dns, everydns, vbnet, zoneedit
DynDNS drops domain
Today I went to visit a subdomain of mine that I use regularly, to find that it didn't work. After opening another tab to visit slickhouse.homeip.net it appeared that the DNS was non-existant. This domain is a 'catch-all' for my webserver, that ensures people can find their way around even if they mis-type a URL.
All my domains are registered with GoDaddy and the DNS is handled by ZoneEdit - but the aformentioned domain is provided by another Dynamic DNS provider - DynDNS. The reason for this is clear, if an update on ZoneEdit fails, I can fall back to DynDNS and force an update - and vice versa.
However, after finding a forced updated of the IP via DynDNS didn't work, I realised my account no longer existed either. It appears the DynDNS had deleted my account without any prior written notice!
And to think, 12 months ago, I was tempted to purchase their services for all of my domains. Imagine if you woke up one day to find your account (along with the related domains) had disappeared?
If any of you out there are currently using DynDNS' free service, let me know if you've experienced similar issues. If not, I'd recommend you look for an alternative Dynamic DNS service, as you too could end up in the same situation, without any written notice.
For those of you still looking for my 'fall-back' domain, it has been moved to hosting.slickhouse.com
Posted: Monday 15th December 2008, 06:17pm
Categories: Computers and Technology, Slickhouse, Web
Tags: dynamic-dns, dyndns, zoneedit

Feeds
Twitter

