<?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>bits &#124; andy smith&#039;s blog &#187; Andy Smith</title>
	<atom:link href="http://andys.org.uk/bits/author/admin/feed/" rel="self" type="application/rss+xml" />
	<link>http://andys.org.uk/bits</link>
	<description>random stuff from the mind of a twenty-something professional geek</description>
	<lastBuildDate>Sat, 21 Jan 2012 18:36:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>A Prelude to better things &#8211; Open Source and IDS</title>
		<link>http://andys.org.uk/bits/2012/01/21/a-prelude-to-better-things-open-source-and-ids/</link>
		<comments>http://andys.org.uk/bits/2012/01/21/a-prelude-to-better-things-open-source-and-ids/#comments</comments>
		<pubDate>Sat, 21 Jan 2012 03:35:45 +0000</pubDate>
		<dc:creator>Andy Smith</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[ids]]></category>
		<category><![CDATA[ips]]></category>
		<category><![CDATA[prelude]]></category>
		<category><![CDATA[snort]]></category>

		<guid isPermaLink="false">http://andys.org.uk/bits/?p=139</guid>
		<description><![CDATA[A recent number of attempted break-ins to a few machines I manage has had me thinking again about the overall security of the machines, and how to get a better handle on what&#8217;s going on. This isn&#8217;t something new &#8211; anyone managing internet-facing systems ought to be aware of the dangers, and how to mitigate [...]]]></description>
			<content:encoded><![CDATA[<p>A recent number of attempted break-ins to a few machines I manage has had me thinking again about the overall security of the machines, and how to get a better handle on what&#8217;s going on. This isn&#8217;t something new &#8211; anyone managing internet-facing systems ought to be aware of the dangers, and how to mitigate them. As with many things related to open source, there are a plethora of tools out there aimed at providing alerting based on network activity.</p>
<p>I&#8217;d wager that many people have heard of <a href="http://www.snort.org/">Snort</a>, and what it does. For those who aren&#8217;t familiar with it, it&#8217;s an open source intrusion detection system (IDS)/intrusion prevention system (IPS). In a normal configuration, Snort monitors traffic and alerts based on predefined rules for such things as port scans and maliciously-crafted HTTP requests. It&#8217;s an extremely powerful tool that is also highly configurable, and with an excellent community that provide custom rules for a wide variety of situations. But alerting is one thing &#8211; being able to make sense of those alerts is something else.</p>
<h2><span id="more-139"></span>Prelude</h2>
<p><a href="http://www.prelude-technologies.com/en/solutions/universal-siem/index.html">Prelude</a> is a <a href="http://en.wikipedia.org/wiki/Security_information_management">security information management</a> (or SIM) system &#8211; that is, it&#8217;s designed to aggregate and correlate events from tools like Snort and provide a centralised place to manage those events. On its own, this is useful, but coupled with a few additional tools it really becomes something else.</p>
<p>The main prerequisite for our setup is to MySQL, so if you don&#8217;t already have it installed, go ahead and do so. Most Linux distributions include Prelude in their repositories, so installing it should be pretty straightforward. I use Debian, so once MySQL is installed and working, installing the <strong>manager</strong> is a case of running the following:-</p>
<pre>root@dev-vm-lnxd-01:~# <strong>apt-get install prelude-manager</strong></pre>
<p>Follow the on-screen debconf prompts regarding the database &#8211; one thing to note that I discovered on squeeze is that if I let debconf generate a password for the prelude database user, that password wasn&#8217;t written to the prelude configuration. Since debconf doesn&#8217;t output the password it&#8217;s generated, this means you&#8217;ll have no idea of the password. Therefore, I recommend picking a password yourself.</p>
<p>Next, it will generate a 2048-bit RSA key for the manager. This can take a while, and on a quiet server will take a few minutes at least. Generating disk I/O is how I usually increase the amount of entropy for the key generation &#8211; running <strong>find / &gt;/dev/null</strong> works well in this situation I&#8217;ve found.</p>
<p>By default, prelude-manager will refuse to start, because it&#8217;s disabled in <strong>/etc/default/prelude-manager</strong>. Edit it, and change <strong>RUN=no</strong> to <strong>RUN=yes</strong>. Next make sure that the database configuration in <strong>/etc/prelude-manager/prelude-manager.conf</strong> is correct &#8211; especially regarding my note earlier about auto-generated passwords.</p>
<p>When you&#8217;re happy the configuration is correct, start prelude-manager:-</p>
<pre>root@dev-vm-lnxd-01:~# <strong>/etc/init.d/prelude-manager start</strong></pre>
<p>If everything is okay, prelude-manager will start.</p>
<h2>Putting it to work</h2>
<p>We now have a running prelude-manager instance. But on its own, this is pretty useless &#8211; no events are being sent to it, so there&#8217;s nothing for it to do. Let&#8217;s fix that by installing a sensor &#8211; Snort.</p>
<p>Again, installing Snort should be straightforward:-</p>
<pre>root@dev-vm-lnxd-01:~# <strong>apt-get install snort</strong></pre>
<p>As before, follow the debconf prompts. Unlike <strong>prelude-manager</strong>, snort will be started automatically after install. A quick glance at /var/log/snort will reveal a file named alert and possibly a number of tcpdump.log files. This is how Snort by default saves alerts, with the tcpdump.log files being captures associated with those alerts. But since we&#8217;re talking about Prelude, let&#8217;s get the alerts sent there.</p>
<p>The first step is to register Snort with prelude-manager, so that prelude-manager knows about it. We can do this with the prelude-admin command:-</p>
<pre>root@dev-vm-lnxd-01:~# <strong>prelude-admin register "snort" "idmef:w" 127.0.0.1 --uid 106 --gid 106</strong></pre>
<p>You&#8217;ll notice that I passed the UID and GID of the snort to prelude-admin. By default, the snort has both a UID and GID of 106, but do check this before running it. The other options are the name of the agent (<strong>&#8220;snort&#8221;</strong>), the permissions (<strong>&#8220;idmef:w&#8221;</strong>) and the IP address of the server running <strong>prelude-manager</strong>. The name can be anything, as long as this matches the name used in the Snort configuration, and the &#8216;idmef:w&#8217; refers to the <a href="http://en.wikipedia.org/wiki/IDMEF">Intrusion Detection Message Exchange Format</a>, and that we want to give Snort write permissions. Finally, because we&#8217;re running Snort on the same server as the one running prelude-manager, we use 127.0.0.1 as the host.</p>
<pre>root@dev-vm-lnxd-01:~# <strong>prelude-admin register "snort" "idmef:w" 127.0.0.1 --uid 106 --gid 106</strong>
Generating 2048 bits RSA private key... This might take a very long time.
[Increasing system activity will speed-up the process].
Generation in progress... X..+++++O.+++++O</pre>
<pre>You now need to start "prelude-admin" registration-server on 127.0.0.1:
example: "prelude-admin registration-server prelude-manager"</pre>
<pre>Enter the one-shot password provided on 127.0.0.1:</pre>
<p>Once again, an RSA key is generated, but this time for the sensor, so now might be a good time to go and make a cuppa. Once the key has been generated, you&#8217;ll be prompted (as above) for a &#8216;one-shot password&#8217; to authenticate it to <strong>prelude-manager</strong>. At this point, open a new session to the server running prelude-manager and run prelude-manager as directed by the above:-</p>
<pre>root@dev-vm-lnxd-01:~# <strong>prelude-admin registration-server prelude-manager</strong>
The "<span style="color: #ff0000;">8qovmgff</span>" password will be requested by "prelude-admin register"
in order to connect. Please remove the quotes before using it.</pre>
<pre>Generating 1024 bits Diffie-Hellman key for anonymous authentication...
Waiting for peers install request on 0.0.0.0:5553...
Waiting for peers install request on :::5553...</pre>
<p>Make a note of the password (in our example, <strong><span style="color: #ff0000;">8qovmgff</span></strong>), switch back to our first session, and provide it at the prompt:-</p>
<pre>Enter the one-shot password provided on 127.0.0.1: <strong><em><span style="color: #ff0000;">8qovmgff</span></em></strong>
Confirm the one-shot password provided on 127.0.0.1: <strong><em><span style="color: #ff0000;">8qovmgff</span></em></strong></pre>
<pre>Connecting to registration server (127.0.0.1:5553)... Authentication succeeded.</pre>
<p>Switch again to the second session, and accept the registration:-</p>
<pre>Connection from 127.0.0.1:40123...
Registration request for analyzerID="2783582516549275" permission="idmef:w".
Approve registration? [y/n]: <strong>y</strong>
127.0.0.1:40123 successfully registered.</pre>
<p>Snort is now registered as an sensor with prelude-manager.</p>
<p>The next step is to tell Snort to send its output to Prelude. Edit <strong>/etc/snort/snort.conf</strong>, and look for the following line:-</p>
<pre># output alert_prelude: profile=snort-profile-name</pre>
<p>Uncomment it, and change the profile name to snort:-</p>
<pre>output alert_prelude: profile=<strong>snort</strong></pre>
<p>Save the config, and restart snort:-</p>
<pre>root@dev-vm-lnxd-01:~# <strong>/etc/init.d/snort restart</strong>
Stopping Network Intrusion Detection System : snort (eth0 ...done).
Starting Network Intrusion Detection System : snort (eth0 using /etc/snort/snort.conf ...done).</pre>
<h2>Making sense of it all</h2>
<p>All being well, Snort should now be sending events to Prelude. But we still don&#8217;t have any visibility of these alerts&#8230; which is where <a href="http://freecode.com/projects/prewikka">Prewikka</a> comes in.</p>
<p>Prewikka is a graphical front-end to Prelude &#8211; more specifically, to the database that <strong>prelude-manager</strong> uses. Again, there&#8217;s a package in Debian for this, so go ahead and install it:-</p>
<pre>root@dev-vm-lnxd-01:~# <strong>apt-get install prewikka</strong></pre>
<p>As with prelude-manager, follow the debconf prompts regarding database setup. Once completed, Prewikka will have its own database, but you&#8217;ll also need to give it the details for prelude-manager&#8217;s database. Edit <strong>/etc/prewikka/prewikka.conf</strong>, and edit the settings under the <strong>[idmef_database]</strong> section. Save and exit the config, and start Prewikka:-</p>
<pre>root@dev-vm-lnxd-01:~# <strong>prewikka-httpd &amp;</strong></pre>
<p><img class="alignright size-medium wp-image-140" style="margin-left: 10px; margin-right: 10px;" title="Prewikka - Main screen" src="http://andys.org.uk/bits/wp-content/uploads/2012/01/prewikka1-300x170.png" alt="" width="300" height="170" /></p>
<p>By default, Prewikka listens on port 8000, so point your browser at <strong>http://<em>&lt;server&gt;</em>:8000/</strong>. The default username and password is <strong>admin</strong> and <strong>admin</strong>, so go ahead and log in. You&#8217;ll then be presented with the main event viewer, which should be similar to the screenshot to the right.</p>
<p>Running Prewikka in this way uses its own built-in webserver, but within the package a <strong>prewikka.cgi</strong> file is provided, which can be served by your favourite webserver of choice as a traditional CGI executable.</p>
<p>Now, before taking the screenshot to the right I cheated a little. I ran a quick nmap against the server to generate some events as an example, but in the absence of any events you can still check that snort is communicating with <strong>prelude-manager</strong>. Click on the <strong>Agents</strong> link in the menu, and there should be an entry for the server. Click on it once to expand it, and then on the Total box to expand the sensors. If everything is configured correctly, Snort should appear in the listing:-</p>
<p><a href="http://andys.org.uk/bits/wp-content/uploads/2012/01/prewikka-agents.png"><img class="aligncenter size-full wp-image-141" title="Prewikka Sensors" src="http://andys.org.uk/bits/wp-content/uploads/2012/01/prewikka-agents.png" alt="" width="703" height="159" /></a></p>
<p style="text-align: left;">Prewikka allows you to filter and sort the events displayed, so now would be a good time to have a play about with it. Clicking on an alert will let you view the details of that alert, and because the events at the moment are from Snort, all the relevant alert information that Snort would have logged to <strong>/var/log/snort/alert</strong> should be available.</p>
<h2 style="text-align: left;">Add logs, and sprinkle in a bit of correlation</h2>
<p>So now we have working Prelude and Snort installs, with the two working together and a nice front-end to view them through. While nice to look at, we&#8217;re missing one of the things that all good IDS tools have, which is correlation.</p>
<p>Before going any further, let&#8217;s install two more Prelude packages &#8211; <strong>prelude-lml</strong> (Prelude Log Agent) and <strong>prelude-correlator</strong>:-</p>
<pre>root@dev-vm-lnxd-01:~# <strong>apt-get install prelude-lml prelude-correlator</strong></pre>
<p>On my squeeze install, the post-install script for prelude-lml exits with an error because the service is initially disabled. This is fixed in a later version, but it&#8217;s something to look out for. For now, ignore the error &#8211; after we&#8217;ve configured it we can pacify dpkg&#8230;</p>
<p>Because <strong>prelude-lml</strong> and <strong>prelude-correlator</strong> are sensors themselves, we&#8217;ll need to register them with <strong>prelude-manager</strong> in the same way that we did for Snort with the <strong>prelude-admin</strong> command:-</p>
<pre>root@dev-vm-lnxd-01:~# <strong>prelude-admin register "prelude-lml" "idmef:w" 127.0.0.1 --uid 0 --gid 0</strong>
<em>...output from prelude-admin...</em>
root@dev-vm-lnxd-01:~# <strong>prelude-admin register "prelude-correlator" "idmef:rw" 127.0.0.1 --uid 0 --gid 0</strong>
<em>...output from prelude-admin...</em></pre>
<p>As before, you&#8217;ll need to run <strong>prelude-admin registration-server prelude-manager</strong> in a second session for both sensors. Also, make sure that you correctly give <strong>prelude-correlator</strong> the &#8216;idmef:rw&#8217; permissions &#8211; this is because it needs to both read <strong>and</strong> write events. Then, enable <strong>prelude-correlator</strong> in the same way as prelude-manager by changing <strong>RUN=no</strong> to <strong>RUN=yes</strong> in <strong>/etc/default/prelude-correlator</strong>. Finally, start <strong>prelude-correlator</strong>:-</p>
<pre>root@dev-vm-lnxd-01:/etc/prelude/profile# <strong>/etc/init.d/prelude-correlator start</strong>
Starting prelude-correlator : prelude-correlator21 Jan 03:06:57 prelude-correlator (process:22339) INFO: [FirewallPlugin]: disabled on user request
21 Jan 03:06:57 prelude-correlator (process:22339) WARNING: SpamhausDropPlugin = PreludeCorrelator.plugins.spamhausdrop:SpamhausDropPlugin: No module named netaddr
21 Jan 03:06:57 prelude-correlator (process:22339) INFO: [BusinessHourPlugin]: disabled on user request
21 Jan 03:06:57 prelude-correlator (process:22339) INFO: 7 plugin have been loaded.
.</pre>
<p>A word of warning at this point &#8211; initially, prelude-correlator failed to start for me. If this happens, make sure that <strong>/etc/prelude/prelude-correlator</strong>, <strong>/var/spool/prelude/prelude-correlator</strong> and <strong>/var/lib/prelude-correlator</strong> (plus any subdirectories) are owned by the <strong>prelude-correlator</strong> user, and then again try to start prelude-correlator.</p>
<p>If you had problems earlier with the dpkg post-install script for prelude-lml, running <strong>apt-get -f install</strong> here will tidy that up and start prelude-lml. If you didn&#8217;t, then start prelude-lml manually:-</p>
<pre>root@dev-vm-lnxd-01:/etc/prelude/profile# <strong>/etc/init.d/prelude-lml start</strong>
Starting Prelude LML: prelude-lml.</pre>
<p>Going back to our Prewikka browser window, if we click again on <strong>Agents</strong> and expand the nodes and sensors, we should see entries for <strong>prelude-lml</strong> and <strong>prelude-correlator</strong>.</p>
<p>To demonstrate what prelude-lml and prelude-correlator can do, let&#8217;s first add an iptables entry to log all TCP connection attempts on port 22:-</p>
<pre>root@dev-vm-lnxd-01:~# <strong>iptables -I INPUT -p tcp --dport 22 -m state --state NEW -j LOG</strong></pre>
<p>Opening another SSH connection to the server should result in a log message in <strong>/var/log/messages</strong> similar to the following:-</p>
<pre>Jan 21 03:17:08 dev-vm-lnxd-01 kernel: [ 7981.313741] IN=eth0 OUT= MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx SRC=192.168.xxx.aaa DST=192.168.xxx.yyy LEN=60 TOS=0x10 PREC=0x00 TTL=64 ID=1313 DF PROTO=TCP SPT=56168 DPT=22 WINDOW=14600 RES=0x00 SYN URGP=0</pre>
<p>Next, purposefully fail an attempt to log into the server &#8211; for example, with an incorrect password. Then, check the events again:-</p>
<p style="text-align: center;"><a href="http://andys.org.uk/bits/wp-content/uploads/2012/01/prewikka-correlator-lml.png"><img class="aligncenter  wp-image-142" title="Prewikka (Correlator and LML)" src="http://andys.org.uk/bits/wp-content/uploads/2012/01/prewikka-correlator-lml-1024x129.png" alt="" width="819" height="103" /></a></p>
<p style="text-align: left;">There&#8217;s a few things here, but the main thing to notice is that there are a number of new sensors listed in the <strong>Analyzer</strong> column. <strong>PAM</strong>, <strong>sshd</strong>, and <strong>netfilter</strong> have all been picked up by <strong>prelude-lml</strong> from the logfiles it monitors, and in the case of the first event, <strong>prelude-correlator</strong> has correctly identified &#8211; from the prelude-lml events &#8211; that a brute-force attack has occurred. In my example above, it&#8217;s also picked up that there was a successful login &#8211; this was me logging in with the correct password, but if this was a production system this may well be indicative of a brute-force attack resulting in a correctly-guessed password!</p>
<h2 style="text-align: left;">Where now?</h2>
<p>This is just a quick overview of what&#8217;s possible with open-source IDS software. All the tools I&#8217;ve written about in this post are extremely configurable &#8211; <strong>prelude-lml</strong> for example can monitor many different types of logfile and can be configured with custom regular expressions to look for specific things. Many similar tools can be configured to send events to Prelude, which <strong>prelude-correlator</strong> can correlate as above. One thing I&#8217;ve not covered here is <strong>auditd</strong>, which has (via the audispd multiplexor) the ability to send to Prelude &#8211; something which I&#8217;ll cover in a future post.</p>
<p>&nbsp;</p>
<p style="text-align: center;">
]]></content:encoded>
			<wfw:commentRss>http://andys.org.uk/bits/2012/01/21/a-prelude-to-better-things-open-source-and-ids/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Not dead, just sleeping</title>
		<link>http://andys.org.uk/bits/2012/01/20/not-dead-just-sleeping/</link>
		<comments>http://andys.org.uk/bits/2012/01/20/not-dead-just-sleeping/#comments</comments>
		<pubDate>Fri, 20 Jan 2012 18:43:38 +0000</pubDate>
		<dc:creator>Andy Smith</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://andys.org.uk/bits/?p=134</guid>
		<description><![CDATA[It&#8217;s been a while since I posted on here. It&#8217;s been a busy year &#8211; for reasons both good and not-so-good &#8211; but I&#8217;ve got a few ideas that I&#8217;ll be posting about over the next week or two. For those interested in amateur radio (or wonder what it&#8217;s all about) &#8211; I also have [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a while since I posted on here. It&#8217;s been a busy year &#8211; for reasons both good and not-so-good &#8211; but I&#8217;ve got a few ideas that I&#8217;ll be posting about over the next week or two.</p>
<p>For those interested in amateur radio (or wonder what it&#8217;s all about) &#8211; I also have <a href="http://m0vkg.org.uk/">http://m0vkg.org.uk/</a>, which is where I post all my amateur radio-related thoughts and activities.</p>
]]></content:encoded>
			<wfw:commentRss>http://andys.org.uk/bits/2012/01/20/not-dead-just-sleeping/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RedHat, NFS and static ports</title>
		<link>http://andys.org.uk/bits/2010/12/17/redhat-nfs-and-static-ports/</link>
		<comments>http://andys.org.uk/bits/2010/12/17/redhat-nfs-and-static-ports/#comments</comments>
		<pubDate>Fri, 17 Dec 2010 20:05:19 +0000</pubDate>
		<dc:creator>Andy Smith</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[nfs]]></category>
		<category><![CDATA[ports]]></category>
		<category><![CDATA[redhat]]></category>

		<guid isPermaLink="false">http://andys.org.uk/bits/?p=121</guid>
		<description><![CDATA[Using NFS between two machines on the same network is usually free of hassle, so the default behaviour &#8211; on Linux, at least &#8211; is fine and can be left as it is. However, in a commercial setting (such as the ones I manage in my day job) it&#8217;s often the case that the machines [...]]]></description>
			<content:encoded><![CDATA[<p>Using NFS between two machines on the same network is usually free of hassle, so the default behaviour &#8211; on Linux, at least &#8211; is fine and can be left as it is. However, in a commercial setting (such as the ones I manage in my day job) it&#8217;s often the case that the machines might not be on the same network &#8211; or even in the same location, for that matter. It&#8217;s likely that there&#8217;s a number of network devices in between the machines, and the way NFS uses <a href="http://en.wikipedia.org/wiki/Portmap">portmap</a> can sometimes make things frustrating.</p>
<p>Luckily, it&#8217;s really easy to fix.</p>
<p><span id="more-121"></span></p>
<p>On <strong>RedHat</strong>-based systems, it&#8217;s a case of editing /etc/sysconfig/nfs. In there, by default you&#8217;ll find quite a few <code>&lt;service&gt;_PORT=&lt;port&gt;</code> entries, but they&#8217;re hashed out. For example:-</p>
<blockquote>
<pre># Port rpc.statd should listen on.
#STATD_PORT=662</pre>
</blockquote>
<p>You can go ahead and uncomment the line, or if you wish you can change the port. Repeat this for the other <code>&lt;service&gt;_PORT</code> entries as required &#8211; you&#8217;ll want to do <code>LOCKD_TCPPORT</code> (if you&#8217;re using TCP), <code>LOCKD_UDPPORT</code> (if you&#8217;re using UDP), <code>MOUNTD_PORT</code> and <code>STATD_PORT</code>.</p>
<p>Once you&#8217;re happy, restart the services:-</p>
<blockquote>
<pre>/sbin/service portmap restart
/sbin/service nfs restart</pre>
</blockquote>
<p>Running <code>rpcinfo -p</code> should show the various NFS services now running on the ports specified in <code>/etc/sysconfig/nfs</code>:-</p>
<blockquote>
<pre>[root@nfs-server ~]# <strong>rpcinfo -p</strong>
program vers proto   port
100000    2   tcp    111  portmapper
100000    2   udp    111  portmapper
100011    1   udp    875  rquotad
100011    2   udp    875  rquotad
100011    1   tcp    875  rquotad
100011    2   tcp    875  rquotad
100003    2   udp   2049  nfs
100003    3   udp   2049  nfs
100003    4   udp   2049  nfs
100021    1   udp  32769  nlockmgr
100021    3   udp  32769  nlockmgr
100021    4   udp  32769  nlockmgr
100021    1   tcp  32803  nlockmgr
100021    3   tcp  32803  nlockmgr
100021    4   tcp  32803  nlockmgr
100003    2   tcp   2049  nfs
100003    3   tcp   2049  nfs
100003    4   tcp   2049  nfs
100005    1   udp    892  mountd
100005    1   tcp    892  mountd
100005    2   udp    892  mountd
100005    2   tcp    892  mountd
100005    3   udp    892  mountd
100005    3   tcp    892  mountd</pre>
</blockquote>
<p>Firewall rules should be somewhat easier to manage now.</p>
<p>For Debian and Ubuntu systems, you might find <a href="http://ubuntuforums.org/showthread.php?t=352486">this link</a> useful.</p>
]]></content:encoded>
			<wfw:commentRss>http://andys.org.uk/bits/2010/12/17/redhat-nfs-and-static-ports/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Say goodbye to your free time</title>
		<link>http://andys.org.uk/bits/2010/08/09/say-goodbye-to-your-free-time/</link>
		<comments>http://andys.org.uk/bits/2010/08/09/say-goodbye-to-your-free-time/#comments</comments>
		<pubDate>Mon, 09 Aug 2010 12:24:45 +0000</pubDate>
		<dc:creator>Andy Smith</dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Science]]></category>
		<category><![CDATA[amateur radio]]></category>
		<category><![CDATA[electronics]]></category>
		<category><![CDATA[maths]]></category>
		<category><![CDATA[physics]]></category>
		<category><![CDATA[radio]]></category>

		<guid isPermaLink="false">http://andys.org.uk/bits/?p=111</guid>
		<description><![CDATA[I&#8217;m currently studying for my amateur radio Foundation license, and as part of this I&#8217;ve been playing about with electronics a bit &#8211; something which I never really learnt properly when I was younger. There&#8217;s plenty of free electronics simulators (such as gEDA), and some not-so-free (Multisim), but the learning curve for them is perhaps [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m currently studying for my amateur radio <a href="http://www.rsgb.org/arls/foundation_licence.php">Foundation</a> license, and as part of this I&#8217;ve been playing about with electronics a bit &#8211; something which I never really learnt properly when I was younger.</p>
<p>There&#8217;s plenty of free electronics simulators (such as <a href="http://www.gpleda.org/index.html">gEDA</a>), and some not-so-free (<a href="http://www.ni.com/multisim/">Multisim</a>), but the learning curve for them is perhaps a bit too steep for the absolute beginner.</p>
<p>A few weeks ago I stumbled across the personal site of <a href="http://falstad.com/">Paul Falstad</a>, and his <a href="http://falstad.com/mathphysics.html">amazing array of maths and physics Java applets</a>. Covering acoustics, signals processing, electrodynamics and even quantum mechanics, there&#8217;s bound to be something there to keep your entertained for far longer than is probably appropriate.</p>
<p>The <a href="http://falstad.com/circuit/">Analogue Circuit Simulator</a> (warning: Java applet will start straight away) is the one that&#8217;s sucked up most of my time &#8211; it&#8217;s full of features and examples, and is easy to use. It allows you to see the voltages and currents at all parts of the circuit, and even has scopes so you can watch values change over time.</p>
<p>As well as that, I&#8217;ve also found the <a href="http://falstad.com/emwave2/">2D Electrodynamics applet</a> useful for visualising how electromagnetic waves propagate.</p>
<p>Give them a try, although I&#8217;m not responsible for the amount of time you&#8217;ll inevitably lose doing so&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://andys.org.uk/bits/2010/08/09/say-goodbye-to-your-free-time/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>hamtests.co.uk</title>
		<link>http://andys.org.uk/bits/2010/07/14/hamtests-co-uk/</link>
		<comments>http://andys.org.uk/bits/2010/07/14/hamtests-co-uk/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 10:34:20 +0000</pubDate>
		<dc:creator>Andy Smith</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[amateur radio]]></category>
		<category><![CDATA[ham radio]]></category>

		<guid isPermaLink="false">http://andys.org.uk/bits/?p=109</guid>
		<description><![CDATA[Just a short one &#8211; and the first post in a while &#8211; but I&#8217;ve come across www.hamtests.co.uk, which contains a guide to the syllabus for the exam for the Foundation license &#8211; as well as mock tests for the exam itself &#8211; which I&#8217;m hoping to do in the coming weeks. The site&#8217;s not [...]]]></description>
			<content:encoded><![CDATA[<p>Just a short one &#8211; and the first post in a while &#8211; but I&#8217;ve come across <a href="http://www.hamtests.co.uk/">www.hamtests.co.uk</a>, which contains a guide to the syllabus for the exam for the Foundation license &#8211; as well as mock tests for the exam itself &#8211; which I&#8217;m hoping to do in the coming weeks. The site&#8217;s not quite finished &#8211; there&#8217;s some stuff missing for the Intermediate level, but it&#8217;s a really useful site.</p>
]]></content:encoded>
			<wfw:commentRss>http://andys.org.uk/bits/2010/07/14/hamtests-co-uk/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>A whole lot of nothing</title>
		<link>http://andys.org.uk/bits/2010/04/20/a-whole-lot-of-nothing/</link>
		<comments>http://andys.org.uk/bits/2010/04/20/a-whole-lot-of-nothing/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 16:09:58 +0000</pubDate>
		<dc:creator>Andy Smith</dc:creator>
				<category><![CDATA[Doncaster]]></category>
		<category><![CDATA[Politics]]></category>
		<category><![CDATA[doncaster metropolitan borough council]]></category>
		<category><![CDATA[peter davies]]></category>

		<guid isPermaLink="false">http://andys.org.uk/bits/?p=103</guid>
		<description><![CDATA[Another repost, this time from last year when Peter Davies was elected Mayor of Doncaster. I&#8217;ve noticed this is being linked to a lot, so here it is (Update (12.06.2009): I&#8217;ve had an email from Toby Foster&#8217;s brother, who&#8217;s pointed out that where I originally transcripted Toby as saying &#8220;About right&#8221;, he actually says &#8220;Well [...]]]></description>
			<content:encoded><![CDATA[<p><em>Another repost, this time from last year when Peter Davies was elected Mayor of Doncaster. I&#8217;ve noticed this is being linked to a lot, so here it is</em></p>
<p>(<strong>Update (12.06.2009)</strong>: I&#8217;ve had an email from Toby Foster&#8217;s brother, who&#8217;s pointed out that where I originally transcripted Toby as saying &#8220;About right&#8221;, he actually says &#8220;Well that&#8217;s bright&#8221;. I&#8217;ve updated the transcript to that effect)</p>
<p>Today is Doncaster&#8217;s <a href="http://www.doncasterfreepress.co.uk/15745/Peter-Davies-is-Doncasters-new.5334454.jp">brand-spanking-new Mayor</a>&#8216;s first day on the job, and his first engagement of the day was an interview with <a href="http://www.bbc.co.uk/southyorkshire/radio_sheffield/index.shtml">BBC Radio Sheffield</a>&#8216;s <a href="http://www.bbc.co.uk/southyorkshire/content/articles/2006/01/20/radio_sheffield_toby_foster_profile.shtml">Toby Foster</a>. I hope Mayor Davies didn&#8217;t think he was in for an easy ride for his first official interview, because that&#8217;s not what he got.</p>
<p>Over the course of seven and a half minutes, Toby Foster took Mr Davies&#8217; election manifesto and pulled it apart, pointing out that he doesn&#8217;t know what &#8216;PC jobs&#8217; there are in the council (Mr Davies&#8217; reply being &#8220;the things that are usually advertised in the [...] Guardian&#8221;), that he can&#8217;t cut translation services for non-English speakers (Toby Foster: &#8220;It&#8217;s more than likely illegal, isn&#8217;t it?&#8221;. Peter Davies: &#8220;I dunno&#8221;), and that he hasn&#8217;t even though of the possible benefits of funding minority events such as the Gay Pride march (when asked how much money went to funding it, he replies &#8220;Haven&#8217;t got a clue, I haven&#8217;t looked into&#8230; I haven&#8217;t got the details&#8221;). On top of this, he admits that his cuts will mean job losses &#8211; which I&#8217;m sure the electorate of Doncaster will be happy to hear.</p>
<p><a href="http://www.bbc.co.uk/iplayer/episode/p003994x/The_Toby_Foster_Bigger_at_Breakfast_Show_08_06_2009/">Click here</a> for BBC&#8217;s Listen Again (at about the 1hr 57min mark), or <a href="/media/peter_davies_toby_foster_bbc_radio_sheffield_08_06_2009.mp3">here</a> for just the interview (which I hope the BBC won&#8217;t mind me putting here). For those who can&#8217;t listen to the interview, I&#8217;ve transcribed the whole thing below.</p>
<p><span id="more-103"></span></p>
<p><em>(from BBC Radio Sheffield, 8th June 2009)</em></p>
<p><strong>Toby Foster (BBC Radio Sheffield):</strong> Thanks very much for joining us. I said that we didn&#8217;t see it coming &#8211; did you see it coming? Did you expect to win?</p>
<p><strong>Peter Davies:</strong> Well, well not really. A great friend of mine told me the night before I was going to get a great shock, and that I would win. I was thinking of saving the deposit at the time.</p>
<p><strong>TF:</strong> I can imagine. What was it you think that made people vote for you?</p>
<p><strong>PD:</strong> Well we were the only party who gave a distinctive agenda to the electorate. All the others talked waffle. I looked at all the leaflets, I couldn&#8217;t make anything of them all, they were all the same.</p>
<p><strong>TF:</strong> You did give a distinctive agenda, you&#8217;re absolutely right, you made some real points on that. Let&#8217;s just have a look &#8211; let&#8217;s have a look at them shall we? The first one of course I think&#8217;s an easy one &#8211; you&#8217;re going to cut the mayor&#8217;s salary.</p>
<p><strong>PD:</strong> That&#8217;s the first thing this morning</p>
<p><strong>TF:</strong> Down to £30,000 a year. Now, some people could look at that Peter and say, well, you get more than that for running a supermarket these days. Surely a council deserves&#8230; a bit more respect?</p>
<p><strong>PD:</strong> No, the council deserves somebody who&#8217;s going to run it properly, and it deserves somebody who&#8217;s prepared to give their services partly free, in a sense &#8211; at one time all local government councillors did all the free, er, it&#8217;s become a gravy train and I&#8217;m not prepared to be part of that.</p>
<p><strong>TF:</strong> So what about the people who work for you? The deputy mayor, other people in the departments &#8211; are you cutting their wages as well?</p>
<p><strong>PD:</strong> Er, well, I&#8217;ve discussed that with-, well not- not the people in the departments, I can&#8217;t- I&#8217;ve no control over what they&#8217;ve been given, but the deputy mayor and the rest of the cabinet will discuss that at, at the earliest opportunity.</p>
<p><strong>TF:</strong> Well, you say you&#8217;ve no control over people in the departments, one of the big things on your campaign was that you&#8217;re going to cut &#8216;PC jobs&#8217;.</p>
<p><strong>PD:</strong> Oh yeah, that&#8217;s a different thing altogether, er-</p>
<p><strong>TF:</strong> Which jobs are those?</p>
<p><strong>PD:</strong> Well, er, I&#8217;m going to look into that. Things like Diversity Officers, er, the things that are usually advertised in the Manchester-, well, it&#8217;s not the Manchester Guardian now &#8211; in the Guardian&#8230;</p>
<p><strong>TF:</strong> Right, so have-, so, so hang on, so so there are politically&#8230;</p>
<p><strong>PD:</strong> I mean, I can&#8217;t give you a full list at the moment, but I will&#8230;</p>
<p><strong>TF:</strong> But that&#8217;s what you put on your manifesto &#8211; you must have had an idea on your manifesto what you were talking about?</p>
<p><strong>PD:</strong> Yeah, yeah, all these people who are, sort of, controlling thought processes and this sort of thing, and er, erm&#8230; every department is riddled with this sort of nonsense these days.</p>
<p><strong>TF:</strong> So currently then, this morning, Doncaster Council is riddled with people who are, who are doing this kind of nonsense, ah&#8230; and they&#8217;re on notice, are they? People are going to lose their jobs?</p>
<p><strong>PD:</strong> Er, very likely.</p>
<p><strong>TF:</strong> But we don&#8217;t know who they are, yeah? But certainly Diversity Officers&#8230;</p>
<p><strong>PD:</strong> Obviously I&#8230; I&#8217;m&#8230; well, that sort of thing, yes.</p>
<p><strong>TF:</strong> So, the Diversity Officer who&#8217;s getting ready for work this morning at Doncaster might as well not bother?</p>
<p><strong>PD:</strong> Well, he&#8217;s&#8230; he&#8217;s in employment at the moment&#8230;</p>
<p><strong>TF:</strong> But he won&#8217;t be for long?</p>
<p><strong>PD:</strong> &#8230;I think, I think we ought to be talking about what we&#8217;re going to do sort of, er, now and, er, what I&#8217;ve discovered &#8211; that might be a more fruitful discussion.</p>
<p><strong>TF:</strong> Well, I mean&#8230; these are the reasons people voted for you. Very bold points, as you said. Er, you&#8217;re going to cut translation services for non-English speakers &#8211; that&#8217;s a very bold point. It&#8217;s more than likely illegal, isn&#8217;t it?</p>
<p><strong>PD:</strong> I dunno&#8230; again, I&#8217;ve got to find this out. It&#8217;s-</p>
<p><strong>TF:</strong> Well it is &#8211; let me tell you it is, under the European Court of Human Rights it&#8217;s illegal.</p>
<p><strong>PD:</strong> -Well, well, well let&#8230; we&#8217;ll look into this &#8211; we&#8217;re getting council&#8217;s opinion on what I can do and what I can&#8217;t do, and that&#8217;s&#8230;</p>
<p><strong>TF:</strong> No, no, you said in your manifesto you would definitely do it.</p>
<p><strong>PD:</strong> Yeah, well, I&#8230; well, I, er, if, if somebody comes in the way and stops me doing these things, then that is an insult to democracy.</p>
<p><strong>TF:</strong> So what was the point of your manifesto? You might as well have said you were going to fly to the moon if you&#8217;re just going to say now that you can&#8217;t do it.</p>
<p><strong>PD:</strong> No, look&#8230; I&#8217;m going to do my best to do it. If I can&#8217;t, I shall tell the electorate why I&#8217;ve not been able to do it, and who&#8217;s stood in the way of it. The-</p>
<p><strong>TF:</strong> Well, the law&#8217;s standing in the way of it.</p>
<p><strong>PD:</strong> -Just a minute, just a minute. The electorate clearly want me to do that. The law needs changing, then, doesn&#8217;t it?</p>
<p><strong>TF:</strong> Well, you say the law needs changing-</p>
<p><strong>PD:</strong> If we get a new government, then we might get rid of some of this ludicrous legislation, and be able to run our own country again.</p>
<p><strong>TF:</strong> Okay, now you&#8217;re going to cut the number of councillors from 60 to 20.</p>
<p><strong>PD:</strong> That is another difficulty, and the first-</p>
<p><strong>TF:</strong> Can&#8217;t do it, can you?</p>
<p><strong>PD:</strong> Er, well, we can appeal to their moral consciences-</p>
<p><strong>TF:</strong> So you can&#8217;t do it, can you?</p>
<p><strong>PD:</strong> Look, you keep telling me what I can&#8217;t do. I&#8217;ll find out what I can&#8217;t do, and if I can&#8217;t do-</p>
<p><strong>TF:</strong> You are finding out now, I&#8217;m telling you, Peter, you can&#8217;t do it. You&#8217;d have thought you&#8217;d have thought of this before you started.</p>
<p><strong>PD:</strong> This is quite a pointless discussion. Completely pointless.</p>
<p><strong>TF:</strong> Why?</p>
<p><strong>PD:</strong> Well &#8211; I&#8217;m sitting here telling you what I want to do, you&#8217;re telling me I can&#8217;t do it. I&#8217;ll find out &#8211; not from you, from other people &#8211; if I can do it or not.</p>
<p><strong>TF:</strong> Why didn&#8217;t you look at to see-</p>
<p><strong>PD:</strong> That&#8217;s where we go. And then we tell the electorate what&#8217;s going on.</p>
<p><strong>TF:</strong> Why didn&#8217;t you look to see if you could do it before you asked people to vote on it?</p>
<p><strong>PD:</strong> Because people want this to happen. And it&#8217;s time we-</p>
<p><strong>TF:</strong> We all want free speech, Peter, but why didn&#8217;t you look into it to see if it could happen before you asked 14,000 people to vote on it? You know what&#8217;s going to happen &#8211; they got upset with the political processes in Doncaster before, they disliked Martin Winter. You&#8217;ve come along, you&#8217;ve waved this flag, knowing you can&#8217;t back any of it up and they&#8217;ve voted for you. How are they going to feel when they realise they&#8217;ve been hoodwinked?</p>
<p><strong>PD:</strong> They&#8217;ve not been hoodwinked, I&#8217;m a man of my word, and I shall do everything that I can to put this into practice. And that is something that Doncaster&#8217;s not had before.</p>
<p><strong>TF:</strong> You&#8217;re going to cut the Gay Pride funding.</p>
<p><strong>PD:</strong> Yep.</p>
<p><strong>TF:</strong> Erm, how much did Doncaster Council fund Gay Pride?</p>
<p><strong>PD:</strong> Haven&#8217;t got a clue, I haven&#8217;t looked into&#8230; I haven&#8217;t got the details, I&#8230; I haven&#8217;t even started-</p>
<p><strong>TF:</strong> Well that&#8217;s bright, isn&#8217;t it? So how much did&#8230; how much was it worth to Doncaster?</p>
<p><strong>PD:</strong> How&#8230;er, what?</p>
<p><strong>TF:</strong> The Gay Pride march. 8,000 people in town for a day.</p>
<p><strong>PD:</strong> I don&#8217;t know. They can still come. There&#8217;s nobody stopping them coming.</p>
<p><strong>TF:</strong> So you don&#8217;t know what it costs, you don&#8217;t know what it earns, but you&#8217;re banning it?</p>
<p><strong>PD:</strong> I&#8217;m saying that&#8230; hard-pressed taxpayers money should not be spent on promoting any type of sexuality whether it&#8217;s straight or gay.</p>
<p><strong>TF:</strong> But for all you-, but for all you know it could be making a fortune for the town &#8211; you don&#8217;t know, you&#8217;ve not even looked at it.</p>
<p><strong>PD:</strong> Well, it, er&#8230; it may, it may or it may not, I&#8217;m telling you what I&#8217;m not doing, and again it was on the manifesto, it was quite clear people appeared to like what I was saying.</p>
<p><strong>TF:</strong> Yeah, but the stuff on the manifesto we&#8217;ve already realised &#8211; you can&#8217;t do anything about it.</p>
<p><strong>PD:</strong> I think it&#8217;s time we finished this interview, it&#8217;s quite pointless. I&#8217;ve&#8230; I&#8230; It&#8217;s really wasted&#8230; I wanted to say a few things this morning that might have been-</p>
<p><strong>TF:</strong> Tell me what you want to say.</p>
<p><strong>PD:</strong> &#8230;that people might have wanted to listen to.</p>
<p><strong>TF:</strong> Tell me what you want to say.</p>
<p><strong>PD:</strong> Well, I wanted to point out that this morning I was going to, er, see that two social workers were returned to the childrens hospital, er, which were taken away some time ago for some unaccountable reason. I was going to say we&#8217;re getting rid of Doncaster News at the earliest opportunity, and I also wanted to point out that this very weekend I&#8217;ve discovered that Doncaster is twinned with nine separate towns, er, that the Mayor&#8230; the ex-Mayor had a car, for what reason I don&#8217;t know. It&#8217;s quite reasonable that the Civic Mayor has a car, but why the elected Mayor has one, God only knows, er, and it looks to me like a Daily Telegraph moment, where I shall be discovering things every day that, er, can be got rid of.</p>
<p><strong>TF:</strong> Okay&#8230; none of that really means anything, does it? Let&#8217;s have a look at Doncaster News. You&#8217;re getting rid of Doncaster News, that&#8217;s a, er, flyer&#8230; er, paper that goes to every home in the borough isn&#8217;t it, to tell them what you&#8217;re doing?</p>
<p><strong>PD:</strong> Well, it was to distort&#8230; er, what Mayor Winter was doing, yes.</p>
<p><strong>TF:</strong> So now you&#8217;re stopping communication with the people of Doncaster?</p>
<p><strong>PD:</strong> No &#8211; communication will be through the Doncaster Free Press, though Radio Sheffield if we can get some sensible interviews-</p>
<p><strong>TF:</strong> Heh.</p>
<p><strong>PD:</strong> -and, er, the free newspapers.</p>
<p><strong>TF:</strong> So the people who work on Doncaster News, then, are they out of work as well?</p>
<p><strong>PD:</strong> I don&#8217;t know, I don&#8217;t&#8230; I, I, don&#8217;t know what their full&#8230; I&#8217;ve&#8230; I&#8230; I&#8217;ve not even got&#8230; been in the office yet, I&#8217;ve&#8230; I&#8217;ve not even-</p>
<p><strong>TF:</strong> This is the problem, isn&#8217;t it-</p>
<p><strong>PD:</strong> -had the briefing from the Chief Executive-</p>
<p><strong>TF:</strong> You actually don&#8217;t understand the laws, you don&#8217;t understand-</p>
<p><strong>PD:</strong> Okay, I&#8217;m stopping this interview, it&#8217;s a complete waste of time, er, you&#8217;re not asking any sensible questions, and er, I really don&#8217;t want to continue.</p>
<p><strong>TF:</strong> Peter, all I&#8217;m asking is how you&#8217;re going to deliver on your election manifesto?</p>
<p><em>&gt;Silence&lt;</em></p>
<p><strong>TF:</strong> Well, I can assure you, that&#8217;s going to be one of the easiest he gets.</p>
]]></content:encoded>
			<wfw:commentRss>http://andys.org.uk/bits/2010/04/20/a-whole-lot-of-nothing/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Up the proverbial creek, minus the paddle</title>
		<link>http://andys.org.uk/bits/2010/04/20/up-the-proverbial-creek-minus-the-paddle/</link>
		<comments>http://andys.org.uk/bits/2010/04/20/up-the-proverbial-creek-minus-the-paddle/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 01:46:44 +0000</pubDate>
		<dc:creator>Andy Smith</dc:creator>
				<category><![CDATA[Doncaster]]></category>
		<category><![CDATA[Politics]]></category>
		<category><![CDATA[audit commission]]></category>
		<category><![CDATA[doncaster metropolitan borough council]]></category>

		<guid isPermaLink="false">http://andys.org.uk/bits/?p=89</guid>
		<description><![CDATA[Doncaster is my home town, and it&#8217;s also where I&#8217;ve lived for all of my (almost) 28 years since I popped (!) into being at Doncaster Royal Infirmary in the summer of 1982. For those unfamiliar with geography in the north of England, Doncaster&#8217;s a fairly large town (with a population just under 300,000) in [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Doncaster">Doncaster</a> is my home town, and it&#8217;s also where I&#8217;ve lived for all of my (almost) 28 years since I popped (!) into being at <a href="http://www.dbh.nhs.uk/about_us/hospitals/doncaster_royal_infirmary/default.asp">Doncaster Royal Infirmary</a> in the summer of 1982. For those unfamiliar with geography in the north of England, Doncaster&#8217;s a fairly large town (with a population just under 300,000) in <a href="http://en.wikipedia.org/wiki/South_Yorkshire">South Yorkshire</a>. It&#8217;s also the source of many a political furore at a local government level, and has been since the Donnygate scandal of the mid-to-late 1990s.</p>
<p>The fun never stops in Doncaster, and today is no different &#8211; the Audit Commission has <a href="http://www.audit-commission.gov.uk/localgov/audit/inspection/reports/Pages/201004doncastermetropolitanboroughcouncilcorporategovernanceinspection.aspx">published the results of their snap Corporate Governance Inspection</a>, carried out over the first few months of this year. It&#8217;s a frank assessment of the state of <a href="http://en.wikipedia.org/wiki/Metropolitan_Borough_of_Doncaster">Doncaster Metropolitan Borough Council</a>, and it&#8217;s not pretty.</p>
<p><span id="more-89"></span>Following well-publicised failings in the borough&#8217;s Children&#8217;s Services department, a complete lack of improvement in other areas and a history of poor governance &#8211; amongst other things &#8211; the Audit Commission made the decision to begin a Corporate Governance Inspection. This looks at how the Council is run, how the elected members (i.e., the mayor and the councillors) work and how the Council is providing services to the people of Doncaster. <a href="http://www.doncaster.gov.uk/enewsdoc/Doncaster_CGI_final.pdf">The report itself</a> <em>(warning: PDF)</em> runs to around 40 pages, so I won&#8217;t go into detail, but here&#8217;s a summary:-</p>
<ul>
<li>Almost <strong>nobody</strong> escapes blame</li>
<li>The Mayor &#8211; <strong>Peter Davies</strong> &#8211; is criticised, along with his cabinet, for <strong>not providing the leadership required of his office</strong></li>
<li>The <strong>rest of the councillors</strong> are taken to task for seeking to <strong>obstruct the Mayor and his cabinet from implementing their policies</strong></li>
<li>Some <strong>chief officers</strong> (i.e. paid, non-elected, non-political senior staff) are <strong>unable to effectively work together</strong></li>
</ul>
<p>There are a number of themes throughout the report, but the main one is that the Mayor and the remainder of the Council are constantly at loggerheads with each other, with some <strong>senior, long-standing elected members actively putting personal political ambitions before that of the people of Doncaster</strong> &#8211; the very people who elected them.</p>
<p>I&#8217;m personally no fan of Peter Davies &#8211; I don&#8217;t like him and that&#8217;s probably an understatement. Being a left-wing type, I disagree with virtually all of his policies and opinions, but in this case he doesn&#8217;t deserve most of the blame, despite even the report noting that his style and attitude do nothing to help matters. It&#8217;s the actions of a number of the councillors that are the crux of the problem, and the report suggests that although the majority of them are Labour councillors, it&#8217;s by no means limited to them.</p>
<p>So what next? Well, the Audit Commission <a href="http://www.localgov.co.uk/index.cfm?method=news.detail&amp;id=88147">has recommended</a> that John Denham, the Communities Secretary, use the powers given to him by <a href="http://www.opsi.gov.uk/acts/acts1999/ukpga_19990027_en_2#pt1-pb4-l1g15 ">Section 15 of the Local Government Act 1999</a> &#8211; a recommendation that within minutes of the report&#8217;s publication he said he would be taking. This means that he could order the establishment of an &#8216;Improvement Board&#8217; to drive improvements within the council, or put in measures to ensure the mayor and the councillors behave in a proper manner. This sounds a bit toothless, so the best bit is this: <strong>He can suspend some or all of the functions of the Executive and the Council, replacing them with commissioners appointed to carry out the suspended functions</strong>. That means (albeit temporarily) <strong>no mayor, no cabinet, and in theory no councillors</strong>.</p>
<p>Interestingly &#8211; although not surprising &#8211; just <em>22%</em> of people in the recent Place Survey believed they could influence the decisions of Doncaster Metropolitan Borough Council. It&#8217;s obvious that the elected members have lost the faith of the electorate &#8211; if indeed they had it to start with. With the impending General Election, the people of Doncaster will also be voting for a candidate for their council ward, which means that 33% of the Council is up for re-election. In my opinion, to show that they understand how they&#8217;ve utterly failed the people of Doncaster, <strong>they should all step down immediately and let the people make the choices they deserve</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://andys.org.uk/bits/2010/04/20/up-the-proverbial-creek-minus-the-paddle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PXE booting a Debian Squeeze install</title>
		<link>http://andys.org.uk/bits/2010/03/22/pxe-booting-a-debian-squeeze-install/</link>
		<comments>http://andys.org.uk/bits/2010/03/22/pxe-booting-a-debian-squeeze-install/#comments</comments>
		<pubDate>Mon, 22 Mar 2010 12:42:49 +0000</pubDate>
		<dc:creator>Andy Smith</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[pxe]]></category>
		<category><![CDATA[pxeboot]]></category>
		<category><![CDATA[pxelinux]]></category>
		<category><![CDATA[squeeze]]></category>

		<guid isPermaLink="false">http://andys.org.uk/bits/?p=78</guid>
		<description><![CDATA[Update: I&#8217;ve not tested myself, but the comment from Sombunall below points out that package names for the TFTP server and the DHCP server have changed since I wrote this post! It&#8217;s often the case that there&#8217;s no easy way of installing a machine that doesn&#8217;t have any removable media. For instance, I have an [...]]]></description>
			<content:encoded><![CDATA[<p><em><strong>Update</strong>: I&#8217;ve not tested myself, but the <a href="http://andys.org.uk/bits/2010/03/22/pxe-booting-a-debian-squeeze-install/comment-page-1/#comment-7994">comment from Sombunall below</a> points out that package names for the TFTP server and the DHCP server have changed since I wrote this post!</em></p>
<p>It&#8217;s often the case that there&#8217;s no easy way of installing a machine that doesn&#8217;t have any removable media. For instance, I have an old <a href="http://h18000.www1.hp.com/products/quickspecs/10021_div/10021_div.HTML">Compaq Deskpro EN</a> that&#8217;s too old to support booting from USB, so using something like <a href="http://http://unetbootin.sourceforge.net/">UNetbootin</a> is out of the question. Luckily, there&#8217;s an an alternative, which is to <a href="http://en.wikipedia.org/wiki/Preboot_Execution_Environment">PXE</a> boot an installer over the network.</p>
<p><span id="more-78"></span><br />
PXE (or <em>Preboot eXecution Environment</em>) is a means of booting a machine over a network,which conveniently removes any requirement for anything special on the machine that&#8217;s to be installed other than an network card. PXE boot (or <em>network boot</em>) support tends to be available in older machines that don&#8217;t support booting from USB, so it&#8217;s a very useful feature to be able to use.</p>
<p>There&#8217;s a very useful article on <a href="http://www.debian-administration.org/articles/478">Debian Administration</a> that covers configuring a Debian machine to act as a PXE boot server to serve out an <a href="http://wiki.debian.org/DebianEtch">etch</a> installer. I personally run <a href="http://www.debian.org/releases/testing/">squeeze</a>, so I&#8217;ve used the article as a basis for setting up a Debian squeeze machine to serve out a squeeze installer.</p>
<h3>Installing the prerequisites</h3>
<p>To start with, we need a TFTP server and a DHCP server. You might already have one (or both) of these installed already, but for the purposes of this we&#8217;ll assume that you haven&#8217;t. So, to get started, install the tftpd-hpa and dhcp3-server packages:-</p>
<blockquote><p><code>apt-get install tftpd-hpa dhcp3-server</code></p></blockquote>
<h3>Configuring DHCPd</h3>
<p>First, make sure that the tftpboot directory exists. This used to be <code>/var/lib/tftpboot</code>, but Debian now uses <code>/srv/tftpboot</code>. The installer should have created it, but just in case, check it exists and if create it if not.</p>
<p>The next step is to add a subnet declaration to <code>/etc/dhcp3/dhcpd.conf</code> for your network. A simple one will be something like this:-</p>
<blockquote>
<pre>subnet 192.168.51.0 netmask 255.255.255.0 {
       range 192.168.51.64 192.168.51.80;
       <span style="color: #008000;">filename "pxelinux.0";
       next-server 192.168.51.1;</span>
       option routers 192.168.51.1;
}</pre>
</blockquote>
<p>If you&#8217;ve already got DHCPd installed and configured, the two lines highlighted in green are the ones you need to add to your existing subnet declaration. The <code>filename</code> option tells PXE clients which file they need to request via TFTP, and the <code>next-server</code> option tells the clients the TFTP server they should use to get it.</p>
<h3>Creating the PXE boot environment</h3>
<p>Before we pull down any of the installer files, we need to create somewhere for those files to go, along with the PXE boot configuration. So, create the <code>pxelinux.cfg</code> and <code>debian/squeeze/i386</code> directories:-</p>
<blockquote>
<pre>mkdir -pv /srv/tftpboot/pxelinux.cfg
mkdir -pv /srv/tftpboot/debian/squeeze/i386</pre>
</blockquote>
<p>Next, create the config for pxelinux in <code>pxelinux.cfg/default</code>:-</p>
<blockquote>
<pre>DISPLAY boot.txt

DEFAULT squeeze_i386_install

LABEL squeeze_i386_install
     kernel debian/squeeze/i386/linux
     append vga=normal initrd=debian/squeeze/i386/initrd.gz  --
LABEL squeeze_i386_linux
     kernel debian/squeeze/i386/linux
     append vga=normal initrd=debian/squeeze/i386/initrd.gz  --
LABEL squeeze_i386_expert
     kernel debian/squeeze/i386/linux
     append priority=low vga=normal initrd=debian/squeeze/i386/initrd.gz  --
LABEL squeeze_i386_rescue
     kernel debian/squeeze/i386/linux
     append vga=normal initrd=debian/squeeze/i386/initrd.gz  rescue/enable=true --
PROMPT 1
TIMEOUT 0</pre>
</blockquote>
<p>Then, create <code>boot.txt</code> in <code>pxelinux.cfg</code>, which is our boot menu:-</p>
<blockquote>
<pre>- Boot Menu -
=============

squeeze_i386_install
squeeze_i386_linux
squeeze_i386_expert
squeeze_i386_rescue</pre>
</blockquote>
<p>Finally, download the installer parts from the Debian FTP mirror:-</p>
<blockquote>
<pre>cd /srv/tftpboot/
wget <a title="http://ftp.uk.debian.org/debian/dists/squeeze/main/installer-i386/current/images/netboot/debian-installer/i386/pxelinux.0" rel="nofollow" href="http://ftp.uk.debian.org/debian/dists/squeeze/main/installer-i386/current/images/netboot/debian-installer/i386/pxelinux.0">http://ftp.uk.debian.org/debian/dists/squeeze/main/installer-i386/current/images/netboot/debian-installer/i386/pxelinux.0</a>
cd /srv/tftpboot/debian/squeeze/i386
wget <a title="http://ftp.uk.debian.org/debian/dists/squeeze/main/installer-i386/current/images/netboot/debian-installer/i386/linux" rel="nofollow" href="http://ftp.uk.debian.org/debian/dists/squeeze/main/installer-i386/current/images/netboot/debian-installer/i386/linux">http://ftp.uk.debian.org/debian/dists/squeeze/main/installer-i386/current/images/netboot/debian-installer/i386/linux</a>
wget <a title="http://ftp.uk.debian.org/debian/dists/squeeze/main/installer-i386/current/images/netboot/debian-installer/i386/initrd.gz" rel="nofollow" href="http://ftp.uk.debian.org/debian/dists/squeeze/main/installer-i386/current/images/netboot/debian-installer/i386/initrd.gz">http://ftp.uk.debian.org/debian/dists/squeeze/main/installer-i386/current/images/netboot/debian-installer/i386/initrd.gz</a></pre>
</blockquote>
<h3>Final steps</h3>
<p>Make sure that tftpd-hpa and dhcp3-server are running:-</p>
<blockquote><p><code>service tftpd-hpa restart<br />
service dhcp3-server restart</code></p></blockquote>
<p>You should now be able to network boot machines into the Debian squeeze installer.</p>
<p>I&#8217;ve also put this on the <a href="http://andys.org.uk/wiki">Bits Wiki</a> as a <a href="http://andys.org.uk/wiki/Guide:PXE_network_booting_Debian_install">guide</a> &#8211; feel free to have a look and add any notes you feel may be useful!</p>
]]></content:encoded>
			<wfw:commentRss>http://andys.org.uk/bits/2010/03/22/pxe-booting-a-debian-squeeze-install/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Google Streetview in the UK&#8230; updated!</title>
		<link>http://andys.org.uk/bits/2010/03/11/google-streetview-in-the-uk-updated/</link>
		<comments>http://andys.org.uk/bits/2010/03/11/google-streetview-in-the-uk-updated/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 13:28:46 +0000</pubDate>
		<dc:creator>Andy Smith</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[streetview]]></category>

		<guid isPermaLink="false">http://andys.org.uk/bits/?p=72</guid>
		<description><![CDATA[So the little birdies were correct &#8211; Google have just updated Streetview for the UK. They&#8217;ve spent the last year or so photographing the length and breadth of the country, and now it&#8217;s all there to see, including such wonders as this blurry-faced chap:- Yeah, that&#8217;s me, on my way out to work. I&#8217;ll ignore [...]]]></description>
			<content:encoded><![CDATA[<p>So the little birdies were correct &#8211; Google have just updated Streetview for the UK. They&#8217;ve spent the last year or so photographing the length and breadth of the country, and now it&#8217;s all there to see, including such wonders as this blurry-faced chap:-</p>
<p><a href="http://maps.google.co.uk/maps?f=q&#038;source=s_q&#038;hl=en&#038;geocode=&#038;q=dn7+5hd&#038;sll=53.518804,-1.167422&#038;sspn=0.008586,0.01929&#038;ie=UTF8&#038;hq=&#038;hnear=Doncaster+DN7+5HD,+United+Kingdom&#038;ll=53.593766,-1.022694&#038;spn=0.00852,0.01929&#038;z=16&#038;layer=c&#038;cbll=53.593847,-1.022695&#038;panoid=Svai1LMmNEUAsYv4d8IQKg&#038;cbp=12,27.13,,0,18.31"><img class="aligncenter size-full wp-image-73" title="Google_Streetview_Bootham" src="http://andys.org.uk/bits/wp-content/uploads/2010/03/Clipboard01.jpg" alt="" width="631" height="471" /></a></p>
<p>Yeah, that&#8217;s me, on my way out to work. I&#8217;ll ignore any comments about my shirt&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://andys.org.uk/bits/2010/03/11/google-streetview-in-the-uk-updated/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iproute2: Life after ifconfig</title>
		<link>http://andys.org.uk/bits/2010/02/24/iproute2-life-after-ifconfig/</link>
		<comments>http://andys.org.uk/bits/2010/02/24/iproute2-life-after-ifconfig/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 23:57:17 +0000</pubDate>
		<dc:creator>Andy Smith</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[ifconfig]]></category>
		<category><![CDATA[iproute2]]></category>

		<guid isPermaLink="false">http://andys.org.uk/bits/?p=56</guid>
		<description><![CDATA[The standard network tools ifconfig, netstat and route will be familiar to anyone with more than a passing interest in UNIX or any of its derivations. Linux is no exception, and if you hop on to your nearest Linux machine, you&#8217;ll find these installed. However, for the past few years ifconfig and its ilk (often [...]]]></description>
			<content:encoded><![CDATA[<p>The standard network tools <em>ifconfig</em>, <em>netstat </em>and <em>route </em>will be familiar to anyone with more than a passing interest in UNIX or any of its derivations. Linux is no exception, and if you hop on to your nearest Linux machine, you&#8217;ll find these installed. However, for the past few years ifconfig and its ilk (often collectively referred to as <em>net-tools</em>) <a href="http://en.wikipedia.org/wiki/Ifconfig#Current_status">have been deprecated</a> in favour of the <strong>iproute2</strong> suite.</p>
<p><span id="more-56"></span>iproute2 is a suite of tools developed to unify the functions provided by the traditional tools in one place under the <code><strong>ip</strong></code> command. Interface configuration, routing and tunnelling can now all be configured and managed using the ip command.</p>
<h3>Interface configuration</h3>
<p>Historically, interfaces are managed using the <a href="http://en.wikipedia.org/wiki/Ifconfig">ifconfig</a> command, and to get an overview of the interfaces you&#8217;d type <code>ifconfig -a</code>. With iproute2, interfaces addressing is managed through the address subcommand &#8211; which, like the rest of the subcommands for iproute2 can be shortened Cisco IOS-style, as long as it&#8217;s unique. In theory this means you can use <code>ip a</code>, but the manual page refers to it as <code>ip addr</code>, which I&#8217;ll use here for clarity. So, the equivalent of <code>ifconfig -a</code> is the self-explanatory <code>ip addr show</code>, which if we&#8217;re not specifying a specific interface can be shortened to simply <code>ip addr</code>:-</p>
<blockquote>
<pre>[root@example ~]# <strong>ip addr</strong>
1: lo: &lt;LOOPBACK,UP,LOWER_UP&gt; mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: &lt;NO-CARRIER,BROADCAST,MULTICAST,UP&gt; mtu 1500 qdisc
      pfifo_fast state DOWN qlen 1000
    link/ether 00:d0:b7:2d:ce:cf brd ff:ff:ff:ff:ff:ff
    inet 192.0.2.1/24 brd 192.0.2.255 scope global eth0</pre>
</blockquote>
<p>Most of this should be self-explanatory, and everything you would see with <code>ifconfig -a</code> you&#8217;ll see with <code>ip addr</code>.</p>
<p>Bringing up <strong>eth0</strong> on a Linux box would usually consist of doing the following:-</p>
<blockquote>
<pre>[root@example ~]# <strong>ifconfig eth0 up</strong>
[root@example ~]# <strong>ifconfig eth0 192.0.2.1 netmask 255.255.255.0</strong></pre>
</blockquote>
<p>With iproute2, control of interfaces themselves &#8211; both physical and logical &#8211; is through the <strong>link</strong> subcommand. Bringing up eth0 can be done with:-</p>
<pre>
<blockquote>
<pre>[root@example ~]# <strong>ip link set eth0 up</strong></pre>
</blockquote>
</pre>
<p>Managing the addresses on an interface is through the aforementioned addr subcommand, so using our example again, we&#8217;d do something like this to add an IP to eth0:-</p>
<pre>
<blockquote>
<pre>[root@example ~]# <strong>ip addr add 192.0.2.1/24 dev eth0</strong></pre>
</blockquote>
</pre>
<p>I&#8217;ve used CIDR notation in this example, but you can use the normal dotted quad format for the netmask if you wish.</p>
<p>This also makes adding multiple IP addresses to interfaces really easy. To add <strong>192.0.2.2</strong> to our example eth0 interface, you&#8217;d just do:-</p>
<pre>
<pre>
<blockquote>
<pre>[root@example ~]# <strong>ip addr add 192.0.2.2/24 dev eth0</strong></pre>
</blockquote>
</pre>
</pre>
<p>Showing the addresses on our eth0 interface only will show that both the addresses are now there:-</p>
<blockquote>
<pre>[root@example ~]# <strong>ip addr show dev eth0</strong>
2: eth0: &lt;NO-CARRIER,BROADCAST,MULTICAST,UP&gt; mtu 1500 qdisc
      pfifo_fast state DOWN qlen 1000
    link/ether 00:d0:b7:2d:ce:cf brd ff:ff:ff:ff:ff:ff
    inet 192.0.2.1/24 brd 192.0.2.255 scope global eth1
    inet 192.0.2.2/24 scope global secondary eth1</pre>
</blockquote>
<p>Removing an IP from an interface is also straightforward:-</p>
<blockquote>
<pre>[root@example ~#] <strong>ip addr del 192.0.2.2/24 dev eth0</strong></pre>
</blockquote>
<p>Querying the interface again shows that 192.0.2.2 is no longer assigned to eth0:-</p>
<blockquote>
<pre>[root@example ~]# <strong>ip addr show dev eth0</strong>
2: eth0: &lt;NO-CARRIER,BROADCAST,MULTICAST,UP&gt; mtu 1500 qdisc
      pfifo_fast state DOWN qlen 1000
    link/ether 00:d0:b7:2d:ce:cf brd ff:ff:ff:ff:ff:ff
    inet 192.0.2.1/24 brd 192.0.2.255 scope global eth1</pre>
</blockquote>
<h3>Routing</h3>
<p>Using <code>netstat -rn</code> is pretty much burned into the brains of most UNIX engineers, but luckily the iproute2 method is just as snappy. Routing management is handled with the <strong>route</strong> subcommand, and in line with <strong>addr</strong> and <strong>link</strong>, it can be shortened &#8211; <code>ip r</code> will work, but I usually settle for <code>ip ro</code>. The full command for showing the routing table is <code>ip route show</code>, but as with <code>ip addr</code> you can drop the <strong>show</strong> if you want to show the entire routing table:-</p>
<blockquote>
<pre>[root@example ~]# <strong>ip ro</strong>
192.0.2.0/24 dev eth0  proto kernel  scope link  src 192.0.2.1
default via 192.0.2.254 dev eth0</pre>
</blockquote>
<p>Adding and removing routes is accomplished with <code>ip ro add</code> and <code>ip ro del</code> respectively:-</p>
<blockquote>
<pre>[root@example ~]# <strong>ip ro add 10.0.0.0/16 via 192.0.2.253</strong>
[root@example ~]# <strong>ip ro del 10.0.0.0/16 via 192.0.2.253</strong></pre>
</blockquote>
<p>One useful feature of <code>ip route</code> is the <strong>get</strong> function, which we can use to query the routing table for a particular network or address. In our example, querying for an address not on our local network shows that the route to it goes via our default gateway:-</p>
<blockquote>
<pre>[root@example ~]# <strong>ip ro get 1.2.3.4</strong>
1.2.3.4 via 192.0.2.254 dev eth0  src 192.0.2.1
    cache  mtu 1500 advmss 1460 hoplimit 64</pre>
</blockquote>
<h3>Neighbours</h3>
<p><code>arp -na</code> is the traditional way you&#8217;d query the ARP table on a UNIX machine. You can accomplish this with iproute2 using <code>ip neighbor</code> (or <code>ip neighbour</code> for us not from the US), with <code>ip n</code> being the shortened extreme:-</p>
<blockquote>
<pre>[root@example ~]# <strong>ip neigh</strong>
192.0.2.3 dev eth0 lladdr 00:02:a5:1f:cb:2d REACHABLE
192.0.2.254 dev eth0 lladdr 00:09:43:bc:aa:80 REACHABLE</pre>
</blockquote>
<p>I&#8217;ll skip the example for this, but needless to say you can add and remove entries with <code>ip neigh add</code> and <code>ip neigh del</code> respectively.</p>
<h3>A little helping hand</h3>
<p>If you&#8217;re stuck, then the help argument can come in handy. If you specify help as an argument to ip itself, or to one of the subcommands, it&#8217;ll give you a quick overview of the options available. For example, for <strong>ip neighbor</strong>:-</p>
<blockquote>
<pre>[root@example ~]# <strong>ip neigh help</strong>
Usage: ip neigh { add | del | change | replace } { ADDR [ lladdr
          LLADDR ] [ nud { permanent | noarp | stale |
          reachable } ] | proxy ADDR } [ dev DEV ]
       ip neigh {show|flush} [ to PREFIX ] [ dev DEV ] [ nud STATE ]</pre>
</blockquote>
<h3>Not forgetting IPv6&#8230;</h3>
<p>I&#8217;ve purposely neglected to show any configuration of IPv6 addresses in this post, not because iproute2 can&#8217;t handle it, but for the exact opposite reason &#8211; the iproute2 suite will handle IPv6 addresses in exactly the same way as IPv4 addresses. All the commands used above can be used for both IPv4 and IPv6 configuration without any issues.</p>
<p>If there&#8217;s a reason you want to force the behaviour one way or the other, you can use the <code>-4</code> and <code>-6</code> switches. This isn&#8217;t needed normally, because when adding or removing an address, for example, iproute2 will happily recognise an IPv6 address instead of an IPv4 one. Where it does come in useful is if you want to limit the data returned in a query to just IPv6, or just IPv4. A real-world example of this is on one of my Linux machines, where ip -6 ro shows:-</p>
<blockquote>
<pre>[root@daedalus ~]# <strong>ip -6 ro</strong>
2001:470:XXXX:1::/64 dev eth0  proto kernel  metric 256  mtu 1500
  advmss 1440 hoplimit 0
fe80::/64 dev eth0  proto kernel  metric 256  mtu 1500 advmss 1440
  hoplimit 0
default via 2001:470:XXXX:1::1 dev eth0  metric 1  mtu 1500 advmss
  1440 hoplimit 0</pre>
</blockquote>
<p>&#8230;which comes in handy if you&#8217;re only interested in the IPv6 routing table.</p>
<h3>What next?</h3>
<p>This post only really scratches the surface of iproute2 &#8211; I&#8217;ve just covered the iproute2 equivalents of the most-used commands. It&#8217;s capable of much, much more, such as <a href="http://www.deepspace6.net/docs/iproute2tunnel-en.html">setting up tunnels</a>, managing <a href="http://linux-ip.net/html/routing-tables.html">multiple routing tables</a> and configuring interfaces for multicast to name a few. I&#8217;ll be covering some of these in more depth in future posts.</p>
<h3>Further reading</h3>
<ul>
<li>The <a href="http://lartc.org/howto/">Linux Advanced Routing &amp; Traffic Control HOWTO</a>, which is probably <em>the</em> definitive guide when it comes to iproute2</li>
<li><a href="http://en.wikipedia.org/wiki/Iproute2">iproute2 on Wikipedia</a></li>
<li>The Linux Foundation&#8217;s <a href="http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2">iproute2 page</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://andys.org.uk/bits/2010/02/24/iproute2-life-after-ifconfig/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

