<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-352996768877901844</id><updated>2011-09-08T06:30:29.803-07:00</updated><title type='text'>Duncan's techie blog</title><subtitle type='html'>Here I try to explain how things work on the internet or  provide answers to technical problems I've experienced so that they might save others time and frustration!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://djberriman.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://djberriman.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Duncan Berriman</name><uri>http://www.blogger.com/profile/14404615606641284683</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>19</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-352996768877901844.post-4762479076421496929</id><published>2011-09-06T05:54:00.000-07:00</published><updated>2011-09-06T06:01:20.874-07:00</updated><title type='text'>blocking request range attacks on Apache</title><content type='html'>There are a number of ways to block attacks using the recent request range byte attack, best of all is upgrading or patching Apache to fix the issue.&lt;br /&gt;&lt;br /&gt;Some versions are easier than others to confgure if you can not patch or upgrade.&lt;br /&gt;&lt;br /&gt;In particular Apache 2.0.49 does not have some of the features required such as the option to use RequestHeader with an environment variable.&lt;br /&gt;&lt;br /&gt;Below is the code I have used to block requests with more 10 or more byte ranges or using the HEAD method to request byte ranges (as that seems a little pointless).&lt;br /&gt;&lt;br /&gt;It also logs all such requests to a specific log file.&lt;br /&gt;&lt;br /&gt;SetEnvIf Range (^bytes) bad-range=1&lt;br /&gt;SetEnvIf Request-Range (^bytes) bad-range=1&lt;br /&gt;SetEnvIf Request_Method "GET" !bad-range&lt;br /&gt;SetEnvIf Range (,.*?){9,} bad-range=1&lt;br /&gt;SetEnvIf Request-Range (,.*?){9,} bad-range=1&lt;br /&gt;CustomLog logs/range-CVE-2011-3192.log common env=bad-range&lt;br /&gt;&lt;br /&gt;#Not available in Apache 2.0.49&lt;br /&gt;#RequestHeader unset Range env=bad-range&lt;br /&gt;#RequestHeader set Range "badrange" env=bad-range&lt;br /&gt;&lt;br /&gt;RewriteEngine on&lt;br /&gt;&lt;br /&gt;RewriteCond %{HTTP:range} !(^bytes=[^,]+(,[^,]+){0,9}$|^$)&lt;br /&gt;RewriteRule .* - [F]&lt;br /&gt;RewriteCond %{HTTP:request-range} !(^bytes=[^,]+(,[^,]+){0,9}$|^$)&lt;br /&gt;RewriteRule .* - [F]&lt;br /&gt;RewriteCond %{HTTP:range} (^bytes=)&lt;br /&gt;RewriteCond %{REQUEST_METHOD}  ^(HEAD)&lt;br /&gt;RewriteRule .* - [F]&lt;br /&gt;RewriteCond %{HTTP:request-range} (^bytes=)&lt;br /&gt;RewriteCond %{REQUEST_METHOD}  ^(HEAD)&lt;br /&gt;RewriteRule .* - [F]&lt;br /&gt;&lt;br /&gt;I've simply put this in httpd.conf using an include file before my NameVirtualHost options and then in each virtual host I've added &lt;br /&gt;&lt;br /&gt;RewriteEngine On&lt;br /&gt;RewriteOptions Inherit&lt;br /&gt;&lt;br /&gt;Hope its of some use!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/352996768877901844-4762479076421496929?l=djberriman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://djberriman.blogspot.com/feeds/4762479076421496929/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=352996768877901844&amp;postID=4762479076421496929' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default/4762479076421496929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default/4762479076421496929'/><link rel='alternate' type='text/html' href='http://djberriman.blogspot.com/2011/09/blocking-request-range-attacks-on.html' title='blocking request range attacks on Apache'/><author><name>Duncan Berriman</name><uri>http://www.blogger.com/profile/14404615606641284683</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-352996768877901844.post-6112305560139200251</id><published>2011-09-06T05:46:00.000-07:00</published><updated>2011-09-06T05:52:44.818-07:00</updated><title type='text'>using recaptcha with sun one (chilisoft) asp</title><content type='html'>I've visited using recaptcha (captcha) with sun one asp a number of times and never got it to work but finally I worked it out and here is how.&lt;br /&gt;&lt;br /&gt;You can use the standard classic asp code on googles web site.&lt;br /&gt;&lt;br /&gt;http://code.google.com/apis/recaptcha/docs/asp.html&lt;br /&gt;&lt;br /&gt;All you then need to change is one line of code&lt;br /&gt;&lt;br /&gt;Replace &lt;br /&gt;&lt;br /&gt;  Set objXmlHttp = Server.CreateObject("MSXML.XMLHTTPRequest")&lt;br /&gt;&lt;br /&gt;with&lt;br /&gt;&lt;br /&gt;  Set objXmlHttp = NewJavaObject("com.sun.msxml.XMLHttpRequest")&lt;br /&gt;&lt;br /&gt;You then need to update the bean policy file and add two new lines.&lt;br /&gt;&lt;br /&gt;/opt/casp/asp-server-3000/bean.policy&lt;br /&gt;&lt;br /&gt;      permission java.util.PropertyPermission "*", "read,write";&lt;br /&gt;      permission java.net.SocketPermission "*", "connect,resolve";&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You then need to configure sun one asp to enable java beans and enable the java security manager via the management interface. It will prompt you to restart the asp server which needs to be done to pick up the changes.&lt;br /&gt;&lt;br /&gt;Once thats all done your captcha code should work on sun one asp 4.0.3.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/352996768877901844-6112305560139200251?l=djberriman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://djberriman.blogspot.com/feeds/6112305560139200251/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=352996768877901844&amp;postID=6112305560139200251' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default/6112305560139200251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default/6112305560139200251'/><link rel='alternate' type='text/html' href='http://djberriman.blogspot.com/2011/09/using-recaptcha-with-sun-one-chilisoft.html' title='using recaptcha with sun one (chilisoft) asp'/><author><name>Duncan Berriman</name><uri>http://www.blogger.com/profile/14404615606641284683</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-352996768877901844.post-4639671400641391562</id><published>2010-05-06T03:00:00.000-07:00</published><updated>2010-05-06T03:59:48.877-07:00</updated><title type='text'>sendmail disable authentication on external interface</title><content type='html'>Since we opened some of our servers to accept incoming mail we have noticed that we get a lot of AUTH attacks.&lt;br /&gt;&lt;br /&gt;This results in messages like the following in our maillog&lt;br /&gt;&lt;br /&gt;May  6 08:41:18 asa3 sendmail[20544]: o468f4FG020544: [189.3.123.235]: possible SMTP attack: command=AUTH, count=4&lt;br /&gt;&lt;br /&gt;I've not found a way of simply telling sendmail to block an ip for a period when it detects more than 'n' AUTH failures.&lt;br /&gt;&lt;br /&gt;As we don't use AUTH on the external interface as we just accept incoming email for a limited number of accounts I decided to disable AUTH on the external interface.&lt;br /&gt;&lt;br /&gt;I edit /etc/mail/sendmail.mc and modified the Daemon Port settings as follows:-&lt;br /&gt;&lt;br /&gt;Original&lt;br /&gt;========&lt;br /&gt;DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl&lt;br /&gt;&lt;br /&gt;Amended&lt;br /&gt;=======&lt;br /&gt;DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl&lt;br /&gt;DAEMON_OPTIONS(`Port=smtp,Addr=x.x.x.x, Name=MTB, M=A')dnl&lt;br /&gt;&lt;br /&gt;As you can see I simply updated MTA for the loopback address and created a new MTB which tells sendmail to listen on the external IP (x.x.x.x) but disables AUTH by specifying the M=A option.&lt;br /&gt;&lt;br /&gt;Once thats done, I simply ran make and restarted sendmail.&lt;br /&gt;&lt;br /&gt;Everything works as before except the AUTH command is now rejected by sendmail on the external interface as can be seen below.&lt;br /&gt;&lt;br /&gt;# telnet x.x.x.x 25&lt;br /&gt;Trying x.x.x.x...&lt;br /&gt;Connected to x.x.x.x.&lt;br /&gt;Escape character is '^]'.&lt;br /&gt;220 x.x.x.x ESMTP Sendmail 8.13.8/8.13.8; Thu, 6 May 2010 09:56:49 GMT&lt;br /&gt;helo yyyyy&lt;br /&gt;250 x.x.x.x Hello yyyyy, pleased to meet you&lt;br /&gt;AUTH PLAIN AGptczFAam1zMS5uZXQAbm90Lm15LnJlYWwucGFzc3dvcmQ=&lt;br /&gt;503 5.3.3 AUTH not available&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/352996768877901844-4639671400641391562?l=djberriman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://djberriman.blogspot.com/feeds/4639671400641391562/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=352996768877901844&amp;postID=4639671400641391562' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default/4639671400641391562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default/4639671400641391562'/><link rel='alternate' type='text/html' href='http://djberriman.blogspot.com/2010/05/sendmail-disable-authentication-on.html' title='sendmail disable authentication on external interface'/><author><name>Duncan Berriman</name><uri>http://www.blogger.com/profile/14404615606641284683</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-352996768877901844.post-6497999267255972051</id><published>2010-03-02T02:17:00.000-08:00</published><updated>2010-03-02T02:45:12.451-08:00</updated><title type='text'>iphone 3gs signal issues - don't buy one!</title><content type='html'>I waited a long time before deciding to buy an iphone, it was the perfect choice for what I needed to do and meant I could carry one device rather than a number, it fitted by purpose for work and pleasure. I avoided jumping on the bandwagon as an early adopter and thought the 3GS would be no problem.&lt;br /&gt;&lt;br /&gt;How wrong I was! From the moment I switched it I had signal issues, there was of course the customary run around from Vodafone and Apple, denial of issues, then a sort of acknowledgement from Vodafone of issues but still no acceptance of a fault from Apple. Anyway after a week of frustration, phone calls, emails, a trip to the apple store to see a genius and swap the phone I've had enough and returned it.&lt;br /&gt;&lt;br /&gt;The issue.&lt;br /&gt;&lt;br /&gt;My work is 0.5 of a mile from a mast, pretty much clear line of sight, my home is 0.9 of a mile away from the same mast.&lt;br /&gt;&lt;br /&gt;On a normal nokia phone I get a good signal, have no issues making calls, getting texts etc.&lt;br /&gt;&lt;br /&gt;Move over to the iPhone 3GS using the same sim and I basically can't make a call or send a text.&lt;br /&gt;&lt;br /&gt;Sat on my desk the iPhone 3GS shows 2, sometimes 3 bars, if I am unlucky it will roam to 3G where it just has a signal. Picking the phone up results in the loss of at least 2 bars of signal within 30 seconds or so. You can see the problem can't you, lose 2 to 3 bars of signal and guess what you have no signal the call is dropped and the phone starts searching for a signal.&lt;br /&gt;&lt;br /&gt;It appears having the phone in your hand covers the aerial and reduces the signal, hardly a clever design for a hand held device.&lt;br /&gt;&lt;br /&gt;I also tested the same sim in a friend's iPhone 3G, sat in the same place on the desk it shows 4-5 bars much like my nokia.&lt;br /&gt;&lt;br /&gt;Surprisingly it also exhibits the pick up issue, when in hand it loses up to 2 bars of signal depending on how you hold it. Its not of course so noticeable as you have 4 or 5 to start with so can still make and receive calls.&lt;br /&gt;&lt;br /&gt;There is also an issue with the way both phones roam from 3G to 2G, it takes the phone an age to realise its lost its 3G signal and then swap to 2G, in my experience it normally says searching in between, so you can expect to drop a call if it happens. This can easily be reproduced by switching off your suresignal box and seeing how long after that it is before it drops the 3G signal and reverts to 2G on your local mast.&lt;br /&gt;&lt;br /&gt;So it would appear:-&lt;br /&gt;&lt;br /&gt;The iPhone 3GS can only be used in very high signal areas (5 bars +).&lt;br /&gt;The iPhone 3G can only be used in medium signal areas (3-4 bars +).&lt;br /&gt;Signal loss detection is poor and switching between 2G and 3G is poor.&lt;br /&gt;&lt;br /&gt;Switch off 3G on a 3GS unless you are using it and are stood by a mast. The 3GS appears to strongly favour a 3G signal even when it only has one bar, if you then pick up the device you will lose your signal and it will roam to 2G. Better to have it on 2G all the time - but then why have a 3G phone! &lt;br /&gt;&lt;br /&gt;Vodafone will offer you a suresignal box to 'boost' your signal, except it doesn't boost your signal it creates you your own mast in your house routed over your internet connection. What doesn't occur to Vodafone is that if you have a signal issue at home you likely have one down the local pub, the gym, and everywhere else you go locally. So in reality it solves nothing, probably why no one else has adopted them. It also means you somehow need to keep 1mb/s of your bandwidth free per phone, how do you accomplish that? If someone starts a large download you can forget using your phones!&lt;br /&gt;&lt;br /&gt;After much pressing I've finally managed to be allowed to return the item to Vodafone and cancel the contract without paying a £500 early termination fee. My suggestion is you mention the distance selling act (if you bought it remotely) and the consumer protection laws (such as being fit for purpose which it clearly isn't).&lt;br /&gt;&lt;br /&gt;Apple seem to be in denial and trying to cover the issues with the iPhone and in particular the 3GS up. My phone was swapped instantly at the Genius bar but the new one was no different. I rang the next day to see if anything could be done but other than offer a suresignal there was no alternative and although the staff member could not admit to an issue you could tell that there was and I wasn't the first to have such problems.&lt;br /&gt;&lt;br /&gt;I'm hoping its just either a particular batch of faulty phones or a software issue that can be resolved but I fear its a physical design issue/flaw with the iPhones aerial and on the S series some form of extra interference from the faster processor. Time will tell.&lt;br /&gt;&lt;br /&gt;For the moment and until the issue can be demonstrated to be resolved I'm returning back to my Nokia.&lt;br /&gt;&lt;br /&gt;Sadly having done some searching on the net since it seems other modern devices like the iPhone can also suffer from similar signal loss when picked up so choose your device carefully and do some research before signing up.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/352996768877901844-6497999267255972051?l=djberriman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://djberriman.blogspot.com/feeds/6497999267255972051/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=352996768877901844&amp;postID=6497999267255972051' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default/6497999267255972051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default/6497999267255972051'/><link rel='alternate' type='text/html' href='http://djberriman.blogspot.com/2010/03/iphone-3gs-signal-issues-dont-buy-one.html' title='iphone 3gs signal issues - don&apos;t buy one!'/><author><name>Duncan Berriman</name><uri>http://www.blogger.com/profile/14404615606641284683</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-352996768877901844.post-5827824595949746853</id><published>2009-03-16T08:17:00.000-07:00</published><updated>2009-03-16T08:26:40.476-07:00</updated><title type='text'>backscatter with sendmail</title><content type='html'>One of our mail servers recently got listed in backscatter.org for creating back scatter (Non Deliver Reports (NDR) to people who have been listed as the sender of spam).&lt;br /&gt;&lt;br /&gt;I was pretty surprised at this as I had configured sendmail such that it should not produce back scatter.&lt;br /&gt;&lt;br /&gt;However on closer investigation it was true we were sending back scatter.&lt;br /&gt;&lt;br /&gt;The problem lay in the fact that we relay a few accounts to the users isp accounts. One in particular (Demon) issue a 509 if they reject the email as spam. &lt;br /&gt;&lt;br /&gt;This was causing our mail server to send an NDR to the from address of the original email.&lt;br /&gt;&lt;br /&gt;To solve this problem I used procmail and formail to rewrite and then forward the email rather than simply allowing sendmail to relay it.&lt;br /&gt;&lt;br /&gt;By re writing the 'Return-Path' option it means that the NDR is sent to a local address (which is actually /dev/null) rather than the FROM address.&lt;br /&gt;&lt;br /&gt;To do this I simply created an account for the user and then created a .procmailrc in the home directory with the following entry&lt;br /&gt;&lt;br /&gt;:0fw&lt;br /&gt;| /usr/bin/formail -i "Return-Path: postmaster@mydomain.co.uk" | /usr/lib/sendmail -f postmaster@mydomain.co.uk yyyyyyyy@myotherdomain.co.uk&lt;br /&gt;&lt;br /&gt;postmaster@mydomain.co.uk is simply sent to 'junkmail'&lt;br /&gt;junkmail is an alias (in aliases) for /dev/null&lt;br /&gt;&lt;br /&gt;The original Return-Path can be seen in the mail header as Old-Return-Path should you ever need it.&lt;br /&gt;&lt;br /&gt;You can verify everything is working by simply checking your maillog (and the fact you have no more NDR mail sat for days in your outgoing queue!)&lt;br /&gt;&lt;br /&gt;If you need to monitor your mail server check out &lt;a title="web server monitoring" href="http://www.ippatrol.com/"&gt;www.ippatrol.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/352996768877901844-5827824595949746853?l=djberriman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://djberriman.blogspot.com/feeds/5827824595949746853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=352996768877901844&amp;postID=5827824595949746853' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default/5827824595949746853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default/5827824595949746853'/><link rel='alternate' type='text/html' href='http://djberriman.blogspot.com/2009/03/backscatter-with-sendmail.html' title='backscatter with sendmail'/><author><name>Duncan Berriman</name><uri>http://www.blogger.com/profile/14404615606641284683</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-352996768877901844.post-4426332503284562472</id><published>2009-02-23T03:33:00.000-08:00</published><updated>2009-03-16T08:15:49.119-07:00</updated><title type='text'>asa5505 top 10 feature</title><content type='html'>The latest version of ASDM fails with an error when you try to enable the ASA5505 top 10 feature.&lt;br /&gt;&lt;br /&gt;It tries to execute the command "threat-detection statistics host number-of-rate 0" which is not valid.&lt;br /&gt;&lt;br /&gt;To enable it execute the command "threat-detection statistics" using the cli interface.&lt;br /&gt;&lt;br /&gt;Save the config and then disconnect and reconnect ASDM.&lt;br /&gt;&lt;br /&gt;Should now be working!&lt;br /&gt;&lt;br /&gt;Its not always obvious its fully working as many of the windows show zero values for parameters when there is no attack.&lt;br /&gt;&lt;br /&gt;Both issues have been logged with Cisco.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/352996768877901844-4426332503284562472?l=djberriman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://djberriman.blogspot.com/feeds/4426332503284562472/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=352996768877901844&amp;postID=4426332503284562472' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default/4426332503284562472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default/4426332503284562472'/><link rel='alternate' type='text/html' href='http://djberriman.blogspot.com/2009/02/asa5505-top-10-feature.html' title='asa5505 top 10 feature'/><author><name>Duncan Berriman</name><uri>http://www.blogger.com/profile/14404615606641284683</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-352996768877901844.post-5860947659297058498</id><published>2009-01-22T03:12:00.000-08:00</published><updated>2009-01-22T03:17:20.839-08:00</updated><title type='text'>Allowing for a timeout on check_nrpe</title><content type='html'>check_nrpe allows for a timeout to be set using the -t option. The default is 10 seconds. Often this might not be enough. There is no way of specifying the timeout option when configuring a host.&lt;br /&gt;&lt;br /&gt;example&lt;br /&gt;=======&lt;br /&gt;&lt;br /&gt;define service{&lt;br /&gt;    use generic-service&lt;br /&gt;    # Hostname of remote system&lt;br /&gt;    host_name mynode.mydomain.com&lt;br /&gt;    service_description Load&lt;br /&gt;    is_volatile 0&lt;br /&gt;    check_period 24x7&lt;br /&gt;    max_check_attempts 3&lt;br /&gt;    normal_check_interval 5&lt;br /&gt;    retry_check_interval 1&lt;br /&gt;    # Change to your contact group&lt;br /&gt;    contact_groups admins&lt;br /&gt;    notification_options w,u,c,r&lt;br /&gt;    notification_interval 10&lt;br /&gt;    notification_period 24x7&lt;br /&gt;    check_command check_nrpe!check_load&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;To get round this problem simply add a new command definition to commands.cfg below the existing check_nrpe definition&lt;br /&gt;&lt;br /&gt;define command{&lt;br /&gt;        command_name    mycheck_nrpe&lt;br /&gt;        command_line    /usr/local/nagios/libexec/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -t $ARG2$&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;mycheck_nrpe allows for a 2nd parameter to be passed on the service definition.&lt;br /&gt;&lt;br /&gt;example&lt;br /&gt;&lt;br /&gt;define service{&lt;br /&gt;    use generic-service&lt;br /&gt;    # Hostname of remote system&lt;br /&gt;    host_name mynode.mydomain.com&lt;br /&gt;    service_description Load&lt;br /&gt;    is_volatile 0&lt;br /&gt;    check_period 24x7&lt;br /&gt;    max_check_attempts 3&lt;br /&gt;    normal_check_interval 5&lt;br /&gt;    retry_check_interval 1&lt;br /&gt;    # Change to your contact group&lt;br /&gt;    contact_groups admins&lt;br /&gt;    notification_options w,u,c,r&lt;br /&gt;    notification_interval 10&lt;br /&gt;    notification_period 24x7&lt;br /&gt;    check_command mycheck_nrpe!check_load!30&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;The above example specifies a 30 second timeout.&lt;br /&gt;&lt;br /&gt;Problem solved!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/352996768877901844-5860947659297058498?l=djberriman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://djberriman.blogspot.com/feeds/5860947659297058498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=352996768877901844&amp;postID=5860947659297058498' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default/5860947659297058498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default/5860947659297058498'/><link rel='alternate' type='text/html' href='http://djberriman.blogspot.com/2009/01/allowing-for-timeout-on-checknrpe.html' title='Allowing for a timeout on check_nrpe'/><author><name>Duncan Berriman</name><uri>http://www.blogger.com/profile/14404615606641284683</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-352996768877901844.post-4927390970853964961</id><published>2008-07-16T04:31:00.000-07:00</published><updated>2008-07-16T04:37:44.155-07:00</updated><title type='text'>Cisco Pix 501 Nat Configuration</title><content type='html'>After installing a Cisco Pix 501 on an ADSL connection I had great problems getting NAT to work so I could allow incoming connections to certain servers inside the network.&lt;br /&gt;&lt;br /&gt;I was using PDM to configure the firewall and this appears to be the problem. Eventually after some research I managed to configure NAT using the command line interface.&lt;br /&gt;&lt;br /&gt;static (inside,outside) tcp interface 25 192.168.10.2  25 netmask  255.255.255.255 0 0&lt;br /&gt;access-list outside_in permit tcp any interface outside eq 25&lt;br /&gt;access-group outside_in in interface outside&lt;br /&gt;&lt;br /&gt;PDM does not appear to add the last line (or at least I can't find a way of doing it) and you end up with SYN errors in the firewall log.&lt;br /&gt;&lt;br /&gt;Once its configured you can use PDM to add more rules as you wish and the access group outside_in is preserved. You need to configure the translation rule first and then the access rule. Easiest was is to copy and past the rules created above using PDM.&lt;br /&gt;&lt;br /&gt;If you wish to restrict the outside access to certain servers simply replace 'any' with the ip address and subnet mask.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/352996768877901844-4927390970853964961?l=djberriman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://djberriman.blogspot.com/feeds/4927390970853964961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=352996768877901844&amp;postID=4927390970853964961' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default/4927390970853964961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default/4927390970853964961'/><link rel='alternate' type='text/html' href='http://djberriman.blogspot.com/2008/07/cisco-pix-501-nat-configuration.html' title='Cisco Pix 501 Nat Configuration'/><author><name>Duncan Berriman</name><uri>http://www.blogger.com/profile/14404615606641284683</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-352996768877901844.post-1068361466489832785</id><published>2008-07-14T03:19:00.000-07:00</published><updated>2008-07-14T03:25:22.792-07:00</updated><title type='text'>Configure PPTP VPN through Cisco Pix 501 Firewall</title><content type='html'>I recently added a Pix 501 to my ADSL connection and all my outbound PPTP VPN connections from my Windows XP PC stopped working.&lt;br /&gt;&lt;br /&gt;I eventually worked out how to re-enable them.&lt;br /&gt;&lt;br /&gt;On the Pix 501 just enable PPTP fixup on port 1723.&lt;br /&gt;&lt;br /&gt;All works!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/352996768877901844-1068361466489832785?l=djberriman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://djberriman.blogspot.com/feeds/1068361466489832785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=352996768877901844&amp;postID=1068361466489832785' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default/1068361466489832785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default/1068361466489832785'/><link rel='alternate' type='text/html' href='http://djberriman.blogspot.com/2008/07/configure-pptp-vpn-through-cisco-pix.html' title='Configure PPTP VPN through Cisco Pix 501 Firewall'/><author><name>Duncan Berriman</name><uri>http://www.blogger.com/profile/14404615606641284683</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-352996768877901844.post-4306853621166645383</id><published>2008-04-14T03:46:00.000-07:00</published><updated>2008-04-14T03:55:09.448-07:00</updated><title type='text'>Configure MailScanner to skip checking local mail</title><content type='html'>Every day our system creates thousands of mails we send to customers and we keep a BCC so we can prove we have sent the email. Its pointless MailScanner checking these emails for virus and spam.&lt;br /&gt;&lt;br /&gt;On checking the MailScanner configuration files I found it was very simple.&lt;br /&gt;&lt;br /&gt;Simply edit MailScanner.conf and then change&lt;br /&gt;&lt;br /&gt;Scan Messages = yes&lt;br /&gt;&lt;br /&gt;to read&lt;br /&gt;&lt;br /&gt;Scan Messages = %rules-dir%/scan.messages.rules&lt;br /&gt;&lt;br /&gt;Then create scan.messages.rules in your rules directory and add your rules like the following example&lt;br /&gt;&lt;br /&gt;   From:        /^192\.168\.12\./       no&lt;br /&gt;   FromOrTo:    default                 yes&lt;br /&gt;&lt;br /&gt;This means that any message from 192.168.12.* will not be checked&lt;br /&gt;&lt;br /&gt;After that simply restart MailScanner, send some test messages and check the mail headers to confirm that internal messages are no longer scanned and external messages are still scanned.&lt;br /&gt;&lt;br /&gt;For more information on rules see the EXAMPLES or README file in the rules directory.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/352996768877901844-4306853621166645383?l=djberriman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://djberriman.blogspot.com/feeds/4306853621166645383/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=352996768877901844&amp;postID=4306853621166645383' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default/4306853621166645383'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default/4306853621166645383'/><link rel='alternate' type='text/html' href='http://djberriman.blogspot.com/2008/04/configure-mailscanner-to-skip-checking.html' title='Configure MailScanner to skip checking local mail'/><author><name>Duncan Berriman</name><uri>http://www.blogger.com/profile/14404615606641284683</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-352996768877901844.post-6537831326891252704</id><published>2008-03-19T10:31:00.000-07:00</published><updated>2008-03-19T10:42:01.360-07:00</updated><title type='text'>How to configure yum to use a particular mirror</title><content type='html'>So you have an out of date version of Fedora installed but you still want to make sure its as up to date as possible and Redhat (and many others) have removed the repositories. If you can find an old mirror, &lt;a href="http://fedora.mirror.facebook.com/"&gt;http://fedora.mirror.facebook.com/&lt;/a&gt; for instance then you should be able to run up2date and use yum to install software.&lt;br /&gt;&lt;br /&gt;First however you need to tell yum to look at the mirror you have found and not rely on download.fedora.redhat.com.&lt;br /&gt;&lt;br /&gt;Go to the /etc/yum.repos.d directory.&lt;br /&gt;&lt;br /&gt;Here you will find the definitions of the repositories. On Fedora Core 4 I commented out the mirrorlist option and added in my own values for baseurl.&lt;br /&gt;&lt;br /&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;$ cat fedora.repo&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;                &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;[&lt;span style="font-style: italic;"&gt;base]&lt;/span&gt;&lt;o:p style="font-style: italic;"&gt;&lt;/o:p&gt;&lt;br /&gt;name=Fedora Core $releasever - $basearch - Base&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/$releasever/$basearch/os/&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;baseurl=http://fedora.mirror.facebook.com/linux/core/$releasever/$basearch/os/&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;#mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-core-$releasever&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;enabled=1&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;gpgcheck=1&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;$ cat fedora-updates.repo&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;                &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;[updates-released]&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;name=Fedora Core $releasever - $basearch - Released Updates&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/$releasever/$basearch/&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;baseurl=http://fedora.mirror.facebook.com/linux/core/updates/$releasever/$basearch/&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;#mirrorlist=http://fedora.redhat.com/download/mirrors/updates-released-fc$releasever&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;enabled=1&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;gpgcheck=1&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;$ cat fedora-extras.repo&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;                &lt;p style="font-style: italic;" class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;[extras]&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;name=Fedora Extras $releasever - $basearch&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/extras/$releasever/$basearch/&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;baseurl=http://fedora.mirror.facebook.com/linux/extras/$releasever/$basearch/&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;#mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-extras-$releasever&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;enabled=1&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-extras&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;gpgcheck=1&lt;/span&gt;&lt;/p&gt;Now you can happily use up2date and yum.&lt;br /&gt;&lt;br /&gt;Clearly the system is still out of date and a newer version of fedora would be better but at least you can get it to the latest update and install software as required.&lt;br /&gt;&lt;br /&gt;If you come across an issue where yum FC4 is looking in FC3 directories then do the following:-&lt;br /&gt;&lt;span lang="EN-GB"&gt;&lt;br /&gt;$ cd /usr/share/rhn/up2date_client&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;    &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;$ vi sourcesConfig.py and comment out the releasever="3" below #FIXME:0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/352996768877901844-6537831326891252704?l=djberriman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://djberriman.blogspot.com/feeds/6537831326891252704/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=352996768877901844&amp;postID=6537831326891252704' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default/6537831326891252704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default/6537831326891252704'/><link rel='alternate' type='text/html' href='http://djberriman.blogspot.com/2008/03/how-to-configure-yum-to-use-particular.html' title='How to configure yum to use a particular mirror'/><author><name>Duncan Berriman</name><uri>http://www.blogger.com/profile/14404615606641284683</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-352996768877901844.post-470000941130524777</id><published>2008-03-05T03:08:00.000-08:00</published><updated>2008-03-05T04:12:18.976-08:00</updated><title type='text'>Content-type application/pdf does not work using Firefox on Mac</title><content type='html'>Today we had a customer complain they could not open our invoices which are pdf's produced via a cgi script.&lt;br /&gt;&lt;br /&gt;It quickly became apparent that it only happens in Firefox on a Mac. Firefox on other platforms has no issues, nor does Safari on a Mac.&lt;br /&gt;&lt;br /&gt;A quick google uncovered this known bug.&lt;br /&gt;&lt;br /&gt;https://bugzilla.mozilla.org/show_bug.cgi?id=416094&lt;br /&gt;&lt;br /&gt;It appears firefox on Max ignores the Content-Type header and will only automatically open a pdf when presented with a .pdf file extension.&lt;br /&gt;&lt;br /&gt;I managed to 'solve' the problem by adding the following http header to the output.&lt;br /&gt;&lt;br /&gt;Content-Disposition: inline; filename="invoice.pdf"&lt;br /&gt;&lt;br /&gt;This just tells the browser the default file name and thus gets round the issue. Still works in IE and Firefox on a PC and fixes the issue on a Mac.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/352996768877901844-470000941130524777?l=djberriman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://djberriman.blogspot.com/feeds/470000941130524777/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=352996768877901844&amp;postID=470000941130524777' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default/470000941130524777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default/470000941130524777'/><link rel='alternate' type='text/html' href='http://djberriman.blogspot.com/2008/03/content-type-applicationpdf-does-not.html' title='Content-type application/pdf does not work using Firefox on Mac'/><author><name>Duncan Berriman</name><uri>http://www.blogger.com/profile/14404615606641284683</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-352996768877901844.post-23530402587037035</id><published>2007-12-21T02:20:00.001-08:00</published><updated>2007-12-21T02:32:52.162-08:00</updated><title type='text'>IE7 Upgrade Woes</title><content type='html'>Well although I generally use Firefox I had to upgrade to IE7 today as a customer has spotted a problem with our website (&lt;a href="http://www.ippatrol.com/"&gt;www.ippatrol.com&lt;/a&gt;) whereby a redirect was looping.&lt;br /&gt;&lt;br /&gt;It turns out IE7 is a little more picky about the REFRESH meta tag.&lt;br /&gt;&lt;br /&gt;In all previous versions of IE and Firefox the following worked.&lt;br /&gt;&lt;br /&gt;&amp;lt;meta equiv="REFRESH" content="1; anotherpage.html"&amp;gt;&lt;br /&gt;&lt;br /&gt;Under IE7 this just causes the page to constantly refresh. Adding the URL option fixes the issue.&lt;br /&gt;&lt;br /&gt;&amp;lt;meta equiv="REFRESH" content="1; URL=anotherpage.html"&amp;gt;&lt;br /&gt;&lt;br /&gt;I've also seen comments on various blogs that this tag doesn't work or is disabled in IE7 and that somewhere in IE7 is an option to turn support on and off. I haven't seen this issue but then I only redirect internally within the site so perhaps it only takes affect when you redirect off site.&lt;br /&gt;&lt;br /&gt;Just in case I've added some javascript code to do the redirect as well. Hopefully one or other method will fire otherwise the visitor can click on the link displayed to get to the contact page.&lt;br /&gt;&lt;br /&gt;The second issue I had with IE7 was that PDF's no longer worked and just came up with a page error saying object required.&lt;br /&gt;&lt;br /&gt;I quickly guessed this might be because my Acrobat Reader was also well out of date (V6.0.2 from 2004) even though it works fine in Firefox and worked in IE6.&lt;br /&gt;&lt;br /&gt;So I bit the bullet and upgraded to Acrobat Reader V7.0 and now both Firefox and IE7 work with PDFs.&lt;br /&gt;&lt;br /&gt;I have to say I am quite impressed with the speed of IE7 and the speed of the new version of Acrobat Reader. There are a few enhancements in IE7 most of which are just catching up with Firefox plus a few others which are useful if annoying such as the certificate checker/warnings and the fact that such errors are displayed on the address bar if you decide to ignore them - a nice reminder.&lt;br /&gt;&lt;br /&gt;I did however notice that the IE7 pop up blocker is turned off by default which I find a little odd.  The phishing facility warns you that its not turned on the first time you start IE7 but for some reason the pop up blocker doesn't - not very consistent or helpful.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/352996768877901844-23530402587037035?l=djberriman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://djberriman.blogspot.com/feeds/23530402587037035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=352996768877901844&amp;postID=23530402587037035' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default/23530402587037035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default/23530402587037035'/><link rel='alternate' type='text/html' href='http://djberriman.blogspot.com/2007/12/ie7-upgrade-woes.html' title='IE7 Upgrade Woes'/><author><name>Duncan Berriman</name><uri>http://www.blogger.com/profile/14404615606641284683</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-352996768877901844.post-1797234066325156682</id><published>2007-12-10T02:45:00.001-08:00</published><updated>2007-12-10T02:57:24.707-08:00</updated><title type='text'>Sendmail backup mx relay</title><content type='html'>I have used sendmail for a number of years. We use it on our main mail server and on our backup mx servers.&lt;br /&gt;&lt;br /&gt;Up until recently we simply allowed the backup mx servers to relay all mail to the domains they serve. Unfortunately spammers tend to target backup mx servers in the belief they are less well protected.&lt;br /&gt;&lt;br /&gt;One of the side effects of this is that you end up accepting mail for lots of invalid addresses, which not only results in more spam (as the spammer thinks the address is valid) but also means you then end up trying to send non delivery receipts to some random reply address when the backup mx tries to deliver the mail to the main server and gets refused as the address doesn't exist.&lt;br /&gt;&lt;br /&gt;I finally worked out that there is a nice feature in sendmail to only relay certain addresses thus refusing all the other junk and preventing the erroneous non delivery receipts.&lt;br /&gt;&lt;br /&gt;By default we used to add the following to out access database&lt;br /&gt;&lt;br /&gt;TO:dcl.co.uk                    RELAY&lt;br /&gt;&lt;br /&gt;which simply means relay all email addressed to the domain dcl.co.uk&lt;br /&gt;&lt;br /&gt;It is possible to be more selective but first you have to add the following to your sendmail configuration (sendmail.mc). Suggest you save a copy of sendmail.cf first for later comparison.&lt;br /&gt;&lt;br /&gt;dnl #&lt;br /&gt;dnl #Use access db with undocumented feature&lt;br /&gt;dnl #&lt;br /&gt;define(`_RELAY_FULL_ADDR_', `1')&lt;br /&gt;&lt;br /&gt;Then do a make. Compare your new sendmail.cf with your old one just to ensure you've not lost anything.&lt;br /&gt;&lt;br /&gt;You can now specify specific email addresses in the TO field rather than just the domain.&lt;br /&gt;&lt;br /&gt;It means you have to remember to update your backup mx servers whenever you add or remove an email account but that is a small price to pay for the empty mail queues. I guess you could easily automate it.&lt;br /&gt;&lt;br /&gt;Don't for get to rebuild your access database once you've edited the text file.&lt;br /&gt;&lt;br /&gt;# hash /etc/mail/access.db &lt; /etc/mail/access&lt;br /&gt;&lt;br /&gt;PS. I also set DoubleBounceAddress to nothing (O DoubleBounceAddress=) to get rid of all those non delivery receipts of non delivery receipts!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/352996768877901844-1797234066325156682?l=djberriman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://djberriman.blogspot.com/feeds/1797234066325156682/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=352996768877901844&amp;postID=1797234066325156682' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default/1797234066325156682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default/1797234066325156682'/><link rel='alternate' type='text/html' href='http://djberriman.blogspot.com/2007/12/sendmail-backup-mx-relay.html' title='Sendmail backup mx relay'/><author><name>Duncan Berriman</name><uri>http://www.blogger.com/profile/14404615606641284683</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-352996768877901844.post-4499265185651851756</id><published>2007-12-08T12:31:00.000-08:00</published><updated>2007-12-09T03:01:45.886-08:00</updated><title type='text'>TCP Window Scaling</title><content type='html'>It appears the lastest versions of Linux and Windows both enable TCP windows scaling by default. This in itself shouldn't present a problem and should improve connection speeds to sites as larger tcp packets can be negotiated.&lt;br /&gt;&lt;br /&gt;If however the site you are trying to access if behind and old firewall or router then you might find after upgrading to Windows Vista or a recent version of Linux (Redhat 6 for example) that some sites either crawl along or simply fail. This doesn't necessarily mean your computer is at fault. It could be your router - when did you last flash the rom?&lt;br /&gt;&lt;br /&gt;But it could mean that a firewall or router sat somewhere between you and the site is causing the issue.&lt;br /&gt;&lt;br /&gt;If you want to prove that its tcp window scaling causing the problem you can turn it off and see if it 'solves' the problem. If it does I suggest you get in touch with the site owner and ask them to get their firewall or router upgraded. Don't forget to turn Windows Scaling option back on after!&lt;br /&gt;&lt;br /&gt;How to disable in &lt;a href="http://8help.osu.edu/3253.html"&gt;Windows Vista&lt;/a&gt; and &lt;a href="http://wiki.archlinux.org/index.php/Configuring_network#How_To_Fix_It.3F_.28The_bad_way.29"&gt;Linux&lt;/a&gt;&lt;br /&gt;See &lt;a href="http://en.wikipedia.org/wiki/TCP_window_scale_option"&gt;Wikipedia&lt;/a&gt; for more details&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/352996768877901844-4499265185651851756?l=djberriman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://djberriman.blogspot.com/feeds/4499265185651851756/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=352996768877901844&amp;postID=4499265185651851756' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default/4499265185651851756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default/4499265185651851756'/><link rel='alternate' type='text/html' href='http://djberriman.blogspot.com/2007/12/tcp-window-scaling.html' title='TCP Window Scaling'/><author><name>Duncan Berriman</name><uri>http://www.blogger.com/profile/14404615606641284683</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-352996768877901844.post-2034410547438538898</id><published>2007-11-29T02:23:00.000-08:00</published><updated>2007-11-29T03:28:22.226-08:00</updated><title type='text'>Cisco firewall dns packet size setting</title><content type='html'>I recently noticed that our cisco firewalls were denying dns packets being returned which are greater than 512 bytes in size.&lt;br /&gt;&lt;br /&gt;On investigation this is the default setting on Cisco PIX and ASA firewalls and used to be correct as per the RFC for udp dns packet sizes. Over this size TCP packets used to be used. Due to the overhead of using TCP and various security issues it appears eDNS was invented to allow larger UDP packet sizes.&lt;br /&gt;&lt;br /&gt;From what I can determine there is a flag passed when a dns server requests a lookup indicating whether it accepts Edns and its maximum packet size. If your firewall is configured to a different value there will clearly be issues as it will deny the valid packet that is returned.&lt;br /&gt;&lt;br /&gt;BIND appears to cope with this situation by reverting back to a packet size of 512 if the initial query fails. I've not found out what Windows does if this happens but you would hope it does the same.&lt;br /&gt;&lt;br /&gt;A bit of research shows this feature was implemented in Windows 2003 with a default edns packet size limit of 1280 and in Bind 9 with a default packet size of 4096.&lt;br /&gt;&lt;br /&gt;So if you are using these dns servers you may want to adjust your firewall settings accordingly or research what your dns server does and what its default value is.&lt;br /&gt;&lt;span style="font-family:monospace;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;BIND 9 uses EDNS0 (RFC2671) to advertise its receive buffer size.  It&lt;/span&gt;&lt;span style="font-style: italic;"&gt; also sets DO EDNS flag bit in queries to indicate that it wishes to&lt;/span&gt;&lt;span style="font-style: italic;"&gt; receive DNSSEC responses.&lt;/span&gt;&lt;span style="font-style: italic;"&gt; Most older servers that do not support EDNS0, including prior versions &lt;/span&gt;&lt;span style="font-style: italic;"&gt;of BIND, will send a FORMERR or NOTIMP response to these queries. &lt;/span&gt;&lt;span style="font-style: italic;"&gt;When this happens, BIND 9 will automatically retry the query without&lt;/span&gt;&lt;span style="font-style: italic;"&gt;EDNS0.&lt;/span&gt;&lt;/blockquote&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;You can configure both dns servers not to use edns and you can configure the maximum packet size but I guess the easiest option is to configure your firewall correctly.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre&gt;&lt;/pre&gt;&lt;span style="font-weight: bold;"&gt;Related articles&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.isc.org/index.pl?/sw/bind/bind-security.php"&gt;http://www.isc.org/index.pl?/sw/bind/bind-security.php&lt;/a&gt;&lt;br /&gt;&lt;a href="http://homepages.tesco.net/J.deBoynePollard/FGA/dns-edns0-and-firewalls.html"&gt;http://homepages.tesco.net/J.deBoynePollard/FGA/dns-edns0-and-firewalls.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.isc.org/index.pl?/sw/bind/view/?release=9.4.1-P1"&gt;http://www.isc.org/index.pl?/sw/bind/view/?release=9.4.1-P1&lt;/a&gt;&lt;br /&gt;&lt;a href="http://technet2.microsoft.com/windowsserver/en/library/099d4168-4ac1-441d-81b7-0f3f4909fbd41033.mspx?mfr=true"&gt;http://technet2.microsoft.com/windowsserver/en/library/099d4168-4ac1-441d-81b7-0f3f4909fbd41033.mspx?mfr=true&lt;/a&gt;&lt;br /&gt;&lt;a href="http://northeasttech.com/classroom/courses/2278/Student/Appendix/2278B_XA.pdf"&gt;http://northeasttech.com/classroom/courses/2278/Student/Appendix/2278B_XA.pdf&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/352996768877901844-2034410547438538898?l=djberriman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://djberriman.blogspot.com/feeds/2034410547438538898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=352996768877901844&amp;postID=2034410547438538898' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default/2034410547438538898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default/2034410547438538898'/><link rel='alternate' type='text/html' href='http://djberriman.blogspot.com/2007/11/cisco-firewall-dns-packet-size-setting.html' title='Cisco firewall dns packet size setting'/><author><name>Duncan Berriman</name><uri>http://www.blogger.com/profile/14404615606641284683</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-352996768877901844.post-4322140779361509392</id><published>2007-11-23T08:36:00.000-08:00</published><updated>2007-11-23T11:48:30.307-08:00</updated><title type='text'>Fedora Core 8 Network Install (no dvd available)</title><content type='html'>Since Redhat Fedora Core 8 (FC8) only appears to come on DVD and not on CD any more its a bit of a problem to install it on older systems with no DVD.&lt;br /&gt;&lt;br /&gt;You can either install directly over the internet or download the iso and serve the files locally via your own http or ftp server.&lt;br /&gt;&lt;br /&gt;Using download.fedora.redhat.com (or a mirror)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Creating your own server&lt;/span&gt; (skip if you are going to install over the internet)&lt;br /&gt;&lt;br /&gt;Download the full dvd iso.&lt;br /&gt;&lt;br /&gt;Then either burn it to a dvd and configure your web server/ftp server to allow access to the dvd or copy the files off the dvd to your web server/dvd server. Alternatively extract the files directly from the iso to a directory on your web server/ftp server (I used winrar on windows and then used windows personal web server to serve the files).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Create a boot disk&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Download the Fedora Core 8 Rescue Disk iso image from (/pub/fedora/linux/releases/8/Fedora/i386/iso) and burn this on to a CD.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Boot and Install&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Boot the server where you want to install FC8 from the Rescue Disk.&lt;br /&gt;&lt;br /&gt;When it boots choose Install or upgrade an existing system from the menu.&lt;br /&gt;&lt;br /&gt;Select the language and keyboard type from the menu.&lt;br /&gt;&lt;br /&gt;You can then choose to install from Local CD/DVD, Hard drive, NFS directory, FTP or HTTP&lt;br /&gt;&lt;br /&gt;Choose HTTP or FTP as appropriate and fill in the details.&lt;br /&gt;&lt;br /&gt;In my case I used Http so I then input just the ip address of my web server and the directory containing the unpacked iso image. If you are using a service over the internet then you need to target the 'os' directory (/pub/fedora/linux/releases/8/Fedora/i386/os).&lt;br /&gt;&lt;br /&gt;The install should then detect the 'disk' and offer the option to check the media (say no!). Proceed as normal with the install.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Notes:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You can also use boot.iso (minimal boot) or diskboot.img (usb stick) to boot and start the install (These can be found in fedora/linux/releases/8/Fedora/i386/os/images on any mirror.)  but its always worth creating the rescue disk just in case you ever need to rescue your server. Leave one next to the server!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/352996768877901844-4322140779361509392?l=djberriman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://djberriman.blogspot.com/feeds/4322140779361509392/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=352996768877901844&amp;postID=4322140779361509392' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default/4322140779361509392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default/4322140779361509392'/><link rel='alternate' type='text/html' href='http://djberriman.blogspot.com/2007/11/fedora-core-9-network-install-no-dvd.html' title='Fedora Core 8 Network Install (no dvd available)'/><author><name>Duncan Berriman</name><uri>http://www.blogger.com/profile/14404615606641284683</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-352996768877901844.post-3876313632280899894</id><published>2007-11-17T18:33:00.001-08:00</published><updated>2007-11-17T20:23:42.008-08:00</updated><title type='text'>How to get Cisco VPN working on Vodafone</title><content type='html'>If you are using vodafone mobile broadband or dialing up via your mobile you may wish to connect to the office via vpn. If this is using a firewall such as the Cisco ASA devices you may find it connects but then you can not do anything.&lt;br /&gt;&lt;br /&gt;Firstly you need to ensure that NAT-T is enabled in your IKE global parameters. Its in the VPN tab on ASDM under IKE - Global parameters.&lt;br /&gt;&lt;br /&gt;Next you must ensure NAT-T is enabled in your IPSEC rules for your dynamic vpn connections. Its on the IPSec - IPSec Rules tab, and you need to tick the NAT-T box for each of your dynamic VPN rules.&lt;br /&gt;&lt;br /&gt;You should now be able to connect and access your services via Vodafone.&lt;br /&gt;&lt;br /&gt;If you notice that you can now only access things at the office and no other sites (such as google for instance) then you are probably sending all your internet traffic to the office instead of just that which is relevant to the office.&lt;br /&gt;&lt;br /&gt;So you need to set up a tunnel rule.&lt;br /&gt;&lt;br /&gt;The best way is to create a new Group Policy on the firewall (or edit the one you have already set up for remote connections).  When you create the new Group Policy leave everything set to inherit except for Split Tunnel Policy and Split Tunnel Network List on the Client Configuration tab.&lt;br /&gt;&lt;br /&gt;Set Split Tunnel Policy to 'Tunnel Network List Below'.&lt;br /&gt;&lt;br /&gt;Then click on the Manage button below that.&lt;br /&gt;&lt;br /&gt;You should get a pop up window called ACL Manager with no entries defined.&lt;br /&gt;&lt;br /&gt;Click on Add, Select Add ACL, when prompted for ACL Name, enter a name for your ACL such as SplitTunnelList. Click on the new ACL you added then click on Add again and this time select Add ACE.&lt;br /&gt;&lt;br /&gt;Enter the IP Address of your internal network, in this example its 192.168.2.0 and then enter the network mask, in this case 255.255.255.0. Ensure Permit is ticked.&lt;br /&gt;&lt;br /&gt;Finally select your remote access Tunnel Group and assign it the new Group Policy. Save all the settings and reconnect via vpn. Your office traffic should still work but you should also be able to surf the internet directly via your own connection.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/352996768877901844-3876313632280899894?l=djberriman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://djberriman.blogspot.com/feeds/3876313632280899894/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=352996768877901844&amp;postID=3876313632280899894' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default/3876313632280899894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default/3876313632280899894'/><link rel='alternate' type='text/html' href='http://djberriman.blogspot.com/2007/11/how-to-get-cisco-vpn-working-on.html' title='How to get Cisco VPN working on Vodafone'/><author><name>Duncan Berriman</name><uri>http://www.blogger.com/profile/14404615606641284683</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-352996768877901844.post-6881714654920044239</id><published>2007-11-17T17:51:00.001-08:00</published><updated>2007-11-17T18:29:52.083-08:00</updated><title type='text'>Basic - How DNS Works</title><content type='html'>&lt;table class="tborder" id="post4811693" align="center" border="0" cellpadding="6" cellspacing="1" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="alt1" id="td_post_4811693"&gt;  &lt;!-- message, attachments, sig --&gt;           &lt;!-- message --&gt;   &lt;div id="EchoTopic"&gt;&lt;div id="post_message_4811693"&gt;In this article I will try and explain the basics of DNS, what it is, what you use it for and how important it is.&lt;br /&gt;&lt;br /&gt;DNS is basically a set of records that allow a name you enter in a browser such as www.ippatrol.co.uk to be converted into a numeric ip address that a computer can understand and use to connect to the actual web server.&lt;br /&gt;&lt;br /&gt;You can in many cases just use the ip address but that would be hard to remember and if it changes you will be lost so we use dns to make things easier to remember.&lt;br /&gt;&lt;br /&gt;DNS is comprised of a number of different record types some of which I explain below.&lt;br /&gt;&lt;br /&gt;An 'A' record is something like www, added to your domain (ippatrol.co.uk) it gives an easy to remember url www.ippatrol.co.uk. When you enter this in your browser your pc use dns to translate the 'A' record to the ip address of the web server server, requests the page and displays it.&lt;br /&gt;&lt;br /&gt;An 'MX' record is an incoming mail server record, you normally have more than one, each has a priority. Mail will go to the lowest priority if this fails it will try the others in order. So when you send an email your isps mail server finds the mx record of the receipients mail server, gets the ip address and then connects to that server to send the email.&lt;br /&gt;&lt;br /&gt;a 'CNAME' is a conical name and basically just points at another name (A record), it can make maintenance easier as you then may only need to change one 'A' record but I generally don't use them.&lt;br /&gt;&lt;br /&gt;So instead of defining ftp as an 'A' record you may make ftp a cname pointing to say www so when its looked up it looks at the record for ftp, finds its a cname, looks up www and gets the ip address of the server.&lt;br /&gt;&lt;br /&gt;A lot goes on in the background to look up a dns entry. First we have to query the root name servers (the heart of the internet), to find out which top level domain servers will help to answer your lookup.&lt;br /&gt;&lt;br /&gt;so for instance to lookup www.ippatrol.co.uk we need to know who provides uk responses&lt;br /&gt;&lt;br /&gt;host -t ns -d uk&lt;br /&gt;&lt;br /&gt;;; ANSWER SECTION:&lt;br /&gt;co.uk.                  170706  IN      NS      ns6.nic.uk.&lt;br /&gt;co.uk.                  170706  IN      NS      ns7.nic.uk.&lt;br /&gt;co.uk.                  170706  IN      NS      nsa.nic.uk.&lt;br /&gt;co.uk.                  170706  IN      NS      nsb.nic.uk.&lt;br /&gt;co.uk.                  170706  IN      NS      nsc.nic.uk.&lt;br /&gt;co.uk.                  170706  IN      NS      nsd.nic.uk.&lt;br /&gt;co.uk.                  170706  IN      NS      ns1.nic.uk.&lt;br /&gt;co.uk.                  170706  IN      NS      ns2.nic.uk.&lt;br /&gt;co.uk.                  170706  IN      NS      ns3.nic.uk.&lt;br /&gt;co.uk.                  170706  IN      NS      ns4.nic.uk.&lt;br /&gt;co.uk.                  170706  IN      NS      ns5.nic.uk.&lt;br /&gt;&lt;br /&gt;then we ask one of those servers for the domain's (ippatrol.co.uk) dns servers.&lt;br /&gt;&lt;br /&gt;host -t ns -d ippatrol.co.uk ns6.nic.uk.&lt;br /&gt;&lt;br /&gt;ippatrol.co.uk.         172800  IN      NS      ns1.dcl.co.uk.&lt;br /&gt;ippatrol.co.uk.         172800  IN      NS      ns2.dcl.co.uk.&lt;br /&gt;ippatrol.co.uk.         172800  IN      NS      ns3.dcl.co.uk.&lt;br /&gt;&lt;br /&gt;In this case there are 3.&lt;br /&gt;&lt;br /&gt;Once you have the name servers you can then lookup the record you want&lt;br /&gt;&lt;br /&gt;host www.ippatrol.co.uk ns2.dcl.co.uk.&lt;br /&gt;Using domain server:&lt;br /&gt;Name: ns2.dcl.co.uk.&lt;br /&gt;Address: 85.13.195.78#53&lt;br /&gt;Aliases:&lt;br /&gt;&lt;br /&gt;www.ippatrol.co.uk has address 81.201.137.96&lt;br /&gt;&lt;br /&gt;Its actually a bit more involved than that but thats the basic idea.&lt;br /&gt;&lt;br /&gt;You could always lookup a few domains on somewhere like dnsreport.com to see how they are set up.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;   &lt;!-- / message --&gt;&lt;br /&gt;You should try and ensure your dns is hosted by a reliable dns host. Unfortunately most people just rely on the free service provided by their domain registrar, spend thousands on their web site only to find the dns service is unreliable and people can't find their web site.&lt;br /&gt;&lt;br /&gt;Be aware DNS is cached (to speed up the internet) in your browser, on your pc and on your isps's dns servers. So you may be able to access your site, but your dns servers may be down and other visitors may not be able to access it. You will only see the problem when your cache expires. So check your dns out somewhere like checkdns.net if some reports a problem.&lt;br /&gt;&lt;br /&gt;Your dns provider should provide at least 2 dns servers (in case one fails). They should be located in different data centers so that an outage at one place does not affect your dns service.&lt;br /&gt;&lt;br /&gt;Finally they should really be located in the country where your servers are or where your customers are, beware some dns providers who appear to be located in the UK are for instance located in North America.&lt;br /&gt;&lt;br /&gt;A simple traceroute to their name servers should clarify the situation. The best thing to do is ask your potential dns provider all these questions.&lt;br /&gt;&lt;br /&gt;Before registering a domain check out their dns service and also check how much it costs to transfer away from the registrar if you need to. It should be possible to do everything yourself from a control panel without their intervention. If they don't allow this or charge you for releasing your domain then avoid them like the plague.&lt;br /&gt;&lt;br /&gt;Finally once you have configured your dns check its correct using a free service like dnsreport.com and do this every time you update it. To do a one off test of your dns, web site and mx records try checkdns.net.&lt;br /&gt;&lt;br /&gt;Once everything is working signup with ipPatrol (&lt;a href="http://www.ippatrol.co.uk/"&gt;www.ippatrol.co.uk&lt;/a&gt;) and get your web site monitored 24x7 with instant alerts via email and sms so you know when it stops working and can get it fixed before your customers notice or you start losing business. Don't rely on your isp to do this, most don't do effective monitoring (they just ping the server) and even less will tell if a problem has occurred.&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/352996768877901844-6881714654920044239?l=djberriman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://djberriman.blogspot.com/feeds/6881714654920044239/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=352996768877901844&amp;postID=6881714654920044239' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default/6881714654920044239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/352996768877901844/posts/default/6881714654920044239'/><link rel='alternate' type='text/html' href='http://djberriman.blogspot.com/2007/11/basic-how-dns-works.html' title='Basic - How DNS Works'/><author><name>Duncan Berriman</name><uri>http://www.blogger.com/profile/14404615606641284683</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
