<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Thomas&#39; site on Thomas&#39; site</title>
    <link>http://thomas.mangin.com/</link>
    <description>Recent content in Thomas&#39; site on Thomas&#39; site</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-gb</language>
    <copyright>&amp;copy; 2018</copyright>
    <lastBuildDate>Sun, 15 Oct 2017 00:00:00 +0100</lastBuildDate>
    <atom:link href="/" rel="self" type="application/rss+xml" />
    
    <item>
      <title>2019 Blog Update</title>
      <link>http://thomas.mangin.com/post/meta-update-2019/</link>
      <pubDate>Tue, 01 Jan 2019 00:00:00 +0000</pubDate>
      
      <guid>http://thomas.mangin.com/post/meta-update-2019/</guid>
      <description>&lt;p&gt;Once in a while, this site gets some TLC. Spring cleaning came early this year.&lt;/p&gt;

&lt;p&gt;Since I registered this domain I used:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&amp;ldquo;home made&amp;rdquo; html pages&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://freecode.com/projects/templeet&#34; target=&#34;_blank&#34;&gt;templeet&lt;/a&gt; (the engine which was powering &lt;a href=&#34;http://www.linuxfr.org&#34; target=&#34;_blank&#34;&gt;linuxfr.org&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://tiddlywiki.com/&#34; target=&#34;_blank&#34;&gt;tiddlywiki&lt;/a&gt; (the all in one page javascript wiki)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://blog.getpelican.com/&#34; target=&#34;_blank&#34;&gt;pelican&lt;/a&gt; another static site generator in Python using &lt;a href=&#34;http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html&#34; target=&#34;_blank&#34;&gt;restructured text&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This year, I decided to spent a few hours to convert this site to &lt;a href=&#34;https://gohugo.io/&#34; target=&#34;_blank&#34;&gt;Hugo&lt;/a&gt;. Hugo has better support and template than pelican, also it uses markdown which is more widely used.&lt;/p&gt;

&lt;p&gt;This time, I removed some outdated posts about networking, software, out-of-date patches, etc. that nobody uses anymore.&lt;/p&gt;

&lt;p&gt;Perhaps next time I will decide to simply use the &amp;ldquo;cloud&amp;rdquo; for my occasional blogging ..&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://write.as/&#34; target=&#34;_blank&#34;&gt;writeas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://sites.google.com/&#34; target=&#34;_blank&#34;&gt;Google Site&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>BGP weirdness</title>
      <link>http://thomas.mangin.com/talk/bgp-weirdness/</link>
      <pubDate>Fri, 13 Oct 2017 00:00:00 +0100</pubDate>
      
      <guid>http://thomas.mangin.com/talk/bgp-weirdness/</guid>
      <description>&lt;p&gt;Having implemented tens of BGP RFC, I am sharing some of the &amp;lsquo;pecularities&amp;rsquo; that BGP accumulated over time.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Using DNS Anycasting to help CDN</title>
      <link>http://thomas.mangin.com/talk/cdn-dns-anycast/</link>
      <pubDate>Mon, 20 Feb 2017 00:00:00 +0000</pubDate>
      
      <guid>http://thomas.mangin.com/talk/cdn-dns-anycast/</guid>
      <description>&lt;p&gt;CDNs (Akamai, Netflix, Facebook, Google, Apple, Micrsoft, Amazon, &amp;hellip;) do not rely on BGP for routing decisions. In this talk, I will explain how DNS can be used to help them find the &amp;ldquo;optimal&amp;rdquo; path to your end users using DNS Anyacst.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>HTTP RFC vs real world</title>
      <link>http://thomas.mangin.com/post/tech-http-rfc-crlf/</link>
      <pubDate>Tue, 07 May 2013 00:00:00 +0100</pubDate>
      
      <guid>http://thomas.mangin.com/post/tech-http-rfc-crlf/</guid>
      <description>&lt;p&gt;After quite some work, &lt;a href=&#34;http://code.google.com/p/exaproxy/&#34; target=&#34;_blank&#34;&gt;exaproxy&lt;/a&gt; is now serving our producting traffic nicely, however it does not mean that once in a while we do not get some surprises !&lt;/p&gt;

&lt;p&gt;I found the following request in our logs recently:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-http&#34;&gt;GET /a-page.php?many=argument&amp;amp;passed=here\r\n
HTTP/1.0\r\n
Host: changed.to.protect.the.innocent.com\r\n
Connection: close\r\n
\r\n
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Yes, you read properly, there is a new line between the URI and the procotol version, here HTTP/1.0, when &lt;a href=&#34;http://tools.ietf.org/html/rfc2616#section-5.1&#34; target=&#34;_blank&#34;&gt;RFC2616&lt;/a&gt; (the document which explains how a web server and your browser should speak) clearly does not allow it.&lt;/p&gt;

&lt;p&gt;So what was my surprise to find out that apache is replying correctly to this request if no virtual hosts are configured (without HTTP headers) !&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-sh&#34;&gt;»› telnet 127.0.0.1 80
Trying 127.0.0.1...
Won&#39;t send login name and/or authentication information.
Connected to localhost.
Escape character is &#39;^]&#39;.
GET /
HTTP/1.0
Host: changed.to.protect.the.innocent.com
Connection: close

&amp;lt;html&amp;gt;
some more html
&amp;lt;/html&amp;gt;

Connection closed by foreign host.
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;compared to ..&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-sh&#34;&gt;»› telnet 127.0.0.1 80
Trying 127.0.0.1...
Won&#39;t send login name and/or authentication information.
Connected to localhost.
Escape character is &#39;^]&#39;.
GET / HTTP/1.0
Host: changed.to.protect.the.innocent.com
Connection: close

HTTP/1.1 200 OK
Date: Tue, 07 May 2013 21:59:15 GMT
Server: Apache/2.2.22 (Unix) DAV/2 PHP/5.3.15 with Suhosin-Patch mod_ssl/2.2.22 OpenSSL/0.9.8r
X-Powered-By: PHP/5.3.15
Connection: close
Content-Type: text/html


&amp;lt;html&amp;gt;
some more html
&amp;lt;/html&amp;gt;

Connection closed by foreign host.
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The internet is full of surprises :)&lt;/p&gt;

&lt;p&gt;Now time to fix our request parsing code to allow this broken client to call back home !&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>ASN or Community ?</title>
      <link>http://thomas.mangin.com/post/asn-or-community/</link>
      <pubDate>Fri, 16 Nov 2012 00:00:00 +0000</pubDate>
      
      <guid>http://thomas.mangin.com/post/asn-or-community/</guid>
      <description>&lt;p&gt;Someone found a way to cause ExaBGP to mis-behave back in September (2012-09-05) .. The bug was &amp;ldquo;funny&amp;rdquo; enough to justify a blog entry, so let&amp;rsquo;s look at the route which caused it.&lt;/p&gt;

&lt;p&gt;If you are in an hurry, the answer to the mystery was that a route contained an ASN which could not fit in a &lt;a href=&#34;http://docs.python.org/2/library/stdtypes.html#typesnumeric&#34; target=&#34;_blank&#34;&gt;Python integer&lt;/a&gt;. The patch to fix the issue was a one liner to change the base class of an ASN from an integer to a long &amp;hellip;&lt;/p&gt;

&lt;p&gt;Integer size depends on your architecture, on my Macbook Pro it is 64 bits (63 bits signed integer), so the bug did not exist on my development platform !
On the machine affected, however the size of an integer was 32 bit, so the biggest integer possible was 2147483647&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-python&#34;&gt;&amp;gt;&amp;gt;&amp;gt; sys.maxint
9223372036854775807

&amp;gt;&amp;gt;&amp;gt; pow(2,63)-1
9223372036854775807L

&amp;gt;&amp;gt;&amp;gt; pow(2,31)-1
2147483647
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Still, no internet registry has yet allocated any ASN with a value near 2147483647, so how can that ASN be found &amp;ldquo;in the wild&amp;rdquo; ?&lt;/p&gt;

&lt;p&gt;The exact route as parsed by ExaBGP was :&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;route ipv4 unicast 178.216.216.0/21 
  next-hop 193.5.69.5 
  origin igp 
  as-path [ 196621 8758 3356 20485 21127 28884 41771 2737504257 2737504258 41771 ]
  community [ 3356:2 3356:22 3356:100 3356:123 3356:503 3356:2067 20485:11754 8758:13030 ]
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;So the route was leaving the autonomous system of 41771 and going back to it, this would indicate a routing loop and can not really happen unless the route was &amp;ldquo;tweaked&amp;rdquo;. However looking back at the RFC, this is however still a valid route.&lt;/p&gt;

&lt;p&gt;But how can &lt;em&gt;2737504257&lt;/em&gt; and &lt;em&gt;2737504258&lt;/em&gt; be in the AS-PATH ! ? !  Clearly a filter is missing, or something went very wrong somewhere !&lt;/p&gt;

