<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Crossed Wires &#187; Networks</title>
	<atom:link href="http://veejoe.net/blog/category/networks/feed/" rel="self" type="application/rss+xml" />
	<link>http://veejoe.net/blog</link>
	<description>Vic's Blog</description>
	<lastBuildDate>Fri, 04 May 2012 13:31:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>What a difference a working resolver makes</title>
		<link>http://veejoe.net/blog/2011/08/what-a-difference-a-working-resolver-makes/</link>
		<comments>http://veejoe.net/blog/2011/08/what-a-difference-a-working-resolver-makes/#comments</comments>
		<pubDate>Sun, 07 Aug 2011 13:45:19 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networks]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[ldap]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[SSL]]></category>
		<category><![CDATA[TLS]]></category>
		<category><![CDATA[z/VM]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5579</guid>
		<description><![CDATA[The next phase in tidying up my user authentication environment in the lab was to enable SSL/TLS on the z/VM LDAP server I use for my Linux authentication (I&#8217;ll discuss the process on the DeveloperWorks blog, and put a link here).  Apart from being the right way to do things, LDAP authentication appears to require SSL or TLS in [...]]]></description>
			<content:encoded><![CDATA[<p>The next phase in tidying up my user authentication environment in the lab was to enable SSL/TLS on the z/VM LDAP server I use for my Linux authentication (I&#8217;ll discuss the process on the DeveloperWorks blog, and put a link here).  Apart from being the right way to do things, LDAP authentication appears to require SSL or TLS in Fedora 15.</p>
<p>After I got the Fedora system working, I thought it would be a good idea to have other systems in the complex using SSL/TLS also.  The process was moderately painless on a SLES 10 system, but on the first SLES 11 system I went to YaST froze while saving the changes.  I (foolishly) rebooted the image, and it hung during boot.  Not fun.</p>
<p>After a couple of attempts to fix up what I thought were the obvious problems (each attempt involving logging off the guest, connecting its disk to another guest, mounting the filesystem, making a change, unmounting and disconnecting, and re-IPLing) with no success, I went into /etc/nsswitch.conf and turned off LDAP for everything I could find.  This finally allowed the guest to complete its boot &#8212; but I had no LDAP now.  I did a test using <strong>ldapsearch</strong>, which reported it couldn&#8217;t reach the LDAP server.  I tried to ping the LDAP server by address, which worked.  I tried to lookup the hostname of the LDAP server, and name resolution failed with the traditional &#8220;no servers could be reached&#8221; message.  This was odd, as I knew I&#8217;d changed it since it was pointing to the wrong DNS server before&#8230;  I could ping the DNS by address, and another system resolved fine.</p>
<p>I thought it might have been a configuration problem &#8212; I had earlier had trouble with systems not being able to do recursive DNS lookups through my DNS server.  I went to YaST to configure the DNS Server, and it told me that I had to install the package &#8220;bind&#8221;.  WHAT?!?!?  How did the BIND package get uninstalled from the system&#8230;</p>
<p>Unless&#8230;  It&#8217;s the wrong system&#8230;</p>
<p>I checked /etc/resolv.conf on a working system and sure enough I had the IP address wrong.  I was pointing at a server that was NOT my DNS server.  Presumably the inability to resolve the name of the LDAP server I was trying to reach is what made the first attempt to enable TLS for LDAP fail in YaST, and whatever preload magic SLES uses to enable LDAP authentication got broken by the failure.  Setting the right DNS and re-running the LDAP Client module in YaST not only got LDAP authentication working but got me a bootable system again.</p>
<p>A simple fix in the end, but I&#8217;d forgotten the power of the resolver to cause untold and unpredictable havoc.  Now, pardon me while I lie in wait for the YaST-haters who will no doubt come out and sledge me&#8230;  :-)</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2011/08/what-a-difference-a-working-resolver-makes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Another IPv6 instalment (subtitled: Watch Your Tech Library Currency!)</title>
		<link>http://veejoe.net/blog/2011/03/another-ipv6-instalment-subtitled-watch-your-tech-library-currency/</link>
		<comments>http://veejoe.net/blog/2011/03/another-ipv6-instalment-subtitled-watch-your-tech-library-currency/#comments</comments>
		<pubDate>Sat, 26 Mar 2011 08:52:06 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Networks]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[gadget]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[manuals]]></category>
		<category><![CDATA[network]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5567</guid>
		<description><![CDATA[I made a somewhat cryptic tweet a little while ago about how I spent a crazy-long period of time researching what was, I believed, the next-big-thing in DNS resolution for IPv6 (or so my 2002 edition of &#8220;IPv6 Essentials&#8221; told me).  I could not work out why I saw nothing about A6 records in any [...]]]></description>
			<content:encoded><![CDATA[<p>I made a <a href="http://twitter.com/#!/viccross/status/47154961544515585">somewhat cryptic tweet</a> a little while ago about how I spent a crazy-long period of time researching what was, I believed, the next-big-thing in DNS resolution for IPv6 (or so my <strong>2002</strong> edition of &#8220;IPv6 Essentials&#8221; told me).  I could not work out why I saw nothing about A6 records in any of the excellent Hurricane Electric IPv6 material or in any other documentation I came across.</p>
<p>The answer should have been obvious: DNS A6 records (and the corresponding DNAME records) never caught on.  <a href="http://tools.ietf.org/html/rfc3363" target="_blank">RFC 3363</a> recommended that the RFC that defined A6 and DNAME (<a href="http://tools.ietf.org/html/rfc2874" target="_blank">RFC 2874</a>) be moved back into Experimental status.  If I hadn&#8217;t been using an old edition of the IPv6 book, I might never have even known the existence of A6 and not have wasted any time.</p>
<p>In my <a title="IPv6: SSDM?" href="http://veejoe.net/blog/2011/02/ipv6-ssdm/" target="_blank">previous post on IPv6</a> I theorised that we are in the early-adoption phase of IPv6 where things aren&#8217;t quite baked, and yet now I&#8217;ve picked up a 9 year old text on  the topic and acted all surprised when it got something wrong.  It was a bit stupid of me; had I bought a book about IPv4 in 1976, might it have been similarly out of date in 1985?</p>
<p>As always though I&#8217;m richer for the experience!  Or so I thought&#8230;  Like many, I&#8217;m becoming increasingly time-poor.  When I bought a book on IPv6 some years ago I thought I was making an investment, but it turned out that my investment actually lost for me in several ways:</p>
<ol>
<li>The book took up physical space in my bookshelf for all that time I wasn&#8217;t using it</li>
<li>I didn&#8217;t actually use the information at the time I acquired it</li>
<li>The time I could have got value from it was wasted by it idly sitting on the shelf</li>
<li>Once I did try to use it, it actually cost me time rather than saved time</li>
</ol>
<p>I came to think about the other books on my shelf.  It&#8217;s pretty easy to recognise that a book that proclaims to be up-to-date because it &#8220;Now covers Red Hat 5.2!&#8221; will be anything but.  Also, from the preface of a Perl programming book that says &#8220;this was written about Perl 5.8, but it should apply to 5.10 as well&#8221; I&#8217;ll be forewarned that things will be fairly applicable to 5.12 but maybe not to Perl 6 when it&#8217;s out.</p>
<p>Technology usually has a somewhat abbreviated lifespan, so therefore the corresponding documentation will have a lifespan correspondingly short&#8230;  Here, however, is an example of a technology that will have a far greater lifespan (we hope) than much of the documentation that <em>currently exists</em> around it.  I emphasise &#8220;currently exists&#8221;, because it won&#8217;t always be that way: IPv4 was pretty well-baked by the time I had anything to do with it, so I could have bought a book on IPv4 with next to no concern that it was going to lead me astray (indeed, I bought W. Rich Stevens&#8217; TCP/IP programming texts during the 1990s, and still use them to this day).  I keep forgetting that I&#8217;m on a completely different point of the IPv6 adoption curve, and the &#8220;experts&#8221; are learning along with me.</p>
<p>So, a new tech library plan then:</p>
<ul>
<li><em>Reduce dependence on physical books</em> (okay, this one is already a work-in-progress for me) &#8212; they don&#8217;t come with you on your travels as easily, and (more important in this context) they&#8217;re <em>harder to keep up to date.</em></li>
<li>Before regarding the book on the shelf as authoritative, <em>check its publication date</em>.  If it&#8217;s more than three years old, depending on the subject matter it might be out of date.  <em>Check if there&#8217;s a new edition available</em>, and consider updating.  If there&#8217;s no new edition, <em>check for recent reviews</em> (Amazon, etc).  Someone who just bought it last month might have posted an opinion on its currency.</li>
<li>If you have to buy a paper book, <em>don&#8217;t buy a book on any technology that is a moving target</em>.  On the same shelf as my copy of &#8220;IPv6 Essentials&#8221; there is a book entitled &#8220;Practical VoIP Using VOCAL&#8221;.  I never even installed VOCAL, and I&#8217;m sure many current VoIP practitioners never heard of it.  (Side note: I think it&#8217;s strange that I bought that book, and a Cisco one, but still to this day have never owned a book on <a href="http://www.asterisk.org" target="_blank">Asterisk</a>.  Maybe I have some kind of inability to pick the <em>right</em> nascent-technology book to buy.)</li>
<li><em>Use bookmarking technology more!</em> I have a <a href="http://www.delicious.com" target="_blank">Delicious</a> <a href="http://www.delicious.com/veejoe" target="_blank">account</a>, and I went through a phase of bookmarking everything there.  I realise now that, if I was a bit more disciplined, I could actually use it (or a system like it, depending on what Yahoo! does to it) as my own personal index to the biggest tech library in existence: the Internet.</li>
</ul>
<p>That first point is harder than it sounds (especially for someone like me who has a couple of books on his shelf with his name on the cover).  My Rich Stevens books are littered with sticky-note bookmarks for when I flick to-and-fro between different programming examples.  Electronic readers are still not there when it comes to the &#8220;handy-hints-I-keep-on-my-lap-while-coding&#8221; aspect of book ownership.</p>
<p>I have a Sony Reader which I purchased with the intent of making it my mobile tech library.  It&#8217;s just not that great for tech documents though, since it doesn&#8217;t render diagrams and illustrations well (it also isn&#8217;t ideal for PDFs, especially in A4 ratio).  This may change as publishers of tech docs start releasing more titles on e-reader formats like ePub.  The iPad is working much better for tech library tasks; I&#8217;m using an app called <a href="http://www.goodiware.com/goodreader.html" target="_blank">GoodReader</a> which renders PDFs (especially <a href="http://www.redbooks.ibm.com" target="_blank">RedBooks</a>!) quite well and has good browsing and syncing capability as well.</p>
<p>More on these topics later, I&#8217;m sure!</p>
<p><em><strong>Update</strong>:</em> I omitted another option in my &#8220;tech library plan&#8221; &#8212; since <em>IPv6 Essentials</em> is an O&#8217;Reilly book, I could have registered with their site to get offers on updating to new editions.  Had I done so, the events of this post might not have happened!  Now that I&#8217;ve registered my books with O&#8217;Reilly, I&#8217;m getting offers of 40% off new paper editions and 50% off e-book editions.  Also, in line with my reduce-paper-book-dependence policy, I can &#8220;upgrade&#8221; any of the titles I own in paper to e-book for US$4.99.  If you haven&#8217;t already, I encourage anyone who has O&#8217;Reilly books that they rely on as part of their tech library to register them at <a href="https://members.oreilly.com" target="_blank">members.oreilly.com</a>.  (This is an unsolicited endorsement from a happy customer, nothing more!)</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2011/03/another-ipv6-instalment-subtitled-watch-your-tech-library-currency/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IPv6: SSDM?</title>
		<link>http://veejoe.net/blog/2011/02/ipv6-ssdm/</link>
		<comments>http://veejoe.net/blog/2011/02/ipv6-ssdm/#comments</comments>
		<pubDate>Sun, 27 Feb 2011 14:58:31 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Networks]]></category>
		<category><![CDATA[Soapbox]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[observation]]></category>
		<category><![CDATA[router]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5541</guid>
		<description><![CDATA[Two of the four keynotes at LCA 2011 referenced the depletion of the IPv4 address space (and I reckon if I looked back through the other two I could find some reference in them as well).  I think there&#8217;s a good chance Geoff Huston was lobbying his APNIC colleagues to lodge the &#8220;final request&#8221; (for [...]]]></description>
			<content:encoded><![CDATA[<p>Two of the four keynotes at <a title="Linux Conf AU 2011 Brisbane" href="http://lca2011.linux.org.au" target="_blank">LCA 2011</a> referenced the depletion of the IPv4 address space (and I reckon if I looked back through the other two I could find some reference in them as well).  I think there&#8217;s a good chance Geoff Huston was lobbying his APNIC colleagues to lodge the &#8220;final request&#8221; (for the two /8s that triggered the final allocation of the remaining 5, officially exhausting IANA) a week earlier than they did, as it would have made the message of his LCA keynote a bit stronger.  Not that it was a soft message: we went from Vint Cerf the day before, who said &#8220;I&#8217;m the guy who said that a 32-bit address would be enough, so, sorry &#8217;bout that&#8221;, to Geoff Huston saying &#8220;Vint Cerf is a professional optimist.  I&#8217;m not.&#8221;.  But I digress&#8230;</p>
<p>I did a bit of playing with IPv6 over the years, but it was too early and too broken when I did (by &#8220;too broken&#8221; I refer to the immaturity of dual-stack implementations and the lack of anything actually reachable on the IPv6 net).  However, with the bell of IPv4 exhaustion tolling, I had another go.</p>
<p>Freenet6, who now goes alternatively as gogonet or gogo6, was my first point-of-call.  I had looked at Gogo6 most recently, and still had an account.  It was just a matter of deciding whether or not I needed to make a new account (hint: I did) and reconfiguring the <strong>gw6c</strong> process on my router box.  Easy-as, I had a tunnel &#8212; better still, my IPv6-capable systems on the LAN also had connectivity thanks to <strong>radvd</strong>.  From Firefox (and Safari, and Chrome) on the Mac I could score both 10/10 scores on <a href="http://test-ipv6.com" target="_blank">http://test-ipv6.com</a>!</p>
<p>My joy was short-lived, however.  <strong>gw6c</strong> was proving to be about as stable as a one-legged tripod, and not only that Gogo6 had changed the address range they allocated me.  That wouldn&#8217;t be too bad, except that all my IPv6-capable systems still had the old address and were trying to use that &#8212; looks like IPv6 auto-configuration doesn&#8217;t <em>un-</em>configure an address that&#8217;s no longer valid (at least by default).  I started to look for possible alternatives.</p>
<p>Like many who&#8217;ve looked at IPv6 I had come across <a title="Hurricane Electric" href="http://www.he.com" target="_blank">Hurricane Electric</a> &#8212; in the countdown to IPv4 exhaustion I used their iOS app &#8220;ByeBye v4&#8243;.  They offer free v6-over-v4 tunneling, and the configuration in Gentoo is very simple.  I also get a static allocation of an IPv6 address range that I can see in the web interface.  The only downside I can see is that I had to nominate which of their locations I wanted to terminate my tunnel; they have no presence in Australia, the geographically-nearest location being Singapore.  I went for Los Angeles, thinking that would probably be closest network-wise.  The performance has been quite good, and it has been quite reliable (although I do need to set up some kind of monitoring over the link, since everything that can talk IPv6 is now doing so).</p>
<p>In typical style, after I&#8217;d set up a stable tunnel and got everything working, I decided to learn more about what I&#8217;d done.  What is IPv6 anyways?  Is there substance to the anecdotes flying around that are saying that &#8220;every blade of grass on the planet can have an IPv6 address&#8221; and similar?  Well, a 128-bit address provides for an enormous range of addresses.  The ZFS guys are on the same track &#8212; ZFS uses 128-bit counters for blocks and inodes, and there have been ridiculous statements made about how much data could theoretically be stored in a filesystem that uses 128-bit block counters.  To quote the Hitchhiker&#8217;s Guide to the Galaxy:</p>
<blockquote>
<p style="text-align: left;">Space is big. Really big. You just won&#8217;t believe how vastly, hugely, mind-bogglingly big it is. I mean, you may think it&#8217;s a long way down the  road to the chemist&#8217;s, but that&#8217;s just peanuts to space.</p>
<p style="text-align: right;">The Guide, <em>The Hitchhiker&#8217;s Guide To The Galaxy</em>, Douglas Adams, Pan Books 1979</p>
</blockquote>
<p>Substitute IPv6 (or ZFS) for space.  To try and put into context just how big the IPv6 address range is, let&#8217;s use an example: the smallest common subnetwork.</p>
<p>When IPv4 was first developed, there were three address <em>classes</em>, named, somewhat unimaginatively, A B and C.  Class A was all the networks from 1.x.x.x to 127.x.x.x, and each had about 16 million addresses.  Class B was all the networks from 128.0.x.x to 191.255.x.x, each network with 65 534 usable addresses.  Class C went from 192.0.0.x to 223.255.255.x, and each had 254 usable addresses.  Other areas, such as 0.x.x.x and the networks after 224.x.x.x, have been reserved.  So, in the early days, the smallest network of hosts you could have was a network of 254 hosts.  After a while IP introduced something called Classless Inter-Domain Routing (CIDR) which meant that the fixed boundaries of the classes were eliminated and it became possible to &#8220;subnet&#8221; or &#8220;supernet&#8221; networks &#8212; divide or combine the networks to make networks that were just the right size for the number of hosts in the network (and, with careful planning, could be grown or shrunk as plans changed).  With CIDR, since the size of the network was now variable, addresses had to be written with the subnet mask &#8212; a format known as &#8220;CIDR notation&#8221; came into use, where an address would have the number of bits written after the address like this: 192.168.1.42/24.</p>
<p>Fast-forward to today, with IPv6&#8230;  IPv4&#8242;s CIDR notation is used in IPv6 (mostly because the masks are so huge).  In IPv6, the smallest network that can be allocated is what is called a &#8220;/64&#8243;.  This means that out of the total 128-bit address range, 64 bits represent what network the address belongs to.  Let&#8217;s think about that for a second.  There are 32 bits in an IPv4 address &#8212; that means that the <em>entire IPv4 Internet</em> would fit in an IPv6 network with a /96 mask (128-32=96).  But the default smallest IPv6 subnet is /64 &#8212; the size of the existing IPv4 Internet <em>squared</em>!</p>
<p>Wait a second though, it gets better&#8230;  When I got my account with Gogo6, they offered me up to a /56 mask &#8212; that&#8217;s a range that covers 256 /64s, or 256 Internet-squareds!  Better still, the Hurricane Electric tunnel-broker account gave me one /64 <strong>and one /48</strong>!  <em>Sixty-five thousand networks, each the size of the IPv4 Internet squared!</em> And how much did I pay for any of these allocations?  Nothing!</p>
<p>I can&#8217;t help but think that folks are repeating similar mistakes from the early days of IPv4.  A seemingly limitless address range (Vint said that 32 bits would be enough, right?) was given away in vast chunks.  In the early days of IPv4 we had networks with two or three hosts on them using up a Class C because of the limitations of addressing &#8212; in IPv6 we have LANs of maybe no more than a hundred or so machines taking up an entire /64 because of the way we designed auto-configuration.  IPv6 implementations now will be characterised not by how well their dual-stack implementations work, or how much more secure transactions have become thanks to the elimination of NAT, but by how much of the addressable range they are wasting.  So, is IPv6 just Same Sh*t, Different Millennium?</p>
<p>Like the early days of IPv4 though, things will surely change as IPv6 matures.  I guess I&#8217;m just hoping that the folks in charge are thinking about it, and not just high on the amount of space they have to play with now.  Because one day all those blades of grass will want their IP addresses, and the Internet had better be ready.</p>
<p><em><strong>Update 16 May 2011</strong>:</em> I just listened to Episode <a href="http://twit.tv/sn297" target="_blank">297</a> of the <a href="http://twit.tv/sn" target="_blank">Security Now</a> program&#8230;  Steve Gibson relates some of his experience getting IPv6 allocation from his upstream providers (he says he got a /48).  In describing how much address space that is, he made the same point (about the &#8220;wasteful&#8221; allocation of IPv6).  At about 44:51, he starts talking about the current &#8220;sky is falling&#8221; attitude regarding IPv4, and states &#8220;you&#8217;d think, maybe they&#8217;d learn the lesson, and be a little more parsimonious with these IPs&#8230;&#8221;.  He goes on to give the impression that the 128-bit range of IPv6 is <strong>so</strong> big that there&#8217;s just no need to worry about it.  I hope you&#8217;re right, Steve!</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2011/02/ipv6-ssdm/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Nagios service check for IAX</title>
		<link>http://veejoe.net/blog/2010/11/nagios-service-check-for-iax/</link>
		<comments>http://veejoe.net/blog/2010/11/nagios-service-check-for-iax/#comments</comments>
		<pubDate>Sat, 06 Nov 2010 05:03:48 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networks]]></category>
		<category><![CDATA[Telephony]]></category>
		<category><![CDATA[asterisk]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[iax]]></category>
		<category><![CDATA[nagios]]></category>
		<category><![CDATA[ping]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5515</guid>
		<description><![CDATA[I&#8217;ve been using Nagios for ages to monitor the Crossed Wires campus network, but it&#8217;s fallen into a little disrepair.  Nothing worse than your monitoring needing monitoring&#8230;  so I set about tidying it up. Network topology changes, removal of old kit, and some fixes to service checks no longer working correctly. One of the problems [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using Nagios for ages to monitor the Crossed Wires campus network, but it&#8217;s fallen into a little disrepair.  Nothing worse than your monitoring needing monitoring&#8230;  so I set about tidying it up. Network topology changes, removal of old kit, and some fixes to service checks no longer working correctly.</p>
<p>One of the problems I needed to fix was the service check for IAX connections into my Asterisk box.  The script (the standard check_asterisk.pl from the Nagios Plugins package) was set up correctly, but it would fail with a &#8220;Got no reply&#8221; message.</p>
<p>I started doing traces and &#8220;iax2 debug&#8221; in Asterisk, but got nowhere &#8212; Asterisk was rejecting the packet from the check script.  Finally I decided to JFGI, and eventually I found <a href="http://www.thirdlane.com/forum/nagios-check-asterisk-for-iax2" target="_blank">this page</a> with the explanation and the fix.  Basically, sometime in the 1.6 stream Asterisk toughened up security on the control message the Nagios service check used to use.  Thankfully, at the same time a new control message specifically designed for availability checking was implemented, and the fix is to update the script to use the new control message.  Easy!</p>
<p>BTW, while on Nagios, I got burned by the so-called &#8220;vconfig patch&#8221; which broke the check_ping script.  I&#8217;ve had to mask version 1.4.14-r2 and above of the <strong>nagios-plugins</strong> package until the issue is fixed.</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2010/11/nagios-service-check-for-iax/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sharing an OSA port in Layer 2 mode</title>
		<link>http://veejoe.net/blog/2010/11/sharing-an-osa-port-in-layer-2-mode/</link>
		<comments>http://veejoe.net/blog/2010/11/sharing-an-osa-port-in-layer-2-mode/#comments</comments>
		<pubDate>Thu, 04 Nov 2010 11:28:56 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networks]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[virtualisation]]></category>
		<category><![CDATA[z/VM]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5508</guid>
		<description><![CDATA[I posted on my developerWorks blog about an experience I had sharing an OSA port in Layer 2 mode.  Thrilling stuff.  What&#8217;s more thrilling is the context of where I had my OSA-port-sharing experience: my large-scale Linux on System z cloning experiment.  One of these days I&#8217;ll get around to writing that up.]]></description>
			<content:encoded><![CDATA[<p>I posted on my <a title="Vic's dW blog" href="https://www.ibm.com/developerworks/mydeveloperworks/blogs/viccross/?lang=en" target="_blank">developerWorks blog</a> about an experience I had sharing an OSA port in Layer 2 mode.  Thrilling stuff.  What&#8217;s more thrilling is the context of where I had my OSA-port-sharing experience: my large-scale Linux on System z cloning experiment.  One of these days I&#8217;ll get around to writing <strong>that</strong> up.</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2010/11/sharing-an-osa-port-in-layer-2-mode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Network virtualisation</title>
		<link>http://veejoe.net/blog/2010/02/network-virtualisation/</link>
		<comments>http://veejoe.net/blog/2010/02/network-virtualisation/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 07:38:42 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networks]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[openvswitch]]></category>
		<category><![CDATA[virtualisation]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5494</guid>
		<description><![CDATA[I&#8217;ve been doing a lot of mucking around with KVM with libvirt (I keep promising an update here, don&#8217;t I).  In my desktop virtualisation requirements I had a need for presenting VLAN traffic to guests: simple enough, and I&#8217;ve done it before.  You can do what I usually do, and configure all your VLANs against [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been doing a lot of mucking around with KVM with libvirt (I keep promising an update here, don&#8217;t I).  In my desktop virtualisation requirements I had a need for presenting VLAN traffic to guests: simple enough, and I&#8217;ve done it before.  You can do what I usually do, and configure all your VLANs against the physical interface then create a bridge for each VLAN you want to present to a guest.  The guest then attaches to the bridge appropriate to the VLAN it wants access to, with no need to configure 8021q.</p>
<p>(The other method of combining VLAN-tagging and bridging is to bridge the physical interface first, then create VLANs on the bridge.  I couldn&#8217;t work out how to get VLAN-unaware guests attached to this kind of setup, and it didn&#8217;t work for me even to give IP access to the host using a br0.100 for example.  Still, it must work for someone as it&#8217;s written about a lot&#8230;)</p>
<p>I realised that from particular virtual machines I needed to get access to the VLAN tags &#8212; I needed VLAN-awareness.  Now I knew up-front that the way I could do this was to just throw another NIC into the machine and either dedicate it to the virtual guest or set up a bridge with VLAN tags intact.  I really wanted to exhaust all possible avenues to solve the problem without throwing hardware around (as I&#8217;ve been doing a bit of that recently, I have to admit).</p>
<p>First, I tried to use standard Linux bridges as a solution, but discovered that an interface can&#8217;t belong to more than one bridge at a time, which put paid to my plan to have one or more VLAN-untagging bridges and a VLAN-tagged bridge.  I figured it could be done with bridges, but I envisaged a stacked mess of bridge-to-tap-to-bridge-to-tap-to-guest connections and decided that wasn&#8217;t the way to go.</p>
<p>Next I checked out VDE, which I had first seen a couple of years ago &#8212; but something gave me the impression that VDE either wasn&#8217;t really going to give me anything more than bridging would, or was not flexible enough to do what I needed.  I like the distributed aspect of VDE (the D in the name) but I&#8217;d rarely use that capability so it wasn&#8217;t a big drawcard.  I widened my search, and found two interesting projects &#8212; one that eventually became my solution, and another that I think is quite incredible in its scope and capability.</p>
<p>First, the amazing one: <a title="The ns-3 network simulator" href="http://www.nsnam.org" target="_blank">ns-3</a>, &#8220;a great network simulator for research and education&#8221;.  As the name suggests, it simulates networks.  It is completely programmable (in fact your network &#8220;scripts&#8221; are actually C++ code using the product&#8217;s libraries and functions) and can be used to accurately model the behaviour of a real network when faced with network traffic.  The project states that ns-3 models of real networks have produced libpcap traces that are almost indistinguishable from the traces of the real networks being modelled&#8230;  I&#8217;ll take their word for that, but when you get to configure the propogation delay between nodes in your simulated network it seems to me it&#8217;s pretty thorough.  Although the way that I found ns-3 was via a forum posting from someone who claimed to have used it to solve a similar situation as me, and ns-3 does provide a way to &#8220;bridge&#8221; between the simulated network and real networks, the simulation aspect of ns-3 seems to be more complexity than I&#8217;m looking for in this instance.  It does look like a fascinating tool however, and one I&#8217;ll definitely be keeping at least half-an-eye on.</p>
<p>To my eventual solution, then: <a title="Open vSwitch" href="http://openvswitch.org" target="_blank">Open vSwitch</a>.  Designed with exactly my scenario in mind&#8211;network connection for virtualisation&#8211;it has at least two functions that make it ideal for me:</p>
<ul>
<li>a Linux-bridging compatibility mode, allowing the brctl command to still function</li>
<li>IEEE 802.1Q VLAN support (innovatively at that)</li>
</ul>
<p>The Open vSwitch capability can be built as a kernel module (there&#8217;s a second module that supports the brctl compatibility mode), or very recent versions have the ability to be run in user-space (with a corresponding performance drop).</p>
<p>On the surface, configuring an OvS bridge does seem to result in something that looks exactly like a brctl bridge (especially if you use brctl and the OvS bridging compatibility feature to configure it), but its native support for VLANs really brings it into its own for me.  In summary, for each &#8220;real&#8221; bridge you configure in OvS, you can configure a &#8220;fake&#8221; bridge that passes through packets for a single VLAN from the real bridge (the &#8220;parent&#8221; bridge).  This is <em>exactly</em> what I needed!</p>
<p>For the guest interfaces that needed full VLAN-awareness, I simply provided the name of my OvS bridge as the name of the bridge for libvirt to connect the guest to&#8211;OvS bridge-compatibility mode took care of the brctl commands issued in the background by libvirt.  The VLAN-unaware guest interfaces presented a bit of a challenge&#8211;the OvS &#8220;fake&#8221; bridge does not present itself like a Linux bridge, so it doesn&#8217;t work with libvirt&#8217;s bridge interface support.  This ended up being moderately easy to overcome as well, thanks to libvirt&#8217;s ability to set up an interface configured by an arbitrary script&#8211;I hacked the supplied <em>/etc/qemu-ifup</em> script and made a version that adds the tap interface created by libvirt to the OvS fake bridge.</p>
<p>The only thing I might want from this now is an ability for an OvS bridge to have visibility over a subset of the VLANs presented on the physical NIC.  The OvS website talks about extensive filtering capability though, so I&#8217;ve little doubt that the capability is there and I&#8217;m just yet to find it.  From a functionality aspect, OvS is packed to the gills with support for various open management protocols, including something called OpenFlow that I&#8217;d never heard of before (but I hope that some certain folks in upstate New York have!) but is apparently an open standard that enables secure centralised management of switches.</p>
<p>Detail of exactly how I pulled this all together will come in a page on this site; I&#8217;ll make a bunch of pages that describe all the mucky details of my KVM adventures and update this post with a link, so stay tuned!</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2010/02/network-virtualisation/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>LDAP-backed DNS and DHCP&#8230;?</title>
		<link>http://veejoe.net/blog/2009/07/ldap-backed-dns-and-dhcp/</link>
		<comments>http://veejoe.net/blog/2009/07/ldap-backed-dns-and-dhcp/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 10:42:47 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networks]]></category>
		<category><![CDATA[dhcp]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[ldap]]></category>
		<category><![CDATA[router]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5437</guid>
		<description><![CDATA[I&#8217;m having a bit of an infrastructure redesign here at the Crossed Wires campus.  Each time I have an outage (the last one was caused by a power failure) I learn a little more about the holes in my current setup and what I can do better. I&#8217;m implementing a router box on an old [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m having a bit of an infrastructure redesign here at the Crossed Wires campus.  Each time I have an outage (the last one was caused by a power failure) I learn a little more about the holes in my current setup and what I can do better.</p>
<p>I&#8217;m implementing a router box on an old low(-ish)-power PC that will be backed up by a virtual machine on my main virt-box.  I&#8217;ve already done most of the preparation of using <a href="http://www.keepalived.org" target="_blank">keepalived</a> to implement VRRP, and a colleague has given me some pointers in using the <a href="http://www.linux-ha.org" target="_blank">Linux-HA</a> tools like <a href="http://www.linux-ha.org/Heartbeat" target="_blank">Heartbeat</a> and <a href="http://www.drbd.org/" target="_blank">DRBD</a> to make services like e-mail and Samba redundant.</p>
<p>I&#8217;ve had a soft spot for LDAP for ages; I&#8217;ve always thought that putting as much backend data into LDAP as you can would be a really good way to get failover and redundancy.  Instead of having to deal with every single server&#8217;s different way of doing replication and failover, just bung everything into LDAP and get <em>that</em> replicating.  Sounds good in theory, but in a nutshell it&#8217;s not working out that way for the two least-celebrated but most important components of my (arguably any) network: DNS and DHCP.</p>
<p>There are a number of LDAP-backed DNS projects out there.  If I&#8217;m willing to go to the bleeding edge with BIND on my Gentoo build I can get access to the two most talked-about ones (<a href="http://bind9-ldap.bayour.com/" target="_blank">bind9-sdb-ldap</a> and the <a href="http://bind-dlz.sourceforge.net/ldap_driver.html" target="_blank">BIND DLZ LDAP driver</a>), and other solutions like <a href="http://www.powerdns.com" target="_blank">PowerDNS</a> and <a href="http://ldapdns.sourceforge.net" target="_blank">ldapdns</a> are available.  But none of them offer integration with DHCP, and I&#8217;m currently using dhcpd&#8217;s &#8220;interim DDNS update method&#8221; to make sure that hostnames are seen in my DNS when a lease is granted (okay, there&#8217;s a Perl daemon that goes with bind9-sdb-ldap, but it seems like a sort-of clunky afterthought).</p>
<p>Speaking of DHCP, LDAP backends for it are virtually non-existent.  The only LDAP-enablement I&#8217;ve found for ISC DHCP involves putting the <em>config file</em> into LDAP, not the leases&#8230;  I actually used that for a few days a while ago and pulled it out because it was actually more work to do it that way (and for no benefit in failover).</p>
<p>It seems to me it would be a project ripe for the picking: take an integrated DNS/DHCP server like <a href="http://www.thekelleys.org.uk/dnsmasq/doc.html" target="_blank">dnsmasq</a> and make it write into LDAP instead of to a file.  If I had more free time I&#8217;d probably have a go at it, except for the fact that no-one really seems to be that interested in storing DNS and DHCP in LDAP: that it hasn&#8217;t been done says to me that there&#8217;s no demand for it, and it&#8217;d end up being a big waste of time and effort.</p>
<p>Over to you, lazyweb&#8230;  Is this a yawning chasm of unfulfilled networking dreams, or a case of me trying to make something more complex than it needs to be?  After all, the rest of the world gets by with DNS master-slave and DHCP failover, they should be good enough for me too, right?  <img src='http://veejoe.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2009/07/ldap-backed-dns-and-dhcp/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Ubuntu 8.04 Wireless Weirdness</title>
		<link>http://veejoe.net/blog/2008/06/ubuntu-804-wireless-weirdness/</link>
		<comments>http://veejoe.net/blog/2008/06/ubuntu-804-wireless-weirdness/#comments</comments>
		<pubDate>Wed, 18 Jun 2008 00:10:23 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networks]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[wireless]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=251</guid>
		<description><![CDATA[Over the last fortnight I finally got the wriggle-on to upgrade all my (K)Ubuntu systems to Hardy Heron. Various issues occurred with each of them, but overall the entire exercise went smoothly (my wife&#8217;s little old Fujitsu Lifebook was probably smoothest of the lot). I had one rather vexing issue however, on my old (I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<p>Over the last fortnight I finally got the wriggle-on to upgrade all my (K)Ubuntu systems to Hardy Heron. Various issues occurred with each of them, but overall the entire exercise went smoothly (my wife&#8217;s little old Fujitsu Lifebook was probably smoothest of the lot). I had one rather vexing issue however, on my old (I&#8217;m tempted to say &#8220;ancient&#8221;) Vaio laptop.</p>
<p>The onboard wireless on this thing is an ipw2100, hence only 802.11b, and I had a PCMCIA 802.11g NIC lying around (actually it came from the Lifebook, liberated from there after I bought it a Mini-PCI 802.11g card on eBay). On Gutsy, I used the hardware kill-switch to disable the onboard adapter to make double-sure that it wouldn&#8217;t try and drag the network down to 11Mbps.</p>
<p>This laptop was the last machine I upgraded to Hardy, and I was playing with KDE 4 on it so I was looking forward to seeing what KDE4-ness made it into Hardy. While the upgrade was taking place the wi-fi connection dropped out, but I didn&#8217;t think anything of it since Ubuntu upgrades try and restart the new versions of things and I figured NetworkManager had fallen and couldn&#8217;t get up. After the reboot, however, KNetworkManager (still the KDE3 version, don&#8217;t get me started there) could find no networks &#8212; could find no adapters, in fact.</p>
<p>I logged back into KDE3 and poked. Still no wireless (as if the desktop would make a difference, but I had to make *some* start on pruning the fault tree). The Hardware Drivers Manager was reporting that the Atheros driver was active (for the PCMCIA card), and an unplug-plug cycle generated all kinds of good kernel messages.</p>
<p>On a whim, I flicked the hardware kill-switch for the onboard wifi[1]. Almost instantly, KNetworkManager prompted to get my wallet unlocked &#8212; it had found my network and wanted the WPA passphrase. I provided it, and got a connection: <i>via the PCMCIA NIC</i>. </p>
<p>&#8220;That&#8217;s odd&#8221;, I thought, and flicked the switch. A few seconds passed, and the link dropped. Flicked the switch on, link came back. Flicked the switch off again: this time a few minutes went past, but again the link failed. Tried it several times again, and the same thing happened. The state of the kill-switch for the onboard NIC was influencing the other NIC too!</p>
<p>It seems that this is altered behaviour in NetworkManager, applying the state of the hardware switch to all wi-fi adapters. If it annoys me significantly I&#8217;d like to think I&#8217;ll trawl changelogs, or even better lodge something on Launchpad&#8230; more likely though I&#8217;ll forget all about it having found a kludgy workaround.</p>
<p>I&#8217;ve now added ipw2100 to the module blacklist and things work okay (presumably because the state of the onboard switch can&#8217;t be reported any more). I&#8217;ll also have a think about whether a few dollars for another g-capable Mini-PCI NIC will be throwing good money after bad, as this laptop really is quite long-in-the-tooth.</p>
<p>Oh yes, that&#8217;s right&#8230; KDE 4. Next time perhaps. <img src='http://veejoe.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>[1] I can&#8217;t think why I did this. I knew that I&#8217;d disabled 802.11b in my access point, to make triple-sure an 802.11b device wouldn&#8217;t slow my network down&#8230; The onboard 802.11b NIC would never successfully get a connection.</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2008/06/ubuntu-804-wireless-weirdness/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zeroshell redux</title>
		<link>http://veejoe.net/blog/2008/05/zeroshell-redux/</link>
		<comments>http://veejoe.net/blog/2008/05/zeroshell-redux/#comments</comments>
		<pubDate>Sun, 04 May 2008 03:08:59 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networks]]></category>
		<category><![CDATA[router]]></category>
		<category><![CDATA[vmware]]></category>
		<category><![CDATA[zeroshell]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=301</guid>
		<description><![CDATA[I wrote about Zeroshell, and how I thought it was pretty great. I still do, but it hasn&#8217;t taken centre-stage in my network configuration like I thought it would. I&#8217;ve had to tone down my raves about some of its integrated features as well. The fact that it hasn&#8217;t taken centre-stage is possibly as much [...]]]></description>
			<content:encoded><![CDATA[<p>I <a href="http://veejoe.net/?eid=891" title="10:36PM April 12, 2008 - Crossed Wires: Zeroshell: network services distro">wrote</a> about Zeroshell, and how I thought it was pretty great. I still do, but it hasn&#8217;t taken centre-stage in my network configuration like I thought it would. I&#8217;ve had to tone down my raves about some of its integrated features as well.</p>
<p>The fact that it hasn&#8217;t taken centre-stage is possibly as much to do with VMware&#8217;s bogus clock-drift problems as anything, as I haven&#8217;t dedicated hardware to my Zeroshell instance yet (I could keep it running virtual, but some of the things I want to do with it will make more sense if it&#8217;s a separate machine). VMware Server takes another barb for its handling of VLAN tagging (but to be fair that might be the Linux 8021q module works). It seems that if you have <em>any</em> VLAN definitions on a network card, VMware won&#8217;t get to see any VLAN tags on that NIC. You can get a guest attached to a bridged interface to see the real VLAN tags, but only if Linux has not got any VLAN awareness over that NIC.</p>
<p>Alright, so enough ragging on VMware. I have Zeroshell attached to the networks it needs and all is fine. Except that I can&#8217;t actually change anything! The web interface that I spoke so highly of originally is actually very restricted in some areas. One of these is in the RADIUS server, and it bit me badly when I decided I&#8217;d use Zeroshell&#8217;s RADIUS server to authenticate access to the Web interface of my Linksys switch. Turns out that the Linksys firmware expects a particular attribute to appear in the response from the RADIUS server.</p>
<p>The fact that Linksys don&#8217;t document this anywhere is not Zeroshell&#8217;s fault, but that there is no interface allowing me to do updates to the records above what Zeroshell uses for its own applications is a bit of an issue. It means that instead of a Zeroshell box potentially becoming the hub of administration functions, it is in danger of becoming just another little vertical application server that doesn&#8217;t integrate.</p>
<p>Having said that, the backend for most (all?) authentication data is LDAP so a tool like PHPLDAPAdmin might be usable to extend the base records. But, arguably, I shouldn&#8217;t have to do that! It is still beta software though, so improvements and enhancements will be made.</p>
<p>The other area that it&#8217;s a bit lacking in is monitoring/graphing. Okay sure, I&#8217;d probably integrate Zeroshell into the rest of my Cacti setup, but it would be nice if Zeroshell did like other router distos and had a pre-built statistics/graphing page.</p>
<p>Zeroshell is still my pick (I revisited pfSense and fixed the problem updating, but to me it doesn&#8217;t have enough function to justify running its own hardware), but it&#8217;s just not quite the bees-knees it was when I first saw it.</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2008/05/zeroshell-redux/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Zeroshell: network services distro</title>
		<link>http://veejoe.net/blog/2008/04/zeroshell-network-services-distro/</link>
		<comments>http://veejoe.net/blog/2008/04/zeroshell-network-services-distro/#comments</comments>
		<pubDate>Sat, 12 Apr 2008 01:36:28 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networks]]></category>
		<category><![CDATA[router]]></category>
		<category><![CDATA[zeroshell]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=331</guid>
		<description><![CDATA[I love it when, almost by chance, I find something new. I decided yesterday to look at FLOSS-based router distributions. I&#8217;ve been using IPCop for a while, as an easy way to create a VPN to another location. Unfortunately, IPCop failed my latest requirement: 802.1Q VLAN support. So I went surfing and found an absolute [...]]]></description>
			<content:encoded><![CDATA[<p>I love it when, almost by chance, I find something new. I decided yesterday to look at FLOSS-based router distributions. I&#8217;ve been using <a href="http://www.ipcop.org">IPCop</a> for a while, as an easy way to create a VPN to another location. Unfortunately, IPCop failed my latest requirement: 802.1Q VLAN support. So I went surfing and found an absolute ripper in <a href="http://www.zeroshell.net/eng/">Zeroshell</a>, but I didn&#8217;t find him straight away&#8230;</p>
<p>First I found <a href="http://www.pfsense.com">pfSense</a>, a FreeBSD-based distro that seemed to fit the bill&#8211;indeed the very first question the Live-CD asked me on bootup was &#8220;do you want to use VLANs?&#8221;. It also promised a very extensive set of additional packages that extend it&#8217;s capability into areas like file/print, WWW proxying, and a host of other features. However, even though it has a very nice web-based configuration facility, due to what looks like a problem on their web site I was unable to even look at what packages are available. Since some of the basic function I would like is provided by these packages, I&#8217;ve had to move on&#8211;but pfSense gets an honourable mention because of its easy installation and excellent configuration interface.</p>
<p>I looked again at <a href="http://www.smoothwall.org/">Smoothwall</a>, but soon remembered why I discounted it at the time I chose IPCop. For me, the level of function I think I&#8217;d use is a bit too close to the threshold of function in the &#8220;community&#8221; (read, &#8220;free&#8221;) version. <a href="http://www.astaro.com">Astaro</a> would go in this category too, except that I was too dense to be able to even find much clear information about the level of function you get in their community version. So no recommendation on either of these, as I&#8217;ve never used either&#8211;I do work with a fellow who happily uses Smoothwall though.</p>
<p>Then, I came across Zeroshell. The lead developer describes it as &#8220;a small Linux distribution for servers and embedded devices aimed at providing the main network services a LAN requires&#8221;. And does it ever! It&#8217;s a veritable Alladin&#8217;s Cave of features and functions. It certainly does everything I was looking for, from VLAN tagging through QoS to VPNs, from an SPI firewall to multi-zone DNS and multi-subnet DHCP servers, but also has Certificate Management (using a self-signed CA certificate or one you import), a RADIUS server, WiFi access-point capability with multiple SSID <em>and VLAN mapping</em>, captive portal or &#8220;normal&#8221; HTTP proxying, 802.1d bridging, clients for Dynamic DNS, a Kerberos 5 server, plus a raft of other capabilities. Zeroshell&#8211;named because the author wanted to provide a system that was extremely flexible and powerful yet did not require users to access a shell prompt&#8211;is remarkably feature rich, and yet the download for the ISO image is only around 100MB (a bit beefier than pfSense, admittedly, which weighed in at around 60MB).</p>
<p>There are a couple of downsides, however. Until very recently, installing to a hard disk was not supported. The distro is designed to boot from a CD only, but can use an installed hard disk (if available) for what it calls &#8220;databases&#8221;, where configuration and other data is kept. With the latest release, however, the developers have created a &#8220;1GB USB drive&#8221; download (the size of the download isn&#8217;t 1GB), which is designed to be copied to a USB pendrive or hard disk.</p>
<p>The other downside (and it&#8217;s not fair to say that, as will become clear) is the web interface. Not because it&#8217;s ugly or not functional: it is neither of those. It&#8217;s clean and well laid out, and fairly consistent. It&#8217;s very technical, however. Where other distros tackle the &#8220;SOHO divide&#8221; by hiding details such as protocol numbers or port ranges, Zeroshell uncovers all this stuff in its gory detail. So it&#8217;s great for someone like me, who looks at the interfaces on other systems and pines for the knobs I can&#8217;t fiddle with, but it&#8217;s not for newcomers.</p>
<p>It looks to be a fairly new project (current release is 1.0beta9), but the forums look good and there does seem to be a bit of activity around it. I&#8217;m running Zeroshell in a VMware guest at the moment while I kick the tyres&#8211;the VMware download is also available from the project&#8217;s mirrors&#8211;but I reckon this one will be a keeper!</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2008/04/zeroshell-network-services-distro/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>ORDB: &quot;If I go down, I&#8217;ll bring you down with me&quot;</title>
		<link>http://veejoe.net/blog/2008/04/ordb-if-i-go-down-ill-bring-you-down-with-me/</link>
		<comments>http://veejoe.net/blog/2008/04/ordb-if-i-go-down-ill-bring-you-down-with-me/#comments</comments>
		<pubDate>Tue, 01 Apr 2008 03:34:56 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Networks]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=341</guid>
		<description><![CDATA[Okay, I&#8217;m sure it&#8217;s not really like that. I&#8217;m ashamed to admit this one bit me, though: ORDB, which 16 months ago called it quits but has still been online and more-or-less functional, decided last week to false-positive all queries (a mailing list thread on the issue can be seen here. Harsh, but fair&#8211;I do [...]]]></description>
			<content:encoded><![CDATA[<p>Okay, I&#8217;m sure it&#8217;s not really like that. I&#8217;m ashamed to admit this one bit me, though: ORDB, which 16 months ago called it quits but has still been online and more-or-less functional, decided last week to <a href="http://it.slashdot.org/it/08/03/25/2124224.shtml">false-positive all queries</a> (a mailing list thread on the issue can be seen <a href="http://www.nabble.com/relays.ordb.org-returning-positive-for-everything--to16286049.html">here</a>. Harsh, but fair&#8211;I do stuff-all email through this site but it still has been costing someone bandwidth to bounce my silly queries back to me. Multiply that up by all the part-time-sysadmins like me that don&#8217;t pay close-enough attention, follow old wiki articles, or get bad advice, and pretty soon you&#8217;re talking about a HEAP of bandwidth wasted to NOT provide a service any more. Shame it had to end like this though.</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2008/04/ordb-if-i-go-down-ill-bring-you-down-with-me/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jabber and Google: part two</title>
		<link>http://veejoe.net/blog/2008/01/jabber-and-google-part-two/</link>
		<comments>http://veejoe.net/blog/2008/01/jabber-and-google-part-two/#comments</comments>
		<pubDate>Sun, 13 Jan 2008 04:08:44 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networks]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=471</guid>
		<description><![CDATA[In part one I mentioned how I was considering using Google Talk as my main chat ID. As it turns out, I talked myself out of it pretty quickly after I delved into using Google Talk to connect to MSN and other services as I do now with my own Jabber server. While there are [...]]]></description>
			<content:encoded><![CDATA[<p>In <a href="http://veejoe.net/?eid=731" title="10:44PM January&nbsp;&nbsp;7, 2008 - Crossed Wires: Jabber and Google, part one">part one</a> I mentioned how I was considering using Google Talk as my main chat ID. As it turns out, I talked myself out of it pretty quickly after I delved into using Google Talk to connect to MSN and other services as I do now with my own Jabber server. While there are a lot of links around for using Jabber transports to hook your Google Talk ID to other services, there&#8217;s a tiny catch&#8230; well, actually, I think it&#8217;s a bloody great huge catch personally.</p>
<p>You see, it wasn&#8217;t until I read the how-tos that it became clear how it works. The trick is that Google doesn&#8217;t run Jabber transports on their own servers, so you therefore need to take advantage of various &#8220;open&#8221; Jabber servers that do (&#8220;open&#8221; in this context refers to a server that lets you use its transports without necessarily being a registered user there).</p>
<p>Seeing there didn&#8217;t seem to be any restrictions on the servers that could be used, I figured that I could use my own server. Sure enough, after the right incantations to expose the service on the &#8216;net, I could connect my Google Talk ID through the Jabber-MSN transport on my server to my MSN account. Yay, right? Well, not really &#8212; each little test message I sent in either direction incurred three trips over my Internet connection! Yes, three: one to go from my Google Talk client to Google, one back from Google to the transport on my Jabber server, then a third from the transport to MSN. Obviously the same happens in reverse as well (for incoming messages from MSN).</p>
<p>Seeing this as a less than optimum setup, and also being wary of getting listed as a Google Talk-friendly Jabber transport provider, I lopped the transport&#8217;s external visibility and went back to using my own JID for transport access. It&#8217;s a bit of a shame too; since fring (mentioned briefly in my <a href="http://veejoe.net/?eid=741" title="11:47PM January&nbsp;&nbsp;7, 2008 - Crossed Wires: Which Nokia device to get?">last post</a>) doesn&#8217;t let me connect to an arbitrary Jabber server, to keep connected to everything I&#8217;d need two mobile chat programs running.</p>
<p>It&#8217;s not like I do that much IM that I need to keep all this running, but it is at least a little bit interesting&#8230; <img src='http://veejoe.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2008/01/jabber-and-google-part-two/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jabber and Google, part one</title>
		<link>http://veejoe.net/blog/2008/01/jabber-and-google-part-one/</link>
		<comments>http://veejoe.net/blog/2008/01/jabber-and-google-part-one/#comments</comments>
		<pubDate>Mon, 07 Jan 2008 01:44:21 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networks]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=491</guid>
		<description><![CDATA[I reactivated an idle Google account the other day. A friend of mine from the Netherlands invited me ages ago but I never really did anything with it until I discovered that a Google Mail account can be used for other Google stuff as well, including Google Talk. I read that Google Talk is based [...]]]></description>
			<content:encoded><![CDATA[<p>I reactivated an idle Google account the other day. A friend of mine from the Netherlands invited me ages ago but I never really did anything with it until I discovered that a Google Mail account can be used for other Google stuff as well, including Google Talk. I read that Google Talk is based on Jabber and works with any Jabber client, so I flicked over to Kopete and plugged in the details. Sure enough it worked&#8230; but then it got interesting.</p>
<p>I run a Jabber server for internal things. I wanted to have a secure, private chat facility to use over VPN with my nephews; I want to someday migrate my Nagios IRC bot to Jabber; and I use transports to link into MSN and Yahoo! to reach friends on those networks. The last point is great: I really like the fact that now, from whatever Jabber client I use (even the mobile ones I&#8217;ve played with) that I merely connect to my Jabber server and I&#8217;m online on MSN and Yahoo! as well.</p>
<p>Google Talk, though, has proven to be a bit of a challenge. It&#8217;s actually working like a tower, even though it&#8217;s based on (arguably) the most open of the IM platforms! You see I more-or-less took for granted that &#8220;transport&#8221; way of doing things, using my Jabber server to bridge to other networks. There&#8217;s no Jabber transport for Jabber though!</p>
<p>What I want to do kind-of flies in the face of how Jabber is designed. Ideally, you&#8217;re supposed to only have one Jabber ID (JID) &#8212; Jabber creates an open network with servers establishing connections when needed, very much like e-mail, and you only need an ID on one server to be able to chat with anyone on any other server. So what I wanted to do, which was connect to one Jabber server and have it &#8220;relay&#8221; messages to an ID on a different server is just not necessary with Jabber. Nor should it be necessary for Google Talk users to send messages to me using my Google Talk ID only &#8212; they can send straight to my JID on my Jabber server.</p>
<p>In the early days of Google Talk, Google had not enabled the &#8220;server-to-server&#8221; functionality that allowed this kind of communication to happen. Google Talk worked just like MSN, Yahoo! or AIM &#8212; you had to have a Google Talk account to chat with anyone on Google Talk. While this was the case, folks <i>were</i> looking making a Jabber-Jabber transport for connecting Jabber servers to Google Talk. At some point, though, Google opened the connectivity paths that allowed Google Talk to exist on the open Jabber network (I&#8217;ve tested this for myself). Once this happened, the need for a&nbsp;&nbsp;&#8221;Google Talk Transport&#8221; for Jabber evaporated in most people&#8217;s minds.</p>
<p>The solution nowadays is to use a client that supports multiple connections, and connect to your Jabber and Google Talk accounts at the same time. It works of course, but you don&#8217;t get the nice benefits that a transport provides &#8212; the main one being access to all your IM services and accounts from a single server connection. </p>
<p>So now, having resigned myself to not being able to bring my home JID and Google Talk ID together, the question arose: do I still need my own Jabber server? My current fave mobile IM client only connects to Google Talk&#8230; Could I get by just using the Google Talk service? Find out in Part two! <img src='http://veejoe.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2008/01/jabber-and-google-part-one/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Active Directory accounts on Linux</title>
		<link>http://veejoe.net/blog/2006/05/active-directory-accounts-on-linux/</link>
		<comments>http://veejoe.net/blog/2006/05/active-directory-accounts-on-linux/#comments</comments>
		<pubDate>Sun, 28 May 2006 04:51:59 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networks]]></category>
		<category><![CDATA[activedirectory]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[samba]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=1451</guid>
		<description><![CDATA[Never thought I could get this excited about something to do with a Windows server!&#160;&#160;But there it is &#8212; one of my SLES 9 test servers is now supporting logons from a user account stored in Active Directory, with no Samba in sight! Before you say ANYTHING, this is not an indication that the Crossed [...]]]></description>
			<content:encoded><![CDATA[<p>Never thought I could get this excited about something to do with a Windows server!&nbsp;&nbsp;But there it is &#8212; one of my SLES 9 test servers is now supporting logons from a user account stored in Active Directory, with no Samba in sight!</p>
<p>Before you say ANYTHING, this is not an indication that the Crossed Wires campus is switching to the evil side.&nbsp;&nbsp;Any experienced Linux sysadmin will tell you that working with Windows systems can&#8217;t be avoided &#8212; and in some cases, welcomed (after all it&#8217;s better to have one or two Linux boxes in a sea of Windows than no Linux boxes at all).&nbsp;&nbsp;My main customer at work is essentially a Windows shop, but their main file servers are Linux on zSeries, which means that me as a Linux guy needs to know more than I thought I would want to know about bringing Linux and Windows together.</p>
<p>So they are doing a migration to Microsoft Active Directory, and the Linux systems need to be integrated into the AD setup.&nbsp;&nbsp;To our architects, Linux Windows integration equals Samba &#8212; they never bothered to look at making use of AD&#8217;s LDAP component to create a model that Linux can handle natively, instead of the (to me) less-than-optimal Winbind (don&#8217;t get me wrong, Winbind works, it just imposes some operational issues that I&#8217;d sooner do without, like SID-[UG]ID mapping, for instance).</p>
<p>So I proposed that the solution be updated to utilise LDAP, through the use of Microsoft&#8217;s own Services for Unix (SFU).&nbsp;&nbsp;I was told &#8220;yeah, dunno why it wasn&#8217;t designed that way, would be the best way to do it, but no&#8221;.&nbsp;&nbsp;Sigh.</p>
<p>So I decided to stick to my guns and set up something to show that it would work exactly as I said it would.&nbsp;&nbsp;And I have!&nbsp;&nbsp;I&#8217;ve worked around some inaccurate information on the &#8216;Net, some incomplete documentation from Microsoft, and some finger-checks on my part, to be able to show The Right Way to anyone who cares&#8230;&nbsp;&nbsp;Yep, sometimes the useless thing is just worth doing.&nbsp;&nbsp;:)</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2006/05/active-directory-accounts-on-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