&lt;p&gt;Looking at the ASN, you can notice something suspicious :&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;2737504257 is (41771&amp;lt;&amp;lt;16) + 1 known as 41771:1
2737504258 is (41771&amp;lt;&amp;lt;16) + 2 known as 41771:2
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;I can only conclude the originator must have been using something even more bizarre than &lt;a href=&#34;http://code.google.com/p/exabgp/&#34; target=&#34;_blank&#34;&gt;ExaBGP&lt;/a&gt; and inserted a community in the AS-PATH attribute by error !&lt;/p&gt;

&lt;p&gt;So, let&amp;rsquo;s have a look at who is that network :&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;aut-num:        AS41771
as-name:        MKC-OMSK-AS
descr:          MultiCable Networks LLC
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Ha, ha, we are surely right, some crazy russians :D
some crazy &lt;em&gt;polite&lt;/em&gt; russians to be exact as they replied to a mail I sent and have fixed the issue.&lt;/p&gt;

&lt;p&gt;Thank you to &lt;a href=&#34;http://uk.linkedin.com/in/faelixmarek&#34; target=&#34;_blank&#34;&gt;Marek&lt;/a&gt; for noticing that the ASN looked like a community&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Can you not see we are competing ?</title>
      <link>http://thomas.mangin.com/post/rant-competing/</link>
      <pubDate>Wed, 24 Oct 2012 00:00:00 +0100</pubDate>
      
      <guid>http://thomas.mangin.com/post/rant-competing/</guid>
      <description>

&lt;p&gt;Why no legislation from the &amp;ldquo;Creative&amp;rdquo; Industry should be passed - ever. This &amp;ldquo;rant&amp;rdquo; has been on my Desktop folder for over over two years waiting for my site to change, it finally found its way here &amp;hellip;&lt;/p&gt;

&lt;h2 id=&#34;who-are-the-cretive-industries&#34;&gt;Who are the &amp;lsquo;Cretive Industries&amp;rsquo; ?&lt;/h2&gt;

&lt;p&gt;If one look at the relation between ISPs and the &amp;lsquo;Music Industry&amp;rsquo; or more precisely the Music &lt;em&gt;DISTRIBUTION&lt;/em&gt; industry, which control the music production, the reason for the tension should be obvious.&lt;/p&gt;

&lt;p&gt;Both Industries are in the business of &lt;em&gt;DISTRIBUTION&lt;/em&gt;. The ISPs, unlike the &amp;lsquo;Music Industry&amp;rsquo; are not content producer just a &lt;em&gt;cheap&lt;/em&gt; conduits for anyone to communicate any kind of information.&lt;/p&gt;

&lt;p&gt;With the now wide deployment of broadband and high speed internet in homes, it means the &lt;em&gt;anyone&lt;/em&gt; can now easily distribute any information, music included, at low cost, to a large audience. So in theory, we should see new channel for music appearing and &lt;a href=&#34;http://www.techdirt.com/articles/20120706/04162619600/def-leppard-covers-its-own-songs-with-forgeries-to-fight-back-against-universal-music.shtml&#34; target=&#34;_blank&#34;&gt;artists embracing the internet&lt;/a&gt;, more competition and therefore lower prices.&lt;/p&gt;

&lt;p&gt;However, comparing the price of a movie, music included, with the price of a album still makes me think the price practiced are still very high and that someone is getting a golden deal, and that it is not the consumer.&lt;/p&gt;

&lt;h2 id=&#34;is-it-all-about-monopoly&#34;&gt;Is it all about monopoly ?&lt;/h2&gt;

&lt;p&gt;The only business which succeeded at it is Apple but the &amp;ldquo;low&amp;rdquo; price they practice have been, and I am sure still are, a point of tension between them and the label. Is apple becoming the new &lt;a href=&#34;http://www.engadget.com/2008/01/04/apple-sued-over-supposed-itunes-monopoly-being-mean-to-microsof/&#34; target=&#34;_blank&#34;&gt;monopoly&lt;/a&gt; ? One can wonder if the settlement of &lt;a href=&#34;http://www.engadget.com/2007/01/09/apple-drops-computer-from-name/&#34; target=&#34;_blank&#34;&gt;Apple Computer/Inc&lt;/a&gt;. with the Beetles&amp;rsquo; &lt;a href=&#34;http://en.wikipedia.org/wiki/Apple_Corps_v._Apple_Computer&#34; target=&#34;_blank&#34;&gt;Apple Corps&lt;/a&gt; is an indication that Apple has long term ambitions extending behind the creation of technological products.&lt;/p&gt;

&lt;p&gt;The &amp;lsquo;Music Industry&amp;rsquo; have been used for years to hold a quasi-monopoly on distribution, and like with every monopoly the price of music has been high.
This monopoly is the reason with this industry is slow to move toward new distribution mechanism. The most popular format on the internet are DRM free and customer are not interested in buying the same music over and over (once in tape format, once in CD form, etc.). I am surprised to not have to option to buy DVD with video clips at a premium yet.&lt;/p&gt;

&lt;p&gt;The problem is that the lack of legal download solution have created a generation of people who had no other option to listen their music in digital form than to break copyright law. A problem that the &amp;lsquo;Music Industry&amp;rsquo; blame on the ISPs, putting enormous pressure and lobbying for ISPs to &amp;lsquo;take action&amp;rsquo; against their customers performing such &lt;a href=&#34;http://en.wikipedia.org/wiki/Copyright_infringement&#34; target=&#34;_blank&#34;&gt;copyright infringement&lt;/a&gt; (which is not copyright &lt;a href=&#34;http://en.wikipedia.org/wiki/Theft&#34; target=&#34;_blank&#34;&gt;thief&lt;/a&gt; like they so often like to say).&lt;/p&gt;

&lt;h2 id=&#34;resisting-changes&#34;&gt;Resisting changes&lt;/h2&gt;

&lt;p&gt;The &amp;lsquo;Music Industry&amp;rsquo; is resisting changes, and seems to not have yet understood Apple idea of how to sell on itunes: make is so cheap to help impulse purchase. I hope that the success of the iPhone application store will open some eyes and that within my lifetime I will see the &amp;lsquo;Music Industry&amp;rsquo; working in providing easy ways to purchase music instead of trying to &lt;a href=&#34;https://publicaffairs.linx.net/news/?cat=43&#34; target=&#34;_blank&#34;&gt;sue music lovers&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The &amp;lsquo;Music Industry&amp;rsquo; want to force regulations (through strong handed lobbying) on ISPs to fix their business model, is ill advised and unproductive and may damage irrevocably the internet infrastructure and &lt;a href=&#34;http://en.wikipedia.org/wiki/End-to-end_principle&#34; target=&#34;_blank&#34;&gt;end-to-end principle&lt;/a&gt; it is based upon. They now want the ISP to censure the internet and &lt;a href=&#34;http://www.bbc.co.uk/news/technology-20026271&#34; target=&#34;_blank&#34;&gt;block websites&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Nothing about this resistance is new, &lt;a href=&#34;http://en.wikipedia.org/wiki/Home_Taping_Is_Killing_Music&#34; target=&#34;_blank&#34;&gt;tapes&lt;/a&gt;, &lt;a href=&#34;http://en.wikipedia.org/wiki/Sony_Corp._of_America_v._Universal_City_Studios,_Inc.&#34; target=&#34;_blank&#34;&gt;VHS&lt;/a&gt;. Every new technology changing the distribution game has seen lobbying and legal attacks from the distribution.&lt;/p&gt;

&lt;h2 id=&#34;tomorrow&#34;&gt;Tomorrow&lt;/h2&gt;

&lt;p&gt;Hopefully, like radio, the internet will become a successful distribution medium for the &amp;lsquo;Music Industry&amp;rsquo; to use. However, even &lt;a href=&#34;http://www.avrev.com/news/0205/17.radiorecords.html&#34; target=&#34;_blank&#34;&gt;radios are under pressure&lt;/a&gt; even after helping labels to reach the success they enjoy now-days.&lt;/p&gt;

&lt;p&gt;But, at the end, Listeners want choice. The internet is about bringing the world diversity to one&amp;rsquo;s living room, from new unknown indie album to collectors&amp;rsquo; vintage.&lt;/p&gt;

&lt;p&gt;Some business like &lt;a href=&#34;http://www.spotify.com/&#34; target=&#34;_blank&#34;&gt;Spotify&lt;/a&gt; and Last.fm, and more recently &lt;a href=&#34;http://www.xbox.com/music&#34; target=&#34;_blank&#34;&gt;Microsoft&lt;/a&gt;, have understood it and seems to have done some &lt;a href=&#34;http://www.guardian.co.uk/media/pda/2009/aug/26/spotify-digital-media&#34; target=&#34;_blank&#34;&gt;progress&lt;/a&gt;. This struggle between the media creation industry and the technology distribution providers is &lt;a href=&#34;http://en.wikipedia.org/wiki/Sony_Corp._of_America_v._Universal_City_Studios,_Inc.&#34; target=&#34;_blank&#34;&gt;not new&lt;/a&gt;, let hope that time once more the consumer interest will win over the corporate will to restrict media distribution.&lt;/p&gt;

&lt;h2 id=&#34;conclusion&#34;&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;Thank you for reading, time for me to see a &amp;copy; &lt;a href=&#34;http://en.wikipedia.org/wiki/Copyright_Term_Extension_Act&#34; target=&#34;_blank&#34;&gt;Mickey&lt;/a&gt; movie with my son.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>VOIP QOS</title>
      <link>http://thomas.mangin.com/talk/voip-qos/</link>
      <pubDate>Thu, 11 Oct 2012 00:00:00 +0100</pubDate>
      
      <guid>http://thomas.mangin.com/talk/voip-qos/</guid>
      <description>&lt;p&gt;I was invited to present at this year Leeds &lt;a href=&#34;http://www.itspa.org.uk&#34; target=&#34;_blank&#34;&gt;ITSPA&amp;rsquo;s&lt;/a&gt; meeting with my &lt;a href=&#34;http://www.ixleeds.net/&#34; target=&#34;_blank&#34;&gt;IXLeeds&amp;rsquo;s&lt;/a&gt; hat on.&lt;/p&gt;

&lt;p&gt;For once I did not speak about BGP/FlowSpec but VoIP QOS and how Internet Exchange can help to achieve end-to-end call quality.&lt;/p&gt;

&lt;p&gt;The meeting was interesting and the drink at the Adelphi gave me an opportunity to meet people I normal do not cross. I had to miss the evening curry but as I am living only 20 mns from Leeds, I am sure I will have another opportunity to try the restaurant.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>BGP for High Availability</title>
      <link>http://thomas.mangin.com/talk/bgp-ha/</link>
      <pubDate>Thu, 24 Mar 2011 00:00:00 +0000</pubDate>
      
      <guid>http://thomas.mangin.com/talk/bgp-ha/</guid>
      <description>&lt;p&gt;I presented at UKUUG in order to explain how BGP can be used to achieve High-Availibility.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>ExaBGP</title>
      <link>http://thomas.mangin.com/project/exabgp/</link>
      <pubDate>Thu, 03 Sep 2009 00:00:00 +0100</pubDate>
      
      <guid>http://thomas.mangin.com/project/exabgp/</guid>
      <description>

&lt;p&gt;ExaBGP is an application designed to provide an easy way for programmers and system admistrators to interact with BGP networks. The program allows the injection of arbitrary routes into a network, including IPv6 and FlowSpec, and the relaying of received routes to business logic backend applications.&lt;/p&gt;

&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;

&lt;p&gt;Many security professionals are currently using NetFlow to monitor their networks and react to DDOS attacks. By centralising their traffic information, they are able to corrolate the information and detect more and more advanced attacks.&lt;/p&gt;

&lt;p&gt;BGP is then often used to blackhole the destination IP of the attack at the network edge, protecting the core but still allowing the attacker to succeed.&lt;/p&gt;

&lt;p&gt;RFC 5575, better known as FlowSpec, was designed to help security professionals react to such attacks in a more fine grained manner by deploying precise filtering rules, and by taking advantage of recent routers advanced ASICS/Traffic filtering features.&lt;/p&gt;

&lt;p&gt;ExaBGP can be used for conditional announcements, for example only anycasting a service IP when the service is established as running correctly.&lt;/p&gt;

&lt;h1 id=&#34;getting-started&#34;&gt;Getting Started&lt;/h1&gt;

&lt;p&gt;ExaBGP is available on github and will run on most Unix flavours with any recent version of python 2 (2.4 to 3.7).&lt;/p&gt;

&lt;p&gt;Simply use &lt;code&gt;pip&lt;/code&gt; install it, or &lt;code&gt;untar&lt;/code&gt; the code into any directory of your choice, then edit one of the template files to reflect what you want to do, and finally test your configuration calling “bin/bgpd” with your configuration as the first parameter.&lt;/p&gt;

&lt;p&gt;What does it look like &amp;hellip;&lt;/p&gt;

&lt;p&gt;The configuration contains the usual BGP information fields; Cisco, Juniper, Quagga and BIRD users should find their mark very quickly.&lt;/p&gt;

&lt;p&gt;The program wiki has more information on how to install and configure the application.&lt;/p&gt;

&lt;p&gt;As usual, comments and feedback are welcome. Feel free to use the site&amp;rsquo;s bug tracker to contact us.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>The real cost of P2P</title>
      <link>http://thomas.mangin.com/post/rant-cost-p2p/</link>
      <pubDate>Mon, 30 Jun 2008 00:00:00 +0100</pubDate>
      
      <guid>http://thomas.mangin.com/post/rant-cost-p2p/</guid>
      <description>&lt;p&gt;Should you read &lt;a href=&#34;http://slashdot.org/&#34; target=&#34;_blank&#34;&gt;slashdot&lt;/a&gt;, you must have already seen its readers complaining about their ISP traffic shaping policies.
When working in the ISP industry it is painful to see the lack of understanding those &amp;lsquo;techies&amp;rsquo; are displaying.&lt;/p&gt;

&lt;p&gt;In the UK, if anything ISPs are guilty of bad advertising misleading customers with &amp;lsquo;up to&amp;rsquo; speeds and obscure fair usage policies and trying to market their product on price instead of quality (but Internet is a commodity market nowdays, so it is to be expected)&lt;/p&gt;

&lt;p&gt;Customers should be clearly told that DSL product sold are contended. Previously dialup products were as well, but the impact with dialup was much more noticeable with the inability to get online.&lt;/p&gt;

&lt;p&gt;The recent increase in content (video even more than P2P) has recently caused many of them to realise that they had oversubscribed their infrastructure to the point they could not deliver to their customers what they came to expect.&lt;/p&gt;

&lt;p&gt;Once down to the wall, ISPs had only a few options :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;raise price to reflect the cost of running the service at a low contention (and we all know that it is impossible)&lt;/li&gt;
&lt;li&gt;apply traffic policing globally (everyone is slowed down the same way to modem speed).&lt;/li&gt;
&lt;li&gt;apply targeted traffic policy (P2P users here you are)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As it is hard to tell a customer, who may cancel its contract returning a then useless free router, that he can no longer have fast email and web surfing, the path of least resistance is to throttle P2P traffic which is an important part (but not all) of an ISP traffic, freeing capacity for other services and allowing to delay infrastructure upgrade. (The cost of implementing traffic shaping is recovered if it allows to delay a network upgrade if only for a month!)&lt;/p&gt;

&lt;p&gt;For information, an ISP for a DSL service can be simplified as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the &amp;lsquo;last mile&amp;rsquo; cost from the home to the exchange&lt;/li&gt;
&lt;li&gt;the cost of the space used, power consumed and hardware located at the exchange&lt;/li&gt;
&lt;li&gt;the cost of moving the traffic within the country (fiber, etc.)&lt;/li&gt;
&lt;li&gt;the cost of the space used, power consumed and hardware located at national point of presence&lt;/li&gt;
&lt;li&gt;the cost of moving the traffic to other ISPs&lt;/li&gt;
&lt;li&gt;the cost of supporting the customer (ie: taking unrelated calls about their virus or other issues)&lt;/li&gt;
&lt;li&gt;the cost of collection the client payment&lt;/li&gt;
&lt;li&gt;all other generic business&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For quite few small/medium ISPs, the transit cost (the cost an ISP will pay for another bigger ISP to take its traffic somewhere worldwide) is more than the income that the customer provides. Most ISPs are making a loss trying to become big enough to be acquired.&lt;/p&gt;

&lt;p&gt;P2P being notably known to not really care about locality, one can see why it is the target of shaping (with the fact that the biggest torrent are often providing copyrighted material for which end users may or may not have a license to see/use).&lt;/p&gt;

&lt;p&gt;In that context it is not surprising that the industry is facing issues and trying to find more income streams (see my rant on Phorm).&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Phorm, the logical conclusion to legal pressure on ISP</title>
      <link>http://thomas.mangin.com/post/rant-phorm/</link>
      <pubDate>Fri, 29 Feb 2008 00:00:00 +0000</pubDate>
      
      <guid>http://thomas.mangin.com/post/rant-phorm/</guid>
      <description>&lt;p&gt;Up to recently, ISP felt that they had the same status as traditional telecommunication provider and were protected from prosecution for the traffic going through their network. It was then none of their business to police the information flowing through their network.&lt;/p&gt;

&lt;p&gt;The situation became hazier when BT decided to deploy [cleanfeed](&lt;a href=&#34;http://en.wikipedia.org/wiki/Cleanfeed_(content_blocking_system&#34; target=&#34;_blank&#34;&gt;http://en.wikipedia.org/wiki/Cleanfeed_(content_blocking_system&lt;/a&gt;).
Up to that point ISP had been transproxying web traffic in order to cache the web page requested and
save on bandwidth cost but had never actively interfered with the data passing through their network.&lt;/p&gt;

&lt;p&gt;More recently threat of &lt;a href=&#34;http://news.bbc.co.uk/1/hi/technology/7258437.stm&#34; target=&#34;_blank&#34;&gt;legislation&lt;/a&gt; pushed by the &lt;a href=&#34;http://www.ifpi.org/&#34; target=&#34;_blank&#34;&gt;IFPI&lt;/a&gt;, children protection &lt;a href=&#34;http://www.law.ed.ac.uk/ahrc/SCRIPT-ed/vol3-3/editorial.asp&#34; target=&#34;_blank&#34;&gt;lobby&lt;/a&gt;, and &lt;a href=&#34;http://www.theregister.co.uk/2007/11/16/isps_brown_terror/&#34; target=&#34;_blank&#34;&gt;government&lt;/a&gt;
(all ignoring that transproxying can be easily evaded) seems to be changing the landscape for ISP,
which are now under increased pressure to police their traffic for the benefit of who can afford to lobby them.&lt;/p&gt;

&lt;p&gt;Deploying large scale filtering/transproxying solution is expensive, and with little chance of seeing
the cost paid the either the end user or the legislator, It is only natural for ISP to seek some kind
of form or remuneration of the cost of deploying such possibly soon legally required solutions.&lt;/p&gt;

&lt;p&gt;In that context it is not that strange to see the UK largest ISP sell their customer web &lt;a href=&#34;http://www.nytimes.com/2008/02/18/technology/18target.html&#34; target=&#34;_blank&#34;&gt;traffic&lt;/a&gt;
(not protect by any data protection law) to an organisation selling targeted advertising.&lt;/p&gt;

&lt;p&gt;Up to now, advertiser had to rely on &lt;a href=&#34;http://en.wikipedia.org/wiki/HTTP_cookie&#34; target=&#34;_blank&#34;&gt;cookies&lt;/a&gt; to track surfing habit, making it possible for customers
to protect their privacy (refusing them or using &lt;a href=&#34;http://www.google.co.uk/search?q=anonymizer&#34; target=&#34;_blank&#34;&gt;anomymisers&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;With this new &lt;a href=&#34;http://www.phorm.com/&#34; target=&#34;_blank&#34;&gt;system&lt;/a&gt; (described &lt;a href=&#34;http://www.theregister.co.uk/2008/02/29/phorm_documents/&#34; target=&#34;_blank&#34;&gt;here&lt;/a&gt;) our average UK broadband users can only hope that the ISP marketing
firm will honour its promise to not monitor their traffic.&lt;/p&gt;

&lt;p&gt;The most interesting part seems to be that even once &amp;lsquo;unsubscribed&amp;rsquo; the traffic may still go through the advertiser &amp;lsquo;anomyser proxies&amp;rsquo;.
One can only wonder if those proxies role will not block cookies from competitors giving Phorm a quasi monopoly for advertising in the UK.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Posts</title>
      <link>http://thomas.mangin.com/post/tech-postfix-delegation-patch/</link>
      <pubDate>Fri, 16 Nov 2007 00:00:00 +0000</pubDate>
      
      <guid>http://thomas.mangin.com/post/tech-postfix-delegation-patch/</guid>
      <description>

&lt;p&gt;Ancien patch for Postfix checking multiple recipients for Postfix&amp;rsquo;s Access Policy Delegation&lt;/p&gt;

&lt;h3 id=&#34;warning&#34;&gt;WARNING&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Use the patch provided here at your own risk : do not use if you are not able to understand the code provided&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Before using this patch, you may want to read this &lt;a href=&#34;http://tech.groups.yahoo.com/group/postfix-users/message/230005&#34; target=&#34;_blank&#34;&gt;thread&lt;/a&gt; on the postfix-user mailing list where I was told:
* that I am ill advised to want such a patch in postfix as its &amp;ldquo;//approach is fundamentally flawed//&amp;rdquo;
* that this patch is too resource intensive&lt;/p&gt;

&lt;p&gt;In order to address the last point, I made sure that :
* the feature is turned off by default
* the maximum among of memory available to the feature can be set.&lt;/p&gt;

&lt;p&gt;With the default values :&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;smtpd_client_connection_count_limit (default: 50)
smtpd_recipient_limit (default: 1000)
line_length_limit (default: 2048)
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The worse case memory utilisation for the feature is around 2Mb per smtpd instance which is 40Mb with the default settings - which are exceptionally large for the recipient limit. Limiting mails to 50 recipients makes the worse case overhead per smtpd 100kb.&lt;/p&gt;

&lt;p&gt;40 Mb is indeed a lot for an old machine but on recent hardware it will not even be noticed (and this memory will only be allocated if the mails received have lots of recipients).&lt;/p&gt;

&lt;p&gt;The other way to get all the recipients of a mail would be to track the &amp;ldquo;recipient&amp;rdquo; sent to the policy server at each RCPT using the &amp;ldquo;instance&amp;rdquo; attribute and use the result at the DATA state.&lt;/p&gt;

&lt;p&gt;With this approach the policy server need :
* to be called at each RCPT (and not only at DATA)
* keep track of the recipients for each mail
* to perform some cleaning should the connection close between the RCPT and DATA state&lt;/p&gt;

&lt;p&gt;The patch provides two new configuration options:
* a boolean : access_delegation_recipients, which need to be turned on to use the feature
* an integer : smtpd_recipients_length_limit, which limit the among of memory the list of recipients can take, it is set to zero by default meaning that no limitation will be performed. Should its value be under &amp;ldquo;line_length_limit&amp;rdquo;, the value will be changed at run time to this default.&lt;/p&gt;

&lt;p&gt;It changes the SMTPD POLICY &lt;a href=&#34;http://www.postfix.org/SMTPD_POLICY_README.html&#34; target=&#34;_blank&#34;&gt;Protocol&lt;/a&gt; adding a line starting with &amp;ldquo;recipients=&amp;rdquo;. The key contains a &amp;ldquo;\r&amp;rdquo; separated list of the mail recipients (or the single recipient, exactly as the recipient key).
The list is only set during the DATA and END_OF_DATA state and &lt;strong&gt;only&lt;/strong&gt; if the lenght of the string is under the value set in smtpd_recipients_lenght_limit.&lt;/p&gt;

&lt;p&gt;This patch/feature &lt;em&gt;is&lt;/em&gt; useful for :
* boucing spam to a list of forged inexistent email addresses (especially when your MX and storage servers are not on the same machines).
* to allow per domain policies, ie per domain white-listing, etc.
* you tell me&lt;/p&gt;

&lt;p&gt;You can download the &amp;ldquo;fourth&amp;rdquo; version (released the 26th of November 2007) of this `&lt;a href=&#34;http://thomas.mangin.com/data/source/postfix-all_recipients-4-20071111.patch&#34; target=&#34;_blank&#34;&gt;patch for postfix 2.6 20071111&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I have updated the patch to apply cleanly on a more recent version of the &lt;a href=&#34;http://thomas.mangin.com/data/source/postfix-all_recipients-4-20080201.patch&#34; target=&#34;_blank&#34;&gt;patch for postfix 2.6 20080201&lt;/a&gt; (which applies cleanly on postfix-2.5.1-rc1)&lt;/p&gt;

&lt;p&gt;Should you have downloaded any previous version, please update as the third contain a memory leak which cause the memory utilisation to be up to two times what it should and any version before should simply not be used.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>BGP firewall</title>
      <link>http://thomas.mangin.com/post/tech-bgp-firewall/</link>
      <pubDate>Sat, 15 Sep 2007 00:00:00 +0100</pubDate>
      
      <guid>http://thomas.mangin.com/post/tech-bgp-firewall/</guid>
      <description>

&lt;p&gt;If you are protecting your network from packet with spoofed source IP, it is likely that you have to update your routers ACL each time the route you learn from your customers are changing. This can be automated, but could this be done without having to generated ?&lt;/p&gt;

&lt;h1 id=&#34;bgp-firewall&#34;&gt;BGP firewall&lt;/h1&gt;

&lt;h3 id=&#34;warning&#34;&gt;WARNING&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;This post is kept for nostalgic reason. Please do not use this solution for anything in production as it is more than likely that it will cause issues with any serious traffic.&lt;/em&gt;&lt;/p&gt;

&lt;h1 id=&#34;always-up-to-date-acl&#34;&gt;Always up-to-date ACL&lt;/h1&gt;

&lt;p&gt;ACL can be auto-generated from the content of the Registry Database, which is likely to be out of date, but it could also be possible to use the content of the router&amp;rsquo;s RIB to auto-generate those filters.&lt;/p&gt;

&lt;p&gt;Juniper has a feature called SCU/DCU (which from what I can read on their side seems to be mainly used for traffic accounting) which can be (ab)used to create some kind of dynamic prefix-list based the the communities taged on your BGP route.&lt;/p&gt;

&lt;h1 id=&#34;configuration&#34;&gt;Configuration&lt;/h1&gt;

&lt;p&gt;The example below uses SCU to create a firewall blocking packet entering your network with invalid source IPs.&lt;/p&gt;

&lt;p&gt;In order to do so we :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;tag all routes with communities depending on their source (transit,customer,peer)&lt;/li&gt;
&lt;li&gt;create a policy statement based on those communities&lt;/li&gt;
&lt;li&gt;apply this policy statement to our RIB to create the classes&lt;/li&gt;
&lt;li&gt;use those classes as filtering term of firewalls&lt;/li&gt;
&lt;/ul&gt;

&lt;pre&gt;&lt;code&gt;[edit policy-options]
policy-statement community-to-class {
  term is-peering { ... }
  term is-transit { ... }
  term is-customer {
  from community [ route-customer originate-customer ];
    then {
      destination-class customer;
      source-class customer;
    }
  }
  term is-orginated-here {
    from community originate;
    then {
      destination-class originate;
      source-class originate;
    }
  }
}

&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Then we tell the Juniper to build the SCU from our routing table.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[edit routing-options]
forwarding-table {
  export [ community-to-class load-balancing ];
  unicast-reverse-path feasible-paths;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;We then create a firewall saying that we intended to use this SCU as a match close.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[edit firewall]
filter external-incoming-transit {
  ...
  term originate-deny {
    from { 
      source-class originate;
    }
    then { 
      count deny-spoof-originate;
      discard;
    } 
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;And finally apply it to the interface ..&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[edit interface .... }
unit 123 {
  description &amp;quot;a peer/transit interface&amp;quot;;
  vlan-id 123;
  family inet {
    rpf-check {
      mode loose;
    }
    no-redirects;
    filter {
      input external-incoming-transit;
    }
    address 1.2.3.4/30;
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The route will have been tagged with an import statement on your bgp peers or sourced within your network&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[edit policy-options]
community originate members 30740:30740
&lt;/code&gt;&lt;/pre&gt;

&lt;pre&gt;&lt;code&gt;[edit routing-options]
aggregate {
  route 82.219.0.0/16 {
    community 30740:30740;
    as-path {
      origin igp;
    }
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Finally do not forget to remove those communities from the routes you are receiving from ebgp.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>BGP route leak</title>
      <link>http://thomas.mangin.com/talk/bgp-leak/</link>
      <pubDate>Thu, 13 Sep 2007 00:00:00 +0100</pubDate>
      
      <guid>http://thomas.mangin.com/talk/bgp-leak/</guid>
      <description>

&lt;p&gt;Leaking BGP routes is a common sport among the ISP community. I done a presentation on my personal experience at &lt;a href=&#34;http://www.linx.net/&#34; target=&#34;_blank&#34;&gt;LINX 57&lt;/a&gt; over ten years ago but it is still valid today.&lt;/p&gt;

&lt;h1 id=&#34;background&#34;&gt;Background&lt;/h1&gt;

&lt;p&gt;If you are joining an exchange you should assume that other member will leak, and be prepared.
Please consider those method as non-exclusive, the more you filter the less likely you are to leak.&lt;/p&gt;

&lt;h1 id=&#34;things-no-one-should-announce-or-accept&#34;&gt;Things no-one should announce or accept&lt;/h1&gt;

&lt;h2 id=&#34;small-prefixes&#34;&gt;Small Prefixes&lt;/h2&gt;

&lt;p&gt;Many ISP carry their customer routes (DSL, etc.) in iBGP as the IGP should remain stable and small to converge quickly.&lt;/p&gt;

&lt;p&gt;Should an ISP leask those route, you could see thousands of /32-/2x routes, as the smaller prefix routable over the internet is a /24, make sure to not accept very small prefixes&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;/* match and refuse any route smaller/longer than a /24 */

[edit policy-options]
policy-statement no-small-prefixes {
    from {
        route-filter 0.0.0.0/0 prefix-length-range /25-/32 reject;
    }
    then reject;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;h2 id=&#34;bogons&#34;&gt;BOGONS&lt;/h2&gt;

&lt;p&gt;As well, make sure you do not accept (or announce) reserved ranges and non-routable ones.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;/* bogon, rfc1918, etc. */

[edit policy-options]
policy-statement no-bogons {
    from {
        route-filter 224.0.0.0/4 orlonger reject;
        ......
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;h2 id=&#34;things-obviously-wrong&#34;&gt;Things obviously wrong ..&lt;/h2&gt;

&lt;p&gt;Only you can know what you can not learn from your peers but the transfer lan of an IX may look like something you would only learn from a mis-configuration&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;/* Linx LAN */

[edit policy-options]
policy-statement no-ix {
    from {
        route-filter 195.66.224.0/22 orlonger reject;
    }
    then reject;
}

&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;And then make sure you never see it .. or announce it&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;/* should never get in or out */

[edit protocols bgp group linx]
export [ no-small-prefixes no-ix no-bogons ];
import [ no-small-prefixes no-ix no-bogons ];
&lt;/code&gt;&lt;/pre&gt;

&lt;h2 id=&#34;protect-yourself&#34;&gt;Protect yourself&lt;/h2&gt;

&lt;h3 id=&#34;max-prefix&#34;&gt;Max Prefix&lt;/h3&gt;

&lt;p&gt;The quickest and simplest way to get some form of protection is a max-prefix limit, ie to put an upper bound to the number of routes you will accept from your peers&lt;/p&gt;

&lt;p&gt;The router will prefix then will shutdown a session should the ebgp speaker send you more than a predefined number of routes (was it necessary to say it ?)&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;neighbor 195.66.224.xxx {
    description &amp;quot;AS-ACCEPTED | Peer name | noc@peer.co.uk | AS-SENT&amp;quot;;
    family inet {
        unicast {
            prefix-limit {
                maximum 150;
                teardown 80 idle-timeout 5;
            }
        }
    }
    peer-as 1234;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;h3 id=&#34;max-prefix-limitations&#34;&gt;Max Prefix Limitations&lt;/h3&gt;

&lt;p&gt;On cisco this works great as the count is performed on prefix accepted. On juniper not as good the counting is done on prefix received (before any kind of filtering) which is much less useful.
For the clueful&lt;/p&gt;

&lt;p&gt;Go and thanks RAS for his excelent max-prefix auto-tuning work at &lt;a href=&#34;http://juniper.cluepon.net/index.php/OS_Auto_Tuning_Prefix_Limits&#34; target=&#34;_blank&#34;&gt;http://juniper.cluepon.net/index.php/OS_Auto_Tuning_Prefix_Limits&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Please push for this feature to your SE.&lt;/p&gt;

&lt;h3 id=&#34;peers-are-not-your-transit-providers&#34;&gt;Peers are not your transit providers&lt;/h3&gt;

&lt;p&gt;As an ISP you know who your transit providers are and their ASN. You should filter from your announcement any route with an AS-PATH which contain them&lt;/p&gt;

&lt;p&gt;Here is an example for Juniper (assuming your transit is from Level3 and Sprint)&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;/* define the routes we have learned from transit (example) */
as-path routes-level3 3356.*;
as-path routes-sprint 1239.*;

/* create a policy blocking their distribution */
[edit policy-options]
policy-statement no-transit {
    term remove-path {
        from {
            protocol bgp;
            as-path [ routes-level3 route-sprint ];
        }
        then reject;
    }
}

/* make sure that no linx peer will ever get them again */
[edit protocols bgp group linx]
export [ no-transit ];
&lt;/code&gt;&lt;/pre&gt;

&lt;h3 id=&#34;peers-are-not-your-customers&#34;&gt;Peers are not your customers&lt;/h3&gt;

&lt;p&gt;You should never see your customers routes from your peers neither.
Peers should know better&lt;/p&gt;

&lt;p&gt;Your peers should not neither leak routes with reserved ASN, mainly when they can be filtered with one line.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[edit protocol bgp group linx]
  remove-private;

&lt;/code&gt;&lt;/pre&gt;

&lt;h2 id=&#34;protect-your-reputation&#34;&gt;Protect your reputation&lt;/h2&gt;

&lt;h3 id=&#34;filtering-routes-using-communities&#34;&gt;Filtering routes using communities&lt;/h3&gt;

&lt;p&gt;First you must tag your route to know what is what&lt;/p&gt;

&lt;p&gt;It is in every book, your tag your route inbound and filter them outbound.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;/* define a communtiy to identify routes learned from transit */
community route-transit members 1234:1239;

/* create a policy to apply this community to a route */
policy-statement tag-transit {
    then {
        community add route-transit;
    }               
}

/* make sure all routes from transit have that community */
[edit protocols bgp group transit]
import [ tag-transit tag-transit-provider-specific ];
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;(repeat with peers)&lt;/p&gt;

&lt;p&gt;Then your use this to stop the annoucement to your peers&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;/* define a policy rejecting routes identified as transit */
[edit policy-options]
policy-statement export-transit {
    term remove-peering {
        from {      
            protocol bgp;
            community route-transit;
        }           
        then reject;
    }               
    term remove-peering ...
    term remove-community ...
    term prepend-one-time ...
}

/* and make sure no linx peer sees it */
[edit protocols bgp group linx]
export [ export-peering export-linx ];
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Don&amp;rsquo;t make a typo with your community definition without filtering on as-path as it hurts.&lt;/p&gt;

&lt;h3 id=&#34;filter-using-as-path&#34;&gt;Filter using AS-PATH&lt;/h3&gt;

&lt;p&gt;Most large networks have very &amp;ldquo;private&amp;rdquo; peering policies and it is unlikely that you should ever learn any of their route via peering (otherwise it would be called transit).&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;/* define the routes you will never see through peers */
as-path leaked-sprint &amp;quot;.{1,}1239.*&amp;quot;;
as-path leaked-telia &amp;quot;.{1,}1299.*&amp;quot;;

/* create a policy blocking their distribution */
[edit policy-options]
policy-statement no-leak {
    term remove-path {
        from {
            protocol bgp;
            as-path [ leaked-telia leaked-sprint ];
        }
        then reject;
    }
}

/* make sure that no linx peer will ever get them again */
[edit protocols bgp group linx]
import [ no-leak ];
&lt;/code&gt;&lt;/pre&gt;

&lt;h3 id=&#34;filtering-using-the-registry-db&#34;&gt;Filtering using the registry DB&lt;/h3&gt;

&lt;p&gt;Some tools, such as irrpt_, exist to help with the generation of filter based on the content of the IRR DB (RIPE, ARIN, etc.) gather and track prefix within AS-Macro.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>DNS Good Practice</title>
      <link>http://thomas.mangin.com/post/tech-dns-good-practice/</link>
      <pubDate>Wed, 08 Mar 2006 00:00:00 +0000</pubDate>
      
      <guid>http://thomas.mangin.com/post/tech-dns-good-practice/</guid>
      <description>

&lt;p&gt;I wrote this post ages ago, and therefore the information will sound a bit outdated, even if still accurate.&lt;/p&gt;

&lt;h1 id=&#34;prelude&#34;&gt;Prelude&lt;/h1&gt;

&lt;p&gt;DNS is the service on which Internet is based, however, quite strangely it is often overlooked.&lt;/p&gt;

&lt;p&gt;In order to provide the best possible reliability, a lot of energy is placed on the hosting. All major e-commerce sites are load-balanced with redundant database back-ends, etc.&lt;/p&gt;

&lt;p&gt;Without a resilient and reliable DNS server, no one can hope to smoothly run any Internet services. However, lots of highly redundant web servers are based on weak DNS foundations.&lt;/p&gt;

&lt;p&gt;DNS is often misunderstood and it is assumed to be resistant to failure &amp;ldquo;by design&amp;rdquo;. Those who think like this will probably suffer a DNS outage sooner or later, however this could have easily been avoided by just taking a little care.&lt;/p&gt;

&lt;p&gt;DNS resilience should be the second concern after routing resilience. According to experience (at least mine) lots of ISP and big accounts do not have reliable DNS
Getting more Information&lt;/p&gt;

&lt;p&gt;This document is not intended to explain DNS basics but to provide good practical advise. If you want to learn more about DNS and understand which DNS is good for you please consult the very good DJBDNS FAQ. located at &lt;a href=&#34;http://cr.yp.to/djbdns/faq.html&#34; target=&#34;_blank&#34;&gt;http://cr.yp.to/djbdns/faq.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You will probably find theses pages very interesting as well:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://www.djbdns.org/&#34; target=&#34;_blank&#34;&gt;http://www.djbdns.org/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.lifewithdjbdns.org/&#34; target=&#34;_blank&#34;&gt;http://www.lifewithdjbdns.org/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/&#34; target=&#34;_blank&#34;&gt;http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.fefe.de/djbdns&#34; target=&#34;_blank&#34;&gt;http://www.fefe.de/djbdns&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.bgpdns.org/&#34; target=&#34;_blank&#34;&gt;http://www.bgpdns.org/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.ripe.net/ripencc/pub-services/db/whois/whois.html&#34; target=&#34;_blank&#34;&gt;http://www.ripe.net/ripencc/pub-services/db/whois/whois.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://nms.lcs.mit.edu/projects/dns/&#34; target=&#34;_blank&#34;&gt;http://nms.lcs.mit.edu/projects/dns/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.cymru.com/Documents/secure-bind-template.html&#34; target=&#34;_blank&#34;&gt;http://www.cymru.com/Documents/secure-bind-template.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Please, do not contact me to fix your DNS. Even so I am litterate with both DJBDNS and BIND, I do not wish to spend my time supporting it. Please refer to your ISP support department, read the FAQs, read newsgroups, Most BIND questions have already been answered numerous times.&lt;/p&gt;

&lt;p&gt;However, please free to report any fault or inexactitude about this document&lt;/p&gt;

&lt;h1 id=&#34;good-dns-record&#34;&gt;Good DNS record&lt;/h1&gt;

&lt;p&gt;Having a reliable and resilient DNS server is only the first step to secure DNS informtation. Hosting valid and well formed DNS information is crutial as well.&lt;/p&gt;

&lt;p&gt;Lots of good books such as &amp;ldquo;DNS and BIND&amp;rdquo; will provide your with all the information you need to configure BIND. However, a well formed BIND file is only the start for good DNS management.
Used DNS example&lt;/p&gt;

&lt;p&gt;The following domains will be used as examples within this document:
/var/named/domain.net on ns0.domain.net
domain.net, the firm main domain name ie: bbc.co.uk, cnn.com, isp.net&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ORIGIN domain.net.
domain.net.     86400   IN      SOA
				ns0.domain.net. hostmaster.domain.net. (
				2002020819 28800 7200 604800 86400 )
				NS      ns0.domain.net.
				NS      ns1.domain.net.
				NS      ns2.domain.net.
				MX      10 mx
				MX      20 secondary

mx              A       10.0.0.25
				A       10.0.0.26
				A       10.0.0.27
				A       10.0.0.27

secondary       A       169.254.0.25
				A       169.254.0.26
				A       169.254.0.27
				A       169.254.0.28

ns0             A       10.0.0.1
ns1             A       10.0.0.2
ns2             A       10.0.0.3
ns-secondary0   A       10.0.0.4
ns-cache0       A       10.0.0.5
ns-cache1       A       10.0.0.6

ns-staff0       A       192.168.0.254

smtp            A       10.0.0.25
pop             CNAME   pop3
pop3            A       10.0.0.110
imap            CNAME   imap4
imap4           A       10.0.0.143
webmail         A       10.0.0.443

www             A       10.0.0.80

staff           NS      ns-staff0
				NS      ns-secondary0
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;/var/named/staff.domain.net on ns0-staff.domain.net
staff.domain.net, a delegated domain used by the employee for their own site.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ORIGIN staff.domain.net.
staff.domain.net.
				86400   IN      SOA
				ns-staff0.domain.net. hostmaster.domain.net. (
				2002021312 28800 7200 604800 86400 )
				NS      ns-staff0.domain.net.
				A       192.168.0.80
				MX      10 mx.domain.net.
				MX      20 secondary.domain.net.
firewall        A       192.168.0.254
smtp            A       192.168.0.25
www             CNAME   firewall
*               CNAME   www
www.*           CNAME   www
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;/var/named/customer.com on ns0.domain.net
customer.com, a domain managed by domain.net owned by one of its customer.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ORIGIN customer.com.
customer.com.   86400   IN      SOA
				ns0.domain.net. hostmaster.domain.net. (
				2002020819 28800 7200 604800 86400 )
				NS      ns0.domain.net.
				NS      ns1.domain.net.
				NS      ns2.domain.net.
				MX      10 mx.domain.net.
				MX      20 secondary.domain.net.

smtp            CNAME   smtp.domain.net.
pop             CNAME   pop.domain.net
imap            CNAME   imap.domain.net.
www             CNAME   www.domain.net.
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;/var/named/0.168.192.in-addr.arpa on ns0.domain.net
0.168.192.in-addr.arpais the domain which allow IP to Name DNS&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ORIGIN 0.168.192.in-addr.arpa.
0.168.192.in-addr.arpa.
				86400   IN      SOA
				ns0.domain.net. hostmaster.domain.net. (
				2002021415 28800 7200 604800 86400 )
				NS      ns0.domain.net.
				NS      ns1.domain.net.
				NS      ns2.domain.net.
0               A       255.255.255.0
				PTR     domain.net.
1               PTR     server-at-ip-1.domain.net.
				PTR     another-server-at-ip-1.domain.net.
25              PTR     smtp.staff.domain.net.
254             PTR     firewall.staff.domain.net.
&lt;/code&gt;&lt;/pre&gt;

&lt;h1 id=&#34;dns-records-context&#34;&gt;DNS records context&lt;/h1&gt;

&lt;p&gt;domain.net is an isp or firm domain. The DNS server ns0, ns1 and ns2 for domain.net. are known from the DNS root server (ie: have glue records).&lt;/p&gt;

&lt;p&gt;This domain contains all the services that the user of the domain needs to access, such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;pop&lt;/li&gt;
&lt;li&gt;smtp&lt;/li&gt;
&lt;li&gt;www&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The domain staff.domain.net. is a delegation controlled by the employee and customer.com is the customer domain. it is used for the staff web server&lt;/p&gt;

&lt;p&gt;The staff.domain.net only has one DNS server as it is a non-important service. In this example, the DNS is provided by the same server which provides mail and web. This is the only case where you should allow a zone (and with reticence) to only have one DNS server as SOA.&lt;/p&gt;

&lt;h1 id=&#34;dns-code-of-conduct&#34;&gt;DNS code of conduct&lt;/h1&gt;

&lt;p&gt;As a genaral rule, all services which are going to be used by an end-user (understand everyone outside the firm IT department) should always be on different IP address, even if all services are provided by single computers.&lt;/p&gt;

&lt;p&gt;Whenever possible try to use reserved class C to preserve the pool of real world address.&lt;/p&gt;

&lt;p&gt;This is important to make sure that you can migrate any service from the server at any time without disturbing end-users. Using FQDN is not sufficient as you can not be sure that end-users have not misconfigured their computers.&lt;/p&gt;

&lt;p&gt;As a golden rule, it is important to not use any mail records for SMTP, POP, IMAP service as this limits your scalability options. There is no such thing such as a mail service.&lt;/p&gt;

&lt;p&gt;Also, keep the SMTP and MX record separated. It allows to use simple round-robin for the MX service. Ultimately you could have to have all customer accessible services, such as SMTP, POP, IMAP and HTTP behind load balancers to provide the highest availibility possible.&lt;/p&gt;

&lt;p&gt;In the case of SMTP, you can probably use the same server as for MX. However, the secondary MX server will most probably be situated outside your network to avoid mail bouncing in case of network outage.&lt;/p&gt;

&lt;p&gt;Whenever possible try to use reserved class C to to preserve the pool of real world addresses. Reserved class C are IP addresses you can not find in the internet reserved for office and private network use. The most frequently used range are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;10.0.0.0/8&lt;/li&gt;
&lt;li&gt;192.168.0.0/16&lt;/li&gt;
&lt;li&gt;172.16.0.0/16&lt;/li&gt;
&lt;li&gt;169.254.0.0/16 (for transfer networks)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Within the domain.net network, customers will use the IP of ns-cache0 and ns-cache1 as their resolving DNS. ns0 and ns1.domain.net should only be queried by other DNS servers for authoritative answers.&lt;/p&gt;

&lt;p&gt;The staff.domain.net domain make use of wildcards (star) to catch all DNS name not already present in the list.&lt;/p&gt;

&lt;p&gt;As a consequence, the employee will be able to use surname-name.staff.domain.net and www.surname-name.staff.domain.net as names for their web site. No DNS change will be necessary when new staff start or leave the firm.&lt;/p&gt;

&lt;p&gt;Be reminded that the use of CNAME record with MX information is not allowed.&lt;/p&gt;

&lt;p&gt;As well, if a customer is using your own mail servers, you should never redefine the MX service. Just use your own mx record in their zone file.&lt;/p&gt;

&lt;p&gt;Finally, do not redefine customer services pointing to your server per IP but always alias them with CNAME records.&lt;/p&gt;

&lt;p&gt;As DNS is a caching system, changes that need quick propagation change must be prepared. To do so you can change the TTL (Time To Live) of a record which represents how long a DNS will keep DNS information. The TTL is expressed in second and is placed just after the name.&lt;/p&gt;

&lt;p&gt;Please bear in mind that the first changes performed on the DNS zone file will take up to the previous TTL to be known by all the internet. Restarting your own cache DNS server can speed-up local updates.&lt;/p&gt;

&lt;p&gt;For example, if you are planning to move your web server of room and IP.&lt;/p&gt;

&lt;p&gt;Initial record&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;www             A       10.0.0.80
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Make sure you have low TTL on your www record. Then wait for the information to propagate.
TTL change to 5 minutes&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# www           A       10.0.0.80
www     300     A       10.0.0.80
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;You can move the web server to the new IP as if there are problems you can change the IP address to the previous one in less than 5 minutes.&lt;/p&gt;

&lt;p&gt;New information&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# www           A       10.0.0.80
www             A       10.0.0.60
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Do not forget to restore the default TTL once everything is fine.
Built in failover limitation&lt;/p&gt;

&lt;p&gt;Unlike the web, DNS was designed with service failure in mind. As it is a crucial service, it is possible to have more than one DNS server answering authoritatively for a domain. However, a common mistake is to think that having two DNS means you are safe. You should make sure that your DNS are on different networks.&lt;/p&gt;

&lt;p&gt;In order to achieve the best possible reliability, ISP often have peering agreements to host each others DNS servers.&lt;/p&gt;

&lt;p&gt;For example, serious ISP often have one of their Authoritative DNS servers located on another backbone. It provides them protection against BGP problems and Telco faults.&lt;/p&gt;

&lt;p&gt;This is very important for mail servers which are performing reverse DNS looking, whithout this precaution any serious outage would cause mail bouncing.&lt;/p&gt;

&lt;p&gt;As well, additional protection against malicious plannified Deny Of Service can be deployed to insure the highest DNS uptime possible.
Number of DNS&lt;/p&gt;

&lt;p&gt;For example, a small/medium ISP will have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Two authoritative DNS servers in its network&lt;/li&gt;
&lt;li&gt;One authoritative DNS servers located remotely&lt;/li&gt;
&lt;li&gt;One secondary DNS server for its customers wanting control of their zone&lt;/li&gt;
&lt;li&gt;Four caching DNS servers for customers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;DNS servers should be presented to the customer classed by proximity depending on their location (for obvious performance reason, DNS is mostly UDP).&lt;/p&gt;

&lt;p&gt;Hopefully, DNS can be allocated dynamicly per customer at connection time for most DSL, ISDN or Modem like connection making it easy to change and scale.
Local DNS&lt;/p&gt;

&lt;p&gt;Every service relies heavily on DNS such as SMTP servers should use its own DNS server and have local resolv.conf like:
/etc/resolv.conf&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;search mydomain.com
domain mydomain.com
nameserver 127.0.0.1
nameserver 10.0.0.1
nameserver 10.0.1.1
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Where 10.0.0.1 and 10.0.1.1 are trusted DNS for the server to use should the local DNS server fail.
Delegation&lt;/p&gt;

&lt;p&gt;Delegation can typically be used when you feel the need to register a new domain name such as : domain-forum.com, domain-resellers.com, domain-users.com, domain-staff.com, etc.&lt;/p&gt;

&lt;p&gt;As well, it allows content filter application (such as N2H2, WebSense or SurfControl) to block sub-site without affecting the main site. Ie: webnews.firm.com is better than www.site.com/webnews (Some NewsGroups can provide adult material which may be unsuitable for young surfers).&lt;/p&gt;

&lt;p&gt;Delegation allows you to create new domains, independant of your master domain name. These domains are real domains and as such can have different DNS servers as well as different mail or web servers.&lt;/p&gt;

&lt;p&gt;The previous example names can be changed as follows:
delegated name&lt;/p&gt;

&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;forum.domain.com&lt;/th&gt;
&lt;th&gt;is better than&lt;/th&gt;
&lt;th&gt;domain-forum.com&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;

&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;resellers.domain.com&lt;/td&gt;
&lt;td&gt;instead of&lt;/td&gt;
&lt;td&gt;domain-resellers.com&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;users.domain.com&lt;/td&gt;
&lt;td&gt;instead of&lt;/td&gt;
&lt;td&gt;domain-users.com&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;staff.domain.com&lt;/td&gt;
&lt;td&gt;instead of&lt;/td&gt;
&lt;td&gt;domain-staff.com&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;One obvious advantage is that you do not have to pay for a new domain name.&lt;/p&gt;

&lt;p&gt;In addition, it is nearly impossible for a firm to market and advertise more than one domain name and network identity. By using delegation, end users feel secure as they recognise a known domain name.&lt;/p&gt;

&lt;p&gt;Delegation can also be used to manage your DNS record. For example, if you provide DSL or a similar kind of connectivity, you may have in your DNS something like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;dsl-10-0-0-1.domain.com&lt;/li&gt;
&lt;li&gt;dsl-10-0-0-2.domain.com&lt;/li&gt;
&lt;li&gt;&amp;hellip;&lt;/li&gt;
&lt;li&gt;dsl-10-0-0-253.domain.com&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This will make the DNS zone file to fill quickly, which is both bad for management and performance. This can be avoided with the creation of a dsl.domain.com zone:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;10-0-0-1.dsl.domain.com&lt;/li&gt;
&lt;li&gt;10-0-0-2.dsl.domain.com&lt;/li&gt;
&lt;li&gt;&amp;hellip;&lt;/li&gt;
&lt;li&gt;10-0-0-253.dsl.domain.com&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is only possible if you have DNS management tools with easy front-end. and remember to add these delegations to your /etc/resolv.conf to not have to tape the FQDN (Fully Qualified Domain Name)&lt;/p&gt;

&lt;p&gt;Zone delegation works quite well with split horizon, you can have a delegated domain for each office like london.domain.com and paris.domain.com, these domains are invisible outside the offices&amp;rsquo; firewalls.&lt;/p&gt;

&lt;p&gt;Used in conjonction with the web, it is very handy to manage localisation: www.uk.domain.com can be situated within the uk firm isp when www.fr.domain.com can be hosted in france.
Whois and Zone Transfer&lt;/p&gt;

&lt;p&gt;Whois is a tool to find information for a domain. It will return the authoritative DNS servers as well as well as some information regarding the registar.&lt;/p&gt;

&lt;p&gt;For example the output of &amp;ldquo;whois bind.com&amp;rdquo; is:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Whois Server Version 1.3

Domain names in the .com, .net, and .org domains can now be registered
with many different competing registrars. Go to http://www.internic.net
for detailed information.

	Domain Name: BIND.COM
	Registrar: NETWORK SOLUTIONS, INC.
	Whois Server: whois.networksolutions.com
	Referral URL: http://www.networksolutions.com
	Name Server: NS1.DNS.WEBACT.COM
	Name Server: NS2.DNS.WEBACT.COM
	Name Server: NS3.DNS.WEBACT.COM
	Name Server: NS4.DNS.WEBACT.COM
	Updated Date: 07-jan-2002


&amp;gt;&amp;gt;&amp;gt; Last update of whois database: Tue, 5 Mar 2002 05:19:23 EST &amp;lt;&amp;lt;&amp;lt;

The Registry database contains ONLY .COM, .NET, .ORG, .EDU domains and
Registrars.


Found InterNIC referral to whois.networksolutions.com.

The Data in the VeriSign Registrar WHOIS database is provided by VeriSign for
information purposes only, and to assist persons in obtaining information about
or related to a domain name registration record.  VeriSign does not guarantee
its accuracy.  Additionally, the data may not reflect updates to billing contact
information.  By submitting a WHOIS query, you agree to use this Data only
for lawful purposes and that under no circumstances will you use this Data to:
(1) allow, enable, or otherwise support the transmission of mass unsolicited,
commercial advertising or solicitations via e-mail, telephone, or facsimile; or
(2) enable high volume, automated, electronic processes that apply to VeriSign
(or its computer systems).  The compilation, repackaging, dissemination or
other use of this Data is expressly prohibited without the prior written
consent of VeriSign.  VeriSign reserves the right to terminate your access to
the VeriSign Registrar WHOIS database in its sole discretion, including
without limitation, for excessive querying of the WHOIS database or for failure
to otherwise abide by this policy.  VeriSign reserves the right to modify these
terms at any time.  By submitting this query, you agree to abide by this policy.


Registrant:
Quest Technologies, Inc (BIND2-DOM)
	2107 O St. NW
	Washington, DC 20037
	US

	Domain Name: BIND.COM

	Administrative Contact:
	WebAct Administration  (HFJTVUVSUO)  abuse@WEBACT.COM
	WebAct
	2107 O St. NW
	Washington, DC 20037
	US
	202-872-0883
	Fax- 208-460-8163
	Technical Contact:
	WebAct Network Operations Center  (DWOHKUSAGO)  noc@WEBACT.COM
	WebAct
	2107 O St. NW
	Washington, DC 20037
	US
	202-872-0883
	Fax- 208-460-8163
	Billing Contact:
	WebAct Accounts Payable  (XYYGBUVAFO)  billing@WEBACT.COM
	WebAct
	2107 O St. NW
	Washington, DC 20037
	US
	202-872-0883
	Fax- 208-460-8163

	Record last updated on 07-Jan-2002.
	Record expires on 24-Aug-2002.
	Record created on 23-Aug-1996.
	Database last updated on 5-Mar-2002 03:30:00 EST.

	Domain servers in listed order:

	NS1.DNS.WEBACT.COM           207.76.173.19
	NS2.DNS.WEBACT.COM           207.76.173.20
	NS3.DNS.WEBACT.COM           207.76.173.128
	NS4.DNS.WEBACT.COM           207.76.173.129
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Zone transfer is a way to get a carbon copy of a zone file from a DNS. Some ISP are blocking this feature to pervent massive security weakness scan (security through obscurity).&lt;/p&gt;

&lt;h1 id=&#34;software&#34;&gt;Software&lt;/h1&gt;

&lt;p&gt;Misconfigured DNS servers can cause very hard to debug problems. These problems can remain undetected for month.&lt;/p&gt;

&lt;p&gt;If you are serious about DNS you have four options:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To not use BIND 4.x&lt;/li&gt;
&lt;li&gt;To not use BIND 8.x&lt;/li&gt;
&lt;li&gt;To not use BIND 9.x&lt;/li&gt;
&lt;li&gt;To use a software to manage your BIND files&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It should be obvious for the reader that I do like D. J. Bernstein&amp;rsquo;s DJBDNS.&lt;/p&gt;

&lt;p&gt;But if after have spent some time reading the DJBDNS site you still want to use BIND, you should use management software for BIND. BIND configuration files are confusing and mistake prone. A badly placed character in a configuration file could cause BIND to refuse reloading or starting.&lt;/p&gt;

&lt;p&gt;I was very pleased with a web software called &lt;a href=&#34;http://www.nixusoftware.com/&#34; target=&#34;_blank&#34;&gt;NameSurfer&lt;/a&gt; I advise you to take a look at something similar (it was far from free) if you do decide to host your own zones.&lt;/p&gt;

&lt;h1 id=&#34;conclusion&#34;&gt;Conclusion&lt;/h1&gt;

&lt;p&gt;When you manage your DNS:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;have at least one authoritative DNS outside your network&lt;/li&gt;
&lt;li&gt;have a clear zone file template for your customers&lt;/li&gt;
&lt;li&gt;splitting service on different IP to force customer to use the right FQDN&lt;/li&gt;
&lt;li&gt;differenciate MX, SECONDARY MX, and SMTP to be able to scale your mail&lt;/li&gt;
&lt;li&gt;use subdelegation&lt;/li&gt;
&lt;li&gt;use some tools to keep your reverse DNS correct&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;##Glossary&lt;/p&gt;

&lt;p&gt;A reserved class C IP is an IP address you can not find on the internet. it is reserved for office and private network use. The available ranges are listed at: &lt;a href=&#34;http://again.net/cidr&#34; target=&#34;_blank&#34;&gt;http://again.net/cidr&lt;/a&gt;. You can as well consult the rfc1918.
Authoritative DNS&lt;/p&gt;

&lt;p&gt;An authoritative DNS, a abuse of language for DNS servers containing authoritative DNS records, is a DNS which contains the source information for a domain and is registered as such within Internet and answers as such when asked.
Glue Record&lt;/p&gt;

&lt;p&gt;A glue record is an IP kept by a DNS in order to be able to locate another DNS server. This is used when a DNS is is authoritative for its own domain name.&lt;/p&gt;

&lt;p&gt;IE: if ns0.domain.net is authoritative for domain.net, the DNS servers in charge of the .net record need to record the IP of ns0.domain.net in order for other DNS servers to contact it.
SOA&lt;/p&gt;

&lt;p&gt;NS: DNS record which indicates to the DNS server which server should act authoritatively.&lt;/p&gt;

&lt;p&gt;A: DNS record which indicates to the DNS server which server contains DNS information for a given zone&lt;/p&gt;

&lt;p&gt;PTR: DNS record which indicates the IP address for a given name&lt;/p&gt;

&lt;p&gt;Split horizon, DNS record which indicates the name of a server given its IP. This is not managed automagically by DNS from the A and CNAME record. As a consequence the information can be missing or wrong.&lt;/p&gt;

&lt;p&gt;Split horizon DNS are used in conjunction with NAT and firewalls. It means that the DNS answers to the internal DNS queries for local hosts and that it can figure out the IP of external hosts as well.&lt;/p&gt;

&lt;p&gt;FQDN: Fully Qualified Domain Name, the name used to name a computer with DNS including the full domain name. Ie: smtp.cnn.com is a FQDN, www or cnn.com are not&lt;/p&gt;

&lt;p&gt;The DNS root servers, www.domain.net is in fact an abreviation for www.domain.net. which last dot represent the root DNS server of the Internet (Internet DNS server are a tree structure).&lt;/pre&gt;&lt;/p&gt;

&lt;h1 id=&#34;conclusion-1&#34;&gt;Conclusion&lt;/h1&gt;

&lt;p&gt;I hope you found this information useful even if this document did not present the problems associated with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;reverse zone&lt;/li&gt;
&lt;li&gt;secondary problems&lt;/li&gt;
&lt;li&gt;zone transfert from ISP to ISP.&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
  </channel>
</rss>
