<?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>LPE</title>
	<atom:link href="http://mute.nu/feed/" rel="self" type="application/rss+xml" />
	<link>http://mute.nu</link>
	<description>Random ramblings about things related to the digital world</description>
	<lastBuildDate>Fri, 13 Jan 2012 07:11:38 +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 deep dive in to /var/log/lastlog</title>
		<link>http://mute.nu/2012/a-deep-dive-in-to-varloglastlog/</link>
		<comments>http://mute.nu/2012/a-deep-dive-in-to-varloglastlog/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 20:33:55 +0000</pubDate>
		<dc:creator>lpe</dc:creator>
				<category><![CDATA[-]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[lastlog]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[source]]></category>

		<guid isPermaLink="false">http://mute.nu/?p=316</guid>
		<description><![CDATA[A few days ago we had a very peculiar situation at work regarding the file size of /var/log/lastlog and I decided to find out why. This was the initial output that made me very confused: [root@dev ~]# du -sh /var/log/lastlog 52K /var/log/lastlog [root@dev ~]# ls -alh /var/log/lastlog -rw-r--r-- 1 root root 85G Jan 11 14:52 [...]]]></description>
			<content:encoded><![CDATA[<p>A few days ago we had a very peculiar situation at work regarding the file size of /var/log/lastlog and I decided to find out why.</p>
<p>This was the initial output that made me very confused:</p>
<p><code><br />
[root@dev ~]# du -sh /var/log/lastlog<br />
52K     /var/log/lastlog<br />
[root@dev ~]# ls -alh /var/log/lastlog<br />
-rw-r--r-- 1 root root 85G Jan 11 14:52 /var/log/lastlog<br />
</code></p>
<p>As you can see, the file size clearly differs depending on what command I use, I also ran &#8216;df&#8217; and since it reported that my partition was not bigger then 30G&#8217;s in size, and not even half of it was used, I understood that it wasn&#8217;t really a problem, but just something I hadn&#8217;t came across earlier.</p>
<p>After the regular minutes on Google and IRC, I quickly understood that it was a sparse file, and for those of you that aren&#8217;t familiar with sparse files, this is Wikipedias explanation which I found very fitting.</p>
<p><em>&#8220;In computer science, a sparse file is a type of computer file that attempts to use file system space more efficiently when blocks allocated to the file are mostly empty. This is achieved by writing brief information (metadata) representing the empty blocks to disk instead of the actual &#8220;empty&#8221; space which makes up the block, using less disk space. The full block size is written to disk as the actual size only when the block contains &#8220;real&#8221; (non-empty) data.&#8221;</em></p>
<p>After understanding this, my heart rate dropped back to normal, but I still wanted to find out <strong>why</strong> it was showing me such a size as 85GB, which is millions times more then just 52K.</p>
<p>After consulting with <a href="http://7bits.nl/blog/" title="Peter van Dijk" target="_blank">Peter van Dijk</a>, who tends to have the answer to everything, I managed to understand why, and here it is.</p>
<p>This is a snippet from the lastlog source code (lastlog.c) which I hope is pretty self explanatory.</p>
<p><code><br />
        /*<br />
         * Read the right structure.<br />
         */<br />
        fseek(fp, pwd->pw_uid * sizeof(struct lastlog), 0);<br />
        fread(&#038;ll, sizeof(struct lastlog), 1, fp);<br />
</code></p>
<p>This means that the program takes the uid (type &#8216;id&#8217; to find out) of your user, which in my case (connected to Active Directory through LikeWise Open) was 311428236, and multiply that with 292 bytes which is the size of the lastlog structure, and from there adds another 292 bytes, and there&#8217;s your final file size.</p>
<p>In short:</p>
<p>311428236*292+292 = 90937045204<br />
And output from ls without -h (human readable out) is &#8230; you guessed it.<br />
-rw-r&#8211;r&#8211; 1 root root 90937045204 Jan 11 17:00 lastlog</p>
<p>I hope this shed some light on why you suddenly find a huge file on your system and you don&#8217;t know why.<br />
After reading up on this I&#8217;ve managed to realize that specifically lastlog is always a sparse file, they even mention it in the man page.</p>
<p><em>&#8220;NOTE<br />
       The lastlog file is a database which contains info on the last login of each user. You should not rotate it. It is a sparse file, so its size on the disk<br />
       is usually much smaller than the one shown by &#8220;ls -l&#8221; (which can indicate a really big file if you have in passwd users with a high UID). You can display<br />
       its real size with &#8220;ls -s&#8221;.&#8221;<br />
</em><br />
Good luck.</p>


	<a rel='nofollow'  href='http://www.facebook.com/share.php?u=http%3A%2F%2Fmute.nu%2F2012%2Fa-deep-dive-in-to-varloglastlog%2F&amp;t=A%20deep%20dive%20in%20to%20%2Fvar%2Flog%2Flastlog' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/facebook.png' title='Facebook' alt='Facebook' class='' /></a>
	<a rel='nofollow'  href='http://twitter.com/home?status=A%20deep%20dive%20in%20to%20%2Fvar%2Flog%2Flastlog%20-%20http%3A%2F%2Fmute.nu%2F2012%2Fa-deep-dive-in-to-varloglastlog%2F' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/twitter.png' title='Twitter' alt='Twitter' class='' /></a>
	<a rel='nofollow'  href='http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fmute.nu%2F2012%2Fa-deep-dive-in-to-varloglastlog%2F&amp;title=A%20deep%20dive%20in%20to%20%2Fvar%2Flog%2Flastlog&amp;bodytext=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/digg.png' title='Digg' alt='Digg' class='' /></a>
	<a rel='nofollow'  href='http://delicious.com/post?url=http%3A%2F%2Fmute.nu%2F2012%2Fa-deep-dive-in-to-varloglastlog%2F&amp;title=A%20deep%20dive%20in%20to%20%2Fvar%2Flog%2Flastlog&amp;notes=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/delicious.png' title='del.icio.us' alt='del.icio.us' class='' /></a>
	<a rel='nofollow'  href='http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fmute.nu%2F2012%2Fa-deep-dive-in-to-varloglastlog%2F&amp;title=A%20deep%20dive%20in%20to%20%2Fvar%2Flog%2Flastlog&amp;source=LPE+Random+ramblings+about+things+related+to+the+digital+world&amp;summary=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/linkedin.png' title='LinkedIn' alt='LinkedIn' class='' /></a>
	<a rel='nofollow'  href='http://mute.nu/feed/' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/rss.png' title='RSS' alt='RSS' class='' /></a>
	<a rel='nofollow'  href='http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmute.nu%2F2012%2Fa-deep-dive-in-to-varloglastlog%2F&amp;title=A%20deep%20dive%20in%20to%20%2Fvar%2Flog%2Flastlog' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/stumbleupon.png' title='StumbleUpon' alt='StumbleUpon' class='' /></a>
	<a rel='nofollow'  href='http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fmute.nu%2F2012%2Fa-deep-dive-in-to-varloglastlog%2F&amp;title=A%20deep%20dive%20in%20to%20%2Fvar%2Flog%2Flastlog&amp;annotation=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/googlebookmark.png' title='Google Bookmarks' alt='Google Bookmarks' class='' /></a>
	<a rel='nofollow'  href='http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Fmute.nu%2F2012%2Fa-deep-dive-in-to-varloglastlog%2F&amp;submitHeadline=A%20deep%20dive%20in%20to%20%2Fvar%2Flog%2Flastlog&amp;submitSummary=&amp;submitCategory=science&amp;submitAssetType=text' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/yahoobuzz.png' title='Yahoo! Buzz' alt='Yahoo! Buzz' class='' /></a>
	<a rel='nofollow'  href='mailto:?subject=A%20deep%20dive%20in%20to%20%2Fvar%2Flog%2Flastlog&amp;body=http%3A%2F%2Fmute.nu%2F2012%2Fa-deep-dive-in-to-varloglastlog%2F' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/email_link.png' title='email' alt='email' class='' /></a>
	<a rel='nofollow'  href='http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fmute.nu%2F2012%2Fa-deep-dive-in-to-varloglastlog%2F&amp;t=A%20deep%20dive%20in%20to%20%2Fvar%2Flog%2Flastlog' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/myspace.png' title='MySpace' alt='MySpace' class='' /></a>
	<a rel='nofollow'  href='http://www.printfriendly.com/print?url=http%3A%2F%2Fmute.nu%2F2012%2Fa-deep-dive-in-to-varloglastlog%2F&amp;partner=sociable' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/pdf.png' title='PDF' alt='PDF' class='' /></a>
	<a rel='nofollow'  href='http://www.printfriendly.com/print?url=http%3A%2F%2Fmute.nu%2F2012%2Fa-deep-dive-in-to-varloglastlog%2F&amp;partner=sociable' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/printfriendly.png' title='Print' alt='Print' class='' /></a>
	<a rel='nofollow'  href='http://reddit.com/submit?url=http%3A%2F%2Fmute.nu%2F2012%2Fa-deep-dive-in-to-varloglastlog%2F&amp;title=A%20deep%20dive%20in%20to%20%2Fvar%2Flog%2Flastlog' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/reddit.png' title='Reddit' alt='Reddit' class='' /></a>
	<a rel='nofollow'  href='http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fmute.nu%2F2012%2Fa-deep-dive-in-to-varloglastlog%2F&amp;t=A%20deep%20dive%20in%20to%20%2Fvar%2Flog%2Flastlog&amp;s=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/tumblr.png' title='Tumblr' alt='Tumblr' class='' /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://mute.nu/2012/a-deep-dive-in-to-varloglastlog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DNS zone transfer scripts for PowerDNS to BIND</title>
		<link>http://mute.nu/2011/dns-zone-transfer-scripts-for-powerdns-to-bind/</link>
		<comments>http://mute.nu/2011/dns-zone-transfer-scripts-for-powerdns-to-bind/#comments</comments>
		<pubDate>Fri, 28 Oct 2011 07:16:55 +0000</pubDate>
		<dc:creator>lpe</dc:creator>
				<category><![CDATA[-]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[bind]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[pdns]]></category>
		<category><![CDATA[powerdns]]></category>

		<guid isPermaLink="false">http://mute.nu/?p=310</guid>
		<description><![CDATA[Our current setup is an internal PDNS server with the MySQL back-end and three BIND slaves scattered across the country, and this is how we transfer zones from the master to the slaves. On the master &#160; &#60;?php ob_start&#40;&#41;; if&#40;!isset&#40;$_SERVER&#91;'PHP_AUTH_USER'&#93;&#41; &#124;&#124; $_SERVER&#91;'PHP_AUTH_USER'&#93; !== '%CLIENTUSER%' &#124;&#124; $_SERVER&#91;'PHP_AUTH_PW'&#93; !== '%CLIENTPASSWD%'&#41; die&#40;&#41;; &#160; if&#40;!isset&#40;$_REQUEST&#91;'hostname'&#93;&#41; &#124;&#124; empty&#40;$_REQUEST&#91;'hostname'&#93;&#41;&#41; die&#40;&#41;; &#160; [...]]]></description>
			<content:encoded><![CDATA[<p>Our current setup is an internal PDNS server with the MySQL back-end and three BIND slaves scattered across the country, and this is how we transfer zones from the master to the slaves.</p>
<p>On the master</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="php"><pre class="de1">&nbsp;
<span class="kw2">&lt;?php</span>
<span class="kw3">ob_start</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="kw1">if</span><span class="br0">&#40;</span><span class="sy0">!</span><span class="kw3">isset</span><span class="br0">&#40;</span><span class="re0">$_SERVER</span><span class="br0">&#91;</span><span class="st_h">'PHP_AUTH_USER'</span><span class="br0">&#93;</span><span class="br0">&#41;</span>
        <span class="sy0">||</span> <span class="re0">$_SERVER</span><span class="br0">&#91;</span><span class="st_h">'PHP_AUTH_USER'</span><span class="br0">&#93;</span> <span class="sy0">!==</span> <span class="st_h">'%CLIENTUSER%'</span>
        <span class="sy0">||</span> <span class="re0">$_SERVER</span><span class="br0">&#91;</span><span class="st_h">'PHP_AUTH_PW'</span><span class="br0">&#93;</span> <span class="sy0">!==</span> <span class="st_h">'%CLIENTPASSWD%'</span><span class="br0">&#41;</span> <span class="kw3">die</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
<span class="kw1">if</span><span class="br0">&#40;</span><span class="sy0">!</span><span class="kw3">isset</span><span class="br0">&#40;</span><span class="re0">$_REQUEST</span><span class="br0">&#91;</span><span class="st_h">'hostname'</span><span class="br0">&#93;</span><span class="br0">&#41;</span>
        <span class="sy0">||</span> <span class="kw3">empty</span><span class="br0">&#40;</span><span class="re0">$_REQUEST</span><span class="br0">&#91;</span><span class="st_h">'hostname'</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="kw3">die</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
<span class="re0">$configTarget</span> <span class="sy0">=</span> <span class="re0">$_REQUEST</span><span class="br0">&#91;</span><span class="st_h">'hostname'</span><span class="br0">&#93;</span><span class="sy0">;</span>
&nbsp;
<span class="re0">$masters_default</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="st_h">'master.company.com'</span> <span class="sy0">=&gt;</span> <span class="st_h">'XXX.XXX.XXX.XXX'</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
<span class="re0">$internal_ns</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span>
        <span class="st_h">'ns1.company.com'</span> <span class="sy0">=&gt;</span> <span class="st_h">'XXX.XXX.XXX.XXX'</span><span class="sy0">,</span>
        <span class="st_h">'ns2.company.com'</span> <span class="sy0">=&gt;</span> <span class="st_h">'XXX.XXX.XXX.XXX'</span><span class="sy0">,</span>
        <span class="st_h">'ns3.company.com'</span> <span class="sy0">=&gt;</span> <span class="st_h">'XXX.XXX.XXX.XXX'</span><span class="sy0">,</span>
<span class="br0">&#41;</span><span class="sy0">;</span>
<span class="re0">$external_ns</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span>
        <span class="st_h">'external.othercompany.com'</span> <span class="sy0">=&gt;</span> <span class="st_h">'XXX.XXX.XXX.XXX'</span><span class="sy0">,</span>
<span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
<span class="re0">$mysql</span> <span class="sy0">=</span> <span class="kw2">new</span> mysqli<span class="br0">&#40;</span><span class="st_h">'%DBHOST%'</span><span class="sy0">,</span><span class="st_h">'%DBUSER%'</span><span class="sy0">,</span><span class="st_h">'%DBPASSWD%'</span><span class="sy0">,</span><span class="st_h">'%DBNAME%'</span><span class="sy0">,%</span>DBPORT<span class="sy0">%</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$mysql</span><span class="sy0">-&gt;</span><span class="me1">connect_error</span><span class="br0">&#41;</span> <span class="kw3">die</span><span class="br0">&#40;</span><span class="re0">$mysql</span><span class="sy0">-&gt;</span><span class="me1">connect_error</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
<span class="re0">$sql</span> <span class="sy0">=</span> <span class="st_h">'SELECT DISTINCT d.name,d.account,GROUP_CONCAT(r.content SEPARATOR \';\') AS ns'</span>
        <span class="sy0">.</span> <span class="st_h">' FROM domains AS d'</span>
        <span class="sy0">.</span> <span class="st_h">' RIGHT JOIN records AS r ON d.id=r.domain_id'</span>
        <span class="sy0">.</span> <span class="st_h">' WHERE r.name=d.name AND r.type=\'NS\''</span>
        <span class="sy0">.</span> <span class="st_h">'GROUP BY d.id'</span><span class="sy0">;</span>
<span class="re0">$result</span> <span class="sy0">=</span> <span class="re0">$mysql</span><span class="sy0">-&gt;</span><span class="me1">query</span><span class="br0">&#40;</span><span class="re0">$sql</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
<span class="coMULTI">/*
 * Internal named.conf
 */</span>
<span class="re0">$result</span><span class="sy0">-&gt;</span><span class="me1">data_seek</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="kw1">while</span><span class="br0">&#40;</span><span class="re0">$domain</span> <span class="sy0">=</span> <span class="re0">$result</span><span class="sy0">-&gt;</span><span class="me1">fetch_object</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
        <span class="re0">$ns</span> <span class="sy0">=</span> <span class="kw3">split</span><span class="br0">&#40;</span><span class="st_h">';'</span><span class="sy0">,</span> <span class="re0">$domain</span><span class="sy0">-&gt;</span><span class="me1">ns</span><span class="br0">&#41;</span><span class="sy0">;</span>
        <span class="kw3">printf</span><span class="br0">&#40;</span><span class="st0">&quot;# Domain: <span class="es6">%s</span><span class="es1">\n</span>&quot;</span><span class="sy0">,</span> <span class="re0">$domain</span><span class="sy0">-&gt;</span><span class="me1">name</span><span class="br0">&#41;</span><span class="sy0">;</span>
        <span class="co1">//printf(&quot;# Account: %s\n&quot;, empty($domain-&gt;account) ? 'n/a' : $domain-&gt;account);</span>
        <span class="kw1">if</span><span class="br0">&#40;</span><span class="sy0">!</span><span class="kw3">in_array</span><span class="br0">&#40;</span><span class="re0">$configTarget</span><span class="sy0">,</span> <span class="re0">$ns</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
                <span class="kw3">printf</span><span class="br0">&#40;</span><span class="st0">&quot;# WARNING: <span class="es6">%s</span> not in <span class="es6">%s</span><span class="es1">\n</span>&quot;</span><span class="sy0">,</span> <span class="re0">$configTarget</span><span class="sy0">,</span> <span class="re0">$domain</span><span class="sy0">-&gt;</span><span class="me1">name</span><span class="br0">&#41;</span><span class="sy0">;</span>
        <span class="br0">&#125;</span>
        <span class="re0">$masters</span> <span class="sy0">=</span> <span class="re0">$masters_default</span><span class="sy0">;</span>
        <span class="re0">$allow_transfer</span> <span class="sy0">=</span> <span class="re0">$internal_ns</span><span class="sy0">;</span>
        <span class="kw3">unset</span><span class="br0">&#40;</span><span class="re0">$allow_transfer</span><span class="br0">&#91;</span><span class="re0">$configTarget</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span>
        <span class="kw1">foreach</span><span class="br0">&#40;</span><span class="re0">$external_ns</span> <span class="kw1">as</span> <span class="re0">$exthost</span> <span class="sy0">=&gt;</span> <span class="re0">$extip</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
                <span class="kw1">if</span><span class="br0">&#40;</span><span class="kw3">in_array</span><span class="br0">&#40;</span><span class="re0">$exthost</span><span class="sy0">,</span> <span class="re0">$ns</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
                        <span class="re0">$allow_transfer</span><span class="br0">&#91;</span><span class="re0">$exthost</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re0">$extip</span><span class="sy0">;</span>
                <span class="br0">&#125;</span>
        <span class="br0">&#125;</span>
&nbsp;
        <span class="kw3">printf</span><span class="br0">&#40;</span><span class="st0">&quot;zone <span class="es1">\&quot;</span><span class="es6">%s</span><span class="es1">\&quot;</span> {<span class="es1">\n</span>&quot;</span><span class="sy0">,</span> <span class="re0">$domain</span><span class="sy0">-&gt;</span><span class="me1">name</span><span class="br0">&#41;</span><span class="sy0">;</span>
        <span class="kw3">printf</span><span class="br0">&#40;</span><span class="st0">&quot;<span class="es1">\t</span>type slave;<span class="es1">\n</span>&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span>
        <span class="kw3">printf</span><span class="br0">&#40;</span><span class="st0">&quot;<span class="es1">\t</span>file <span class="es1">\&quot;</span>slaves/<span class="es6">%s</span><span class="es1">\&quot;</span>;<span class="es1">\n</span>&quot;</span><span class="sy0">,</span> <span class="kw3">str_replace</span><span class="br0">&#40;</span><span class="st_h">'/'</span><span class="sy0">,</span> <span class="st_h">'_'</span><span class="sy0">,</span> <span class="re0">$domain</span><span class="sy0">-&gt;</span><span class="me1">name</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>
        <span class="kw3">printf</span><span class="br0">&#40;</span><span class="st0">&quot;<span class="es1">\t</span>notify no;<span class="es1">\n</span>&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span>
        <span class="kw3">printf</span><span class="br0">&#40;</span><span class="st0">&quot;<span class="es1">\t</span>masters { <span class="es6">%s</span>; };<span class="es1">\n</span>&quot;</span><span class="sy0">,</span> <span class="kw3">implode</span><span class="br0">&#40;</span><span class="st_h">'; '</span><span class="sy0">,</span> <span class="re0">$masters</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>
        <span class="kw3">printf</span><span class="br0">&#40;</span><span class="st0">&quot;<span class="es1">\t</span>allow-transfer { <span class="es6">%s</span>; };<span class="es1">\n</span>&quot;</span><span class="sy0">,</span> <span class="kw3">implode</span><span class="br0">&#40;</span><span class="st_h">'; '</span><span class="sy0">,</span> <span class="re0">$allow_transfer</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>
        <span class="kw3">printf</span><span class="br0">&#40;</span><span class="st0">&quot;<span class="es1">\t</span>allow-notify { <span class="es6">%s</span>; };<span class="es1">\n</span>&quot;</span><span class="sy0">,</span> <span class="kw3">implode</span><span class="br0">&#40;</span><span class="st_h">'; '</span><span class="sy0">,</span> <span class="re0">$allow_transfer</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>
        <span class="kw3">printf</span><span class="br0">&#40;</span><span class="st0">&quot;};<span class="es1">\n</span>&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="br0">&#125;</span>
&nbsp;
<span class="re0">$output</span> <span class="sy0">=</span> <span class="kw3">ob_get_contents</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="kw3">ob_end_clean</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="kw3">printf</span><span class="br0">&#40;</span><span class="st0">&quot;# <span class="es6">%s</span> <span class="es6">%s</span><span class="es1">\n</span><span class="es6">%s</span>&quot;</span><span class="sy0">,</span>
        <span class="kw3">sha1</span><span class="br0">&#40;</span><span class="re0">$output</span><span class="br0">&#41;</span><span class="sy0">,</span>
        <span class="kw3">date</span><span class="br0">&#40;</span><span class="st_h">'Y-m-d H:i:s'</span><span class="br0">&#41;</span><span class="sy0">,</span>
        <span class="re0">$output</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="sy1">?&gt;</span></pre></div></div></div></div></div></div></div>


<p>On the slaves</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1"><span class="co0">#!/bin/bash</span>
<span class="re2">ts</span>=<span class="sy0">`</span><span class="kw2">date</span> +<span class="sy0">%</span>s<span class="sy0">`</span>
<span class="re2">hostname</span>=<span class="sy0">`</span><span class="kw2">hostname</span><span class="sy0">`</span>
<span class="re2">url</span>=<span class="st0">&quot;https://%CLIENTUSER%:%CLIENTPASSWD%@master.company.com/getconfig.php?hostname=<span class="es3">${hostname}</span>&quot;</span>
&nbsp;
<span class="re2">tmpfile</span>=<span class="sy0">`</span><span class="kw2">mktemp</span> <span class="sy0">/</span>tmp<span class="sy0">/</span>download.XXXX<span class="sy0">`</span>
<span class="re2">newconf</span>=<span class="sy0">`</span><span class="kw2">mktemp</span> <span class="sy0">/</span>tmp<span class="sy0">/</span><span class="co1">${hostname}</span>.named.conf.XXXX<span class="sy0">`</span>
<span class="re2">sysconf</span>=<span class="st0">&quot;/etc/named/master-zones.conf&quot;</span>
&nbsp;
curl <span class="re5">--cacert</span> <span class="sy0">/</span>etc<span class="sy0">/</span>pki<span class="sy0">/</span>tls<span class="sy0">/</span>certs<span class="sy0">/</span>master.crt  <span class="re5">-s</span> <span class="st0">&quot;<span class="es3">${url}</span>&quot;</span> <span class="sy0">&gt;</span> <span class="st0">&quot;<span class="es3">${tmpfile}</span>&quot;</span>
<span class="kw1">if</span> <span class="br0">&#91;</span><span class="br0">&#91;</span> <span class="st0">&quot;$?&quot;</span> <span class="sy0">!</span>= <span class="st0">&quot;0&quot;</span> <span class="br0">&#93;</span><span class="br0">&#93;</span>; <span class="kw1">then</span>
  <span class="kw3">echo</span> <span class="st0">&quot;download failed&quot;</span>
  <span class="kw2">rm</span> <span class="re5">-f</span> <span class="st0">&quot;<span class="es3">${tmpfile}</span>&quot;</span> <span class="st0">&quot;<span class="es3">${newconf}</span>&quot;</span>
  <span class="kw3">exit</span> <span class="nu0">1</span>
<span class="kw1">fi</span>
<span class="kw2">tail</span> -n+<span class="nu0">2</span> <span class="st0">&quot;<span class="es3">${tmpfile}</span>&quot;</span> <span class="sy0">&gt;</span> <span class="st0">&quot;<span class="es3">${newconf}</span>&quot;</span>
&nbsp;
<span class="re2">hash1</span>=<span class="sy0">`</span><span class="kw2">head</span> <span class="re5">-n1</span> <span class="co1">${tmpfile}</span> <span class="sy0">|</span> <span class="kw2">cut</span> <span class="re5">-d</span><span class="st_h">' '</span> -f2<span class="sy0">`</span>
<span class="re2">hash2</span>=<span class="sy0">`</span>sha1sum <span class="co1">${newconf}</span> <span class="sy0">|</span> <span class="kw2">cut</span> <span class="re5">-d</span><span class="st_h">' '</span> -f1<span class="sy0">`</span>
&nbsp;
<span class="kw1">if</span> <span class="br0">&#91;</span><span class="br0">&#91;</span> <span class="st0">&quot;<span class="es3">${hash1}</span>&quot;</span> == <span class="st0">&quot;<span class="es3">${hash2}</span>&quot;</span> <span class="br0">&#93;</span><span class="br0">&#93;</span>; <span class="kw1">then</span>
  <span class="kw2">cmp</span> <span class="re5">-s</span> <span class="co1">${sysconf}</span> <span class="co1">${newconf}</span>
  <span class="kw1">if</span> <span class="br0">&#91;</span><span class="br0">&#91;</span> <span class="st0">&quot;$?&quot;</span> <span class="sy0">!</span>= <span class="st0">&quot;0&quot;</span> <span class="br0">&#93;</span><span class="br0">&#93;</span>; <span class="kw1">then</span>
    <span class="kw2">mv</span> <span class="st0">&quot;<span class="es3">${sysconf}</span>&quot;</span> <span class="st0">&quot;<span class="es3">${sysconf}</span>-<span class="es3">${ts}</span>&quot;</span>
    <span class="kw2">install</span> <span class="re5">-m640</span> <span class="re5">-o</span> root <span class="re5">-g</span> named <span class="st0">&quot;<span class="es3">${newconf}</span>&quot;</span> <span class="st0">&quot;<span class="es3">${sysconf}</span>&quot;</span>
&nbsp;
    named-checkconf <span class="st0">&quot;<span class="es3">${sysconf}</span>&quot;</span>
    <span class="kw1">if</span> <span class="br0">&#91;</span><span class="br0">&#91;</span> <span class="st0">&quot;$?&quot;</span> == <span class="st0">&quot;0&quot;</span> <span class="br0">&#93;</span><span class="br0">&#93;</span>; <span class="kw1">then</span>
      rndc reload
      <span class="kw2">diff</span> <span class="re5">-u</span> <span class="st0">&quot;<span class="es3">${sysconf}</span>-<span class="es3">${ts}</span>&quot;</span> <span class="st0">&quot;<span class="es3">${sysconf}</span>&quot;</span>
    <span class="kw1">else</span>
      <span class="kw3">echo</span> <span class="st0">&quot;named-checkconf failed, aborting update&quot;</span>
      <span class="kw2">mv</span> <span class="st0">&quot;<span class="es3">${sysconf}</span>-<span class="es3">${ts}</span>&quot;</span> <span class="st0">&quot;<span class="es3">${sysconf}</span>&quot;</span>
    <span class="kw1">fi</span>
  <span class="kw1">fi</span>
<span class="kw1">else</span>
  <span class="kw3">echo</span> <span class="st0">&quot;HASH FAIL. aborted.&quot;</span>
  <span class="kw3">echo</span> <span class="st0">&quot;hash1 <span class="es2">$hash1</span>&quot;</span>
  <span class="kw3">echo</span> <span class="st0">&quot;hash2 <span class="es2">$hash2</span>&quot;</span>
<span class="kw1">fi</span>
<span class="kw2">rm</span> <span class="re5">-f</span> <span class="st0">&quot;<span class="es3">${tmpfile}</span>&quot;</span> <span class="st0">&quot;<span class="es3">${newconf}</span>&quot;</span></pre></div></div></div></div></div></div></div>


<p>Include the config file on the slaves, put this in /etc/named.conf</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1">include <span class="st0">&quot;/etc/named/master-zones.conf&quot;</span>;</pre></div></div></div></div></div></div></div>




<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1"><span class="re2">MAILTO</span>=logwatch<span class="sy0">@</span>company.com
<span class="sy0">*/</span><span class="nu0">5</span> <span class="sy0">*</span> <span class="sy0">*</span> <span class="sy0">*</span> <span class="sy0">*</span> root <span class="sy0">/</span>usr<span class="sy0">/</span>local<span class="sy0">/</span>system_scripts<span class="sy0">/</span>update-zones.sh</pre></div></div></div></div></div></div></div>


<p>Hopefully it&#8217;s pretty self-explanatory, if not, leave a comment or drop a mail.</p>


	<a rel='nofollow'  href='http://www.facebook.com/share.php?u=http%3A%2F%2Fmute.nu%2F2011%2Fdns-zone-transfer-scripts-for-powerdns-to-bind%2F&amp;t=DNS%20zone%20transfer%20scripts%20for%20PowerDNS%20to%20BIND' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/facebook.png' title='Facebook' alt='Facebook' class='' /></a>
	<a rel='nofollow'  href='http://twitter.com/home?status=DNS%20zone%20transfer%20scripts%20for%20PowerDNS%20to%20BIND%20-%20http%3A%2F%2Fmute.nu%2F2011%2Fdns-zone-transfer-scripts-for-powerdns-to-bind%2F' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/twitter.png' title='Twitter' alt='Twitter' class='' /></a>
	<a rel='nofollow'  href='http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fmute.nu%2F2011%2Fdns-zone-transfer-scripts-for-powerdns-to-bind%2F&amp;title=DNS%20zone%20transfer%20scripts%20for%20PowerDNS%20to%20BIND&amp;bodytext=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/digg.png' title='Digg' alt='Digg' class='' /></a>
	<a rel='nofollow'  href='http://delicious.com/post?url=http%3A%2F%2Fmute.nu%2F2011%2Fdns-zone-transfer-scripts-for-powerdns-to-bind%2F&amp;title=DNS%20zone%20transfer%20scripts%20for%20PowerDNS%20to%20BIND&amp;notes=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/delicious.png' title='del.icio.us' alt='del.icio.us' class='' /></a>
	<a rel='nofollow'  href='http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fmute.nu%2F2011%2Fdns-zone-transfer-scripts-for-powerdns-to-bind%2F&amp;title=DNS%20zone%20transfer%20scripts%20for%20PowerDNS%20to%20BIND&amp;source=LPE+Random+ramblings+about+things+related+to+the+digital+world&amp;summary=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/linkedin.png' title='LinkedIn' alt='LinkedIn' class='' /></a>
	<a rel='nofollow'  href='http://mute.nu/feed/' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/rss.png' title='RSS' alt='RSS' class='' /></a>
	<a rel='nofollow'  href='http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmute.nu%2F2011%2Fdns-zone-transfer-scripts-for-powerdns-to-bind%2F&amp;title=DNS%20zone%20transfer%20scripts%20for%20PowerDNS%20to%20BIND' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/stumbleupon.png' title='StumbleUpon' alt='StumbleUpon' class='' /></a>
	<a rel='nofollow'  href='http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fmute.nu%2F2011%2Fdns-zone-transfer-scripts-for-powerdns-to-bind%2F&amp;title=DNS%20zone%20transfer%20scripts%20for%20PowerDNS%20to%20BIND&amp;annotation=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/googlebookmark.png' title='Google Bookmarks' alt='Google Bookmarks' class='' /></a>
	<a rel='nofollow'  href='http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Fmute.nu%2F2011%2Fdns-zone-transfer-scripts-for-powerdns-to-bind%2F&amp;submitHeadline=DNS%20zone%20transfer%20scripts%20for%20PowerDNS%20to%20BIND&amp;submitSummary=&amp;submitCategory=science&amp;submitAssetType=text' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/yahoobuzz.png' title='Yahoo! Buzz' alt='Yahoo! Buzz' class='' /></a>
	<a rel='nofollow'  href='mailto:?subject=DNS%20zone%20transfer%20scripts%20for%20PowerDNS%20to%20BIND&amp;body=http%3A%2F%2Fmute.nu%2F2011%2Fdns-zone-transfer-scripts-for-powerdns-to-bind%2F' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/email_link.png' title='email' alt='email' class='' /></a>
	<a rel='nofollow'  href='http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fmute.nu%2F2011%2Fdns-zone-transfer-scripts-for-powerdns-to-bind%2F&amp;t=DNS%20zone%20transfer%20scripts%20for%20PowerDNS%20to%20BIND' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/myspace.png' title='MySpace' alt='MySpace' class='' /></a>
	<a rel='nofollow'  href='http://www.printfriendly.com/print?url=http%3A%2F%2Fmute.nu%2F2011%2Fdns-zone-transfer-scripts-for-powerdns-to-bind%2F&amp;partner=sociable' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/pdf.png' title='PDF' alt='PDF' class='' /></a>
	<a rel='nofollow'  href='http://www.printfriendly.com/print?url=http%3A%2F%2Fmute.nu%2F2011%2Fdns-zone-transfer-scripts-for-powerdns-to-bind%2F&amp;partner=sociable' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/printfriendly.png' title='Print' alt='Print' class='' /></a>
	<a rel='nofollow'  href='http://reddit.com/submit?url=http%3A%2F%2Fmute.nu%2F2011%2Fdns-zone-transfer-scripts-for-powerdns-to-bind%2F&amp;title=DNS%20zone%20transfer%20scripts%20for%20PowerDNS%20to%20BIND' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/reddit.png' title='Reddit' alt='Reddit' class='' /></a>
	<a rel='nofollow'  href='http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fmute.nu%2F2011%2Fdns-zone-transfer-scripts-for-powerdns-to-bind%2F&amp;t=DNS%20zone%20transfer%20scripts%20for%20PowerDNS%20to%20BIND&amp;s=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/tumblr.png' title='Tumblr' alt='Tumblr' class='' /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://mute.nu/2011/dns-zone-transfer-scripts-for-powerdns-to-bind/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Snapshot finder on VMWare ESXi 4.1</title>
		<link>http://mute.nu/2011/snapshot-finder-on-vmware-esxi-4-1/</link>
		<comments>http://mute.nu/2011/snapshot-finder-on-vmware-esxi-4-1/#comments</comments>
		<pubDate>Thu, 27 Oct 2011 07:08:43 +0000</pubDate>
		<dc:creator>lpe</dc:creator>
				<category><![CDATA[-]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[esx]]></category>
		<category><![CDATA[snapshot]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://mute.nu/?p=306</guid>
		<description><![CDATA[A horribly ugly hack to find snapshots on mounted volumes on a VMWare ESXi 4.1 host. Create a script on random host with this #!/bin/sh for i in $&#40;find /vmfs -name &#34;*.vmsn&#34;&#41;;do eval $&#40;echo $i &#124; sed -n &#34;s&#124;^\(.*volumes\)/\([^/]*\)/\(.*\)$&#124;ls -l \1 \&#124; grep \2 \&#124; grep '\\\-&#62;' \&#124; awk '{ printf \$9 }';echo \/\3&#124;p&#34;&#41;; done [...]]]></description>
			<content:encoded><![CDATA[<p>A horribly ugly hack to find snapshots on mounted volumes on a VMWare ESXi 4.1 host.</p>
<p>Create a script on random host with this</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1"><span class="co0">#!/bin/sh</span>
<span class="kw1">for</span> i <span class="kw1">in</span> $<span class="br0">&#40;</span><span class="kw2">find</span> <span class="sy0">/</span>vmfs <span class="re5">-name</span> <span class="st0">&quot;*.vmsn&quot;</span><span class="br0">&#41;</span>;<span class="kw1">do</span> <span class="kw3">eval</span> $<span class="br0">&#40;</span><span class="kw3">echo</span> <span class="re1">$i</span> <span class="sy0">|</span> <span class="kw2">sed</span> <span class="re5">-n</span> <span class="st0">&quot;s|^\(.*volumes\)/\([^/]*\)/\(.*\)$|ls -l \1 \| grep \2 \| grep '\\\-&gt;' \| awk '{ printf <span class="es1">\$</span>9 }';echo \/\3|p&quot;</span><span class="br0">&#41;</span>; <span class="kw1">done</span></pre></div></div></div></div></div></div></div>


<p>Then just run it with</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1"><span class="kw2">ssh</span> root<span class="sy0">@</span>esxhost .<span class="sy0">/</span>snapshotfinder.sh</pre></div></div></div></div></div></div></div>


<p>And why this script just doesn&#8217;t do a find / -name &#8220;*.vmsn&#8221; is &#8216;couse the output won&#8217;t include the symlinks name but merely the UID of the volume, and that doesn&#8217;t help very much. And unfortunately ESX comes with a busybox binary of find, which doesn&#8217;t have the -L option.</p>


	<a rel='nofollow'  href='http://www.facebook.com/share.php?u=http%3A%2F%2Fmute.nu%2F2011%2Fsnapshot-finder-on-vmware-esxi-4-1%2F&amp;t=Snapshot%20finder%20on%20VMWare%20ESXi%204.1' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/facebook.png' title='Facebook' alt='Facebook' class='' /></a>
	<a rel='nofollow'  href='http://twitter.com/home?status=Snapshot%20finder%20on%20VMWare%20ESXi%204.1%20-%20http%3A%2F%2Fmute.nu%2F2011%2Fsnapshot-finder-on-vmware-esxi-4-1%2F' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/twitter.png' title='Twitter' alt='Twitter' class='' /></a>
	<a rel='nofollow'  href='http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fmute.nu%2F2011%2Fsnapshot-finder-on-vmware-esxi-4-1%2F&amp;title=Snapshot%20finder%20on%20VMWare%20ESXi%204.1&amp;bodytext=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/digg.png' title='Digg' alt='Digg' class='' /></a>
	<a rel='nofollow'  href='http://delicious.com/post?url=http%3A%2F%2Fmute.nu%2F2011%2Fsnapshot-finder-on-vmware-esxi-4-1%2F&amp;title=Snapshot%20finder%20on%20VMWare%20ESXi%204.1&amp;notes=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/delicious.png' title='del.icio.us' alt='del.icio.us' class='' /></a>
	<a rel='nofollow'  href='http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fmute.nu%2F2011%2Fsnapshot-finder-on-vmware-esxi-4-1%2F&amp;title=Snapshot%20finder%20on%20VMWare%20ESXi%204.1&amp;source=LPE+Random+ramblings+about+things+related+to+the+digital+world&amp;summary=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/linkedin.png' title='LinkedIn' alt='LinkedIn' class='' /></a>
	<a rel='nofollow'  href='http://mute.nu/feed/' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/rss.png' title='RSS' alt='RSS' class='' /></a>
	<a rel='nofollow'  href='http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmute.nu%2F2011%2Fsnapshot-finder-on-vmware-esxi-4-1%2F&amp;title=Snapshot%20finder%20on%20VMWare%20ESXi%204.1' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/stumbleupon.png' title='StumbleUpon' alt='StumbleUpon' class='' /></a>
	<a rel='nofollow'  href='http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fmute.nu%2F2011%2Fsnapshot-finder-on-vmware-esxi-4-1%2F&amp;title=Snapshot%20finder%20on%20VMWare%20ESXi%204.1&amp;annotation=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/googlebookmark.png' title='Google Bookmarks' alt='Google Bookmarks' class='' /></a>
	<a rel='nofollow'  href='http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Fmute.nu%2F2011%2Fsnapshot-finder-on-vmware-esxi-4-1%2F&amp;submitHeadline=Snapshot%20finder%20on%20VMWare%20ESXi%204.1&amp;submitSummary=&amp;submitCategory=science&amp;submitAssetType=text' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/yahoobuzz.png' title='Yahoo! Buzz' alt='Yahoo! Buzz' class='' /></a>
	<a rel='nofollow'  href='mailto:?subject=Snapshot%20finder%20on%20VMWare%20ESXi%204.1&amp;body=http%3A%2F%2Fmute.nu%2F2011%2Fsnapshot-finder-on-vmware-esxi-4-1%2F' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/email_link.png' title='email' alt='email' class='' /></a>
	<a rel='nofollow'  href='http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fmute.nu%2F2011%2Fsnapshot-finder-on-vmware-esxi-4-1%2F&amp;t=Snapshot%20finder%20on%20VMWare%20ESXi%204.1' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/myspace.png' title='MySpace' alt='MySpace' class='' /></a>
	<a rel='nofollow'  href='http://www.printfriendly.com/print?url=http%3A%2F%2Fmute.nu%2F2011%2Fsnapshot-finder-on-vmware-esxi-4-1%2F&amp;partner=sociable' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/pdf.png' title='PDF' alt='PDF' class='' /></a>
	<a rel='nofollow'  href='http://www.printfriendly.com/print?url=http%3A%2F%2Fmute.nu%2F2011%2Fsnapshot-finder-on-vmware-esxi-4-1%2F&amp;partner=sociable' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/printfriendly.png' title='Print' alt='Print' class='' /></a>
	<a rel='nofollow'  href='http://reddit.com/submit?url=http%3A%2F%2Fmute.nu%2F2011%2Fsnapshot-finder-on-vmware-esxi-4-1%2F&amp;title=Snapshot%20finder%20on%20VMWare%20ESXi%204.1' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/reddit.png' title='Reddit' alt='Reddit' class='' /></a>
	<a rel='nofollow'  href='http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fmute.nu%2F2011%2Fsnapshot-finder-on-vmware-esxi-4-1%2F&amp;t=Snapshot%20finder%20on%20VMWare%20ESXi%204.1&amp;s=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/tumblr.png' title='Tumblr' alt='Tumblr' class='' /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://mute.nu/2011/snapshot-finder-on-vmware-esxi-4-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to set up OpenVPN between CentOS and Windows</title>
		<link>http://mute.nu/2011/how-to-set-up-openvpn-between-centos-and-windows/</link>
		<comments>http://mute.nu/2011/how-to-set-up-openvpn-between-centos-and-windows/#comments</comments>
		<pubDate>Thu, 15 Sep 2011 09:56:00 +0000</pubDate>
		<dc:creator>lpe</dc:creator>
				<category><![CDATA[-]]></category>

		<guid isPermaLink="false">http://mute.nu/?p=261</guid>
		<description><![CDATA[OpenVPN have a whole armada of neat features to discover, but in this post we&#8217;ll be shedding a light on the most basic one, connect a client to a server. Install OpenVPN on the server (you need EPEL for this, search for EPEL on this site) yum install openvpn Move the scripts to a more [...]]]></description>
			<content:encoded><![CDATA[<p>OpenVPN have a whole armada of neat features to discover, but in this post we&#8217;ll be shedding a light on the most basic one, connect a client to a server.</p>
<p>Install OpenVPN on the server (you need EPEL for this, search for EPEL on this site)</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1"><span class="kw2">yum install</span> openvpn</pre></div></div></div></div></div></div></div>


<p>Move the scripts to a more proper location.<br />
This step is optional, but as said before, it &#8220;feels&#8221; better&#8221;</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1"><span class="kw2">cp</span> <span class="re5">-r</span> <span class="sy0">/</span>usr<span class="sy0">/</span>share<span class="sy0">/</span>openvpn<span class="sy0">/</span>easy-rsa<span class="sy0">/</span><span class="nu0">2.0</span><span class="sy0">/</span> <span class="sy0">/</span>etc<span class="sy0">/</span>openvpn<span class="sy0">/</span>ca<span class="sy0">/</span></pre></div></div></div></div></div></div></div>


<p>Edit the file named &#8216;vars&#8217; and edit the variables at the bottom to fit your company and situation</p>
<pre>
export KEY_COUNTRY="SE"
export KEY_PROVINCE="X"
export KEY_CITY="Gavle"
export KEY_ORG="yourcompany"
export KEY_EMAIL="you@yourcompany.com"
</pre>
<p>Source the script and if you want to make sure it worked type &#8216;export&#8217; and check for those variables</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1">. vars</pre></div></div></div></div></div></div></div>


<p>Clean up</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1">.<span class="sy0">/</span>clean-all</pre></div></div></div></div></div></div></div>


<p>Now generate the necessary certificates</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1">.<span class="sy0">/</span>build-ca
.<span class="sy0">/</span>build-key-server servername
.<span class="sy0">/</span>build-key clientname</pre></div></div></div></div></div></div></div>


<p>Edit your configuration (/etc/openvpn/server.conf), an example configuration could look like this,<br />
if you have questions about these options you may browse the official OpenVPN site.</p>
<pre>
port 10001
proto udp
dev tun
ca ca/keys/ca.crt
cert ca/keys/servername.crt
key ca/keys/servername.key  # This file should be kept secret
dh dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
</pre>
<p>Generate Diffie-Hellman parameters</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1">.<span class="sy0">/</span>build-dh</pre></div></div></div></div></div></div></div>


<p>Now start the service</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1">service openvpn start</pre></div></div></div></div></div></div></div>


<p>Now on to the Windows side of things, ie. the dark side.</p>
<p>Install OpenVPN from <a href="http://openvpn.org" title="OpenVPN">OpenVPN</a><br />
Copy ca.crt, client.crt and client.key to your config folder.</p>
<p>Create a file called client.ovpn and edit it after this template</p>
<pre>
ca ca.crt
cert client.crt
key client.key
comp-lzo
client
dev tun
proto udp
remote 10.0.0.1 10001 # this beeing the IP to the centosserver as well as port
resolv-retry infinite
nobind
persist-key
persist-tun
verb 3
route-method exe
</pre>
<p>Now rightclick your file and choose &#8220;Start with OpenVPN&#8221; and you should be done.</p>


	<a rel='nofollow'  href='http://www.facebook.com/share.php?u=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-set-up-openvpn-between-centos-and-windows%2F&amp;t=How%20to%20set%20up%20OpenVPN%20between%20CentOS%20and%20Windows' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/facebook.png' title='Facebook' alt='Facebook' class='' /></a>
	<a rel='nofollow'  href='http://twitter.com/home?status=How%20to%20set%20up%20OpenVPN%20between%20CentOS%20and%20Windows%20-%20http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-set-up-openvpn-between-centos-and-windows%2F' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/twitter.png' title='Twitter' alt='Twitter' class='' /></a>
	<a rel='nofollow'  href='http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-set-up-openvpn-between-centos-and-windows%2F&amp;title=How%20to%20set%20up%20OpenVPN%20between%20CentOS%20and%20Windows&amp;bodytext=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/digg.png' title='Digg' alt='Digg' class='' /></a>
	<a rel='nofollow'  href='http://delicious.com/post?url=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-set-up-openvpn-between-centos-and-windows%2F&amp;title=How%20to%20set%20up%20OpenVPN%20between%20CentOS%20and%20Windows&amp;notes=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/delicious.png' title='del.icio.us' alt='del.icio.us' class='' /></a>
	<a rel='nofollow'  href='http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-set-up-openvpn-between-centos-and-windows%2F&amp;title=How%20to%20set%20up%20OpenVPN%20between%20CentOS%20and%20Windows&amp;source=LPE+Random+ramblings+about+things+related+to+the+digital+world&amp;summary=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/linkedin.png' title='LinkedIn' alt='LinkedIn' class='' /></a>
	<a rel='nofollow'  href='http://mute.nu/feed/' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/rss.png' title='RSS' alt='RSS' class='' /></a>
	<a rel='nofollow'  href='http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-set-up-openvpn-between-centos-and-windows%2F&amp;title=How%20to%20set%20up%20OpenVPN%20between%20CentOS%20and%20Windows' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/stumbleupon.png' title='StumbleUpon' alt='StumbleUpon' class='' /></a>
	<a rel='nofollow'  href='http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-set-up-openvpn-between-centos-and-windows%2F&amp;title=How%20to%20set%20up%20OpenVPN%20between%20CentOS%20and%20Windows&amp;annotation=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/googlebookmark.png' title='Google Bookmarks' alt='Google Bookmarks' class='' /></a>
	<a rel='nofollow'  href='http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-set-up-openvpn-between-centos-and-windows%2F&amp;submitHeadline=How%20to%20set%20up%20OpenVPN%20between%20CentOS%20and%20Windows&amp;submitSummary=&amp;submitCategory=science&amp;submitAssetType=text' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/yahoobuzz.png' title='Yahoo! Buzz' alt='Yahoo! Buzz' class='' /></a>
	<a rel='nofollow'  href='mailto:?subject=How%20to%20set%20up%20OpenVPN%20between%20CentOS%20and%20Windows&amp;body=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-set-up-openvpn-between-centos-and-windows%2F' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/email_link.png' title='email' alt='email' class='' /></a>
	<a rel='nofollow'  href='http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-set-up-openvpn-between-centos-and-windows%2F&amp;t=How%20to%20set%20up%20OpenVPN%20between%20CentOS%20and%20Windows' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/myspace.png' title='MySpace' alt='MySpace' class='' /></a>
	<a rel='nofollow'  href='http://www.printfriendly.com/print?url=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-set-up-openvpn-between-centos-and-windows%2F&amp;partner=sociable' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/pdf.png' title='PDF' alt='PDF' class='' /></a>
	<a rel='nofollow'  href='http://www.printfriendly.com/print?url=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-set-up-openvpn-between-centos-and-windows%2F&amp;partner=sociable' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/printfriendly.png' title='Print' alt='Print' class='' /></a>
	<a rel='nofollow'  href='http://reddit.com/submit?url=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-set-up-openvpn-between-centos-and-windows%2F&amp;title=How%20to%20set%20up%20OpenVPN%20between%20CentOS%20and%20Windows' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/reddit.png' title='Reddit' alt='Reddit' class='' /></a>
	<a rel='nofollow'  href='http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-set-up-openvpn-between-centos-and-windows%2F&amp;t=How%20to%20set%20up%20OpenVPN%20between%20CentOS%20and%20Windows&amp;s=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/tumblr.png' title='Tumblr' alt='Tumblr' class='' /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://mute.nu/2011/how-to-set-up-openvpn-between-centos-and-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What is EPEL and how to use it on CentOS</title>
		<link>http://mute.nu/2011/what-is-epel-and-how-to-use-it-on-centos/</link>
		<comments>http://mute.nu/2011/what-is-epel-and-how-to-use-it-on-centos/#comments</comments>
		<pubDate>Wed, 14 Sep 2011 14:06:31 +0000</pubDate>
		<dc:creator>lpe</dc:creator>
				<category><![CDATA[-]]></category>

		<guid isPermaLink="false">http://mute.nu/?p=251</guid>
		<description><![CDATA[In short, EPEL is an extra repository outside of CentOS and Redhats regular repositories. It&#8217;s mostly based on Fedora packages and works for both CentOS, Redhat and Scientific Linux. It&#8217;s extremely simple to use, merely one command. Pick your correct architecture and version from the EPEL website (for example, http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm) and then type this and [...]]]></description>
			<content:encoded><![CDATA[<p>In short, EPEL is an extra repository outside of CentOS and Redhats regular repositories.<br />
It&#8217;s mostly based on Fedora packages and works for both CentOS, Redhat and Scientific Linux.</p>
<p>It&#8217;s extremely simple to use, merely one command.<br />
Pick your correct architecture and version from the <a href="http://fedoraproject.org/wiki/EPEL" title="EPEL website" target="_blank">EPEL website</a> (for example, http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm) and then type this and you&#8217;re done:</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1"><span class="kw2">yum install</span> <span class="re5">--nogpg</span> http:<span class="sy0">//</span>download.fedoraproject.org<span class="sy0">/</span>pub<span class="sy0">/</span>epel<span class="sy0">/</span><span class="nu0">6</span><span class="sy0">/</span>i386<span class="sy0">/</span>epel-release-<span class="nu0">6</span>-<span class="nu0">5</span>.noarch.rpm</pre></div></div></div></div></div></div></div>




	<a rel='nofollow'  href='http://www.facebook.com/share.php?u=http%3A%2F%2Fmute.nu%2F2011%2Fwhat-is-epel-and-how-to-use-it-on-centos%2F&amp;t=What%20is%20EPEL%20and%20how%20to%20use%20it%20on%20CentOS' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/facebook.png' title='Facebook' alt='Facebook' class='' /></a>
	<a rel='nofollow'  href='http://twitter.com/home?status=What%20is%20EPEL%20and%20how%20to%20use%20it%20on%20CentOS%20-%20http%3A%2F%2Fmute.nu%2F2011%2Fwhat-is-epel-and-how-to-use-it-on-centos%2F' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/twitter.png' title='Twitter' alt='Twitter' class='' /></a>
	<a rel='nofollow'  href='http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fmute.nu%2F2011%2Fwhat-is-epel-and-how-to-use-it-on-centos%2F&amp;title=What%20is%20EPEL%20and%20how%20to%20use%20it%20on%20CentOS&amp;bodytext=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/digg.png' title='Digg' alt='Digg' class='' /></a>
	<a rel='nofollow'  href='http://delicious.com/post?url=http%3A%2F%2Fmute.nu%2F2011%2Fwhat-is-epel-and-how-to-use-it-on-centos%2F&amp;title=What%20is%20EPEL%20and%20how%20to%20use%20it%20on%20CentOS&amp;notes=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/delicious.png' title='del.icio.us' alt='del.icio.us' class='' /></a>
	<a rel='nofollow'  href='http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fmute.nu%2F2011%2Fwhat-is-epel-and-how-to-use-it-on-centos%2F&amp;title=What%20is%20EPEL%20and%20how%20to%20use%20it%20on%20CentOS&amp;source=LPE+Random+ramblings+about+things+related+to+the+digital+world&amp;summary=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/linkedin.png' title='LinkedIn' alt='LinkedIn' class='' /></a>
	<a rel='nofollow'  href='http://mute.nu/feed/' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/rss.png' title='RSS' alt='RSS' class='' /></a>
	<a rel='nofollow'  href='http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmute.nu%2F2011%2Fwhat-is-epel-and-how-to-use-it-on-centos%2F&amp;title=What%20is%20EPEL%20and%20how%20to%20use%20it%20on%20CentOS' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/stumbleupon.png' title='StumbleUpon' alt='StumbleUpon' class='' /></a>
	<a rel='nofollow'  href='http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fmute.nu%2F2011%2Fwhat-is-epel-and-how-to-use-it-on-centos%2F&amp;title=What%20is%20EPEL%20and%20how%20to%20use%20it%20on%20CentOS&amp;annotation=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/googlebookmark.png' title='Google Bookmarks' alt='Google Bookmarks' class='' /></a>
	<a rel='nofollow'  href='http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Fmute.nu%2F2011%2Fwhat-is-epel-and-how-to-use-it-on-centos%2F&amp;submitHeadline=What%20is%20EPEL%20and%20how%20to%20use%20it%20on%20CentOS&amp;submitSummary=&amp;submitCategory=science&amp;submitAssetType=text' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/yahoobuzz.png' title='Yahoo! Buzz' alt='Yahoo! Buzz' class='' /></a>
	<a rel='nofollow'  href='mailto:?subject=What%20is%20EPEL%20and%20how%20to%20use%20it%20on%20CentOS&amp;body=http%3A%2F%2Fmute.nu%2F2011%2Fwhat-is-epel-and-how-to-use-it-on-centos%2F' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/email_link.png' title='email' alt='email' class='' /></a>
	<a rel='nofollow'  href='http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fmute.nu%2F2011%2Fwhat-is-epel-and-how-to-use-it-on-centos%2F&amp;t=What%20is%20EPEL%20and%20how%20to%20use%20it%20on%20CentOS' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/myspace.png' title='MySpace' alt='MySpace' class='' /></a>
	<a rel='nofollow'  href='http://www.printfriendly.com/print?url=http%3A%2F%2Fmute.nu%2F2011%2Fwhat-is-epel-and-how-to-use-it-on-centos%2F&amp;partner=sociable' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/pdf.png' title='PDF' alt='PDF' class='' /></a>
	<a rel='nofollow'  href='http://www.printfriendly.com/print?url=http%3A%2F%2Fmute.nu%2F2011%2Fwhat-is-epel-and-how-to-use-it-on-centos%2F&amp;partner=sociable' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/printfriendly.png' title='Print' alt='Print' class='' /></a>
	<a rel='nofollow'  href='http://reddit.com/submit?url=http%3A%2F%2Fmute.nu%2F2011%2Fwhat-is-epel-and-how-to-use-it-on-centos%2F&amp;title=What%20is%20EPEL%20and%20how%20to%20use%20it%20on%20CentOS' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/reddit.png' title='Reddit' alt='Reddit' class='' /></a>
	<a rel='nofollow'  href='http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fmute.nu%2F2011%2Fwhat-is-epel-and-how-to-use-it-on-centos%2F&amp;t=What%20is%20EPEL%20and%20how%20to%20use%20it%20on%20CentOS&amp;s=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/tumblr.png' title='Tumblr' alt='Tumblr' class='' /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://mute.nu/2011/what-is-epel-and-how-to-use-it-on-centos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to set up Host-to-Host VPN using Openswan/IPSec on CentOS</title>
		<link>http://mute.nu/2011/how-to-set-up-host-to-host-vpn-using-openswan-ipsec-on-centos/</link>
		<comments>http://mute.nu/2011/how-to-set-up-host-to-host-vpn-using-openswan-ipsec-on-centos/#comments</comments>
		<pubDate>Wed, 14 Sep 2011 13:59:12 +0000</pubDate>
		<dc:creator>lpe</dc:creator>
				<category><![CDATA[-]]></category>

		<guid isPermaLink="false">http://mute.nu/?p=247</guid>
		<description><![CDATA[A very short tutorial on how to set up an IPSec VPN between two hosts to make the traffic encrypted. As usual, my weapon of choice would be CentOS with some help from EPEL. (Having trouble understanding what EPEL is or how to configure it? See]]></description>
			<content:encoded><![CDATA[<p>A very short tutorial on how to set up an IPSec VPN between two hosts to make the traffic encrypted.<br />
As usual, my weapon of choice would be CentOS with some help from EPEL.<br />
(Having trouble understanding what EPEL is or how to configure it? See <a href="<a href="http://mute.nu/2011/what-is-epel-and-how-to-use-it-on-centos/" title="http://mute.nu/2011/what-is-epel-and-how-to-use-it-on-centos/">http://mute.nu/2011/what-is-epel-and-how-to-use-it-on-centos/</a>)</p>
<p>Some prerequisites are that both machines are either on the same subnet, have public routeable addresses or is behind firewalls with IPSec Passthrough.</p>
<p>Basically, Openswan works in a &#8220;left&#8221; and &#8220;right&#8221; manner, meaning that one machine is called &#8220;left&#8221; and the other &#8220;right&#8221;.<br />
The machine we&#8217;ll start configuring is &#8220;left&#8221; in this guide.</p>
<p>At first, install the necessary packages on both machines.</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1"><span class="kw2">yum install</span> openswan nss-tools</pre></div></div></div></div></div></div></div>


<p>We&#8217;ll be configuring this without passwords for simplicity, so we remove the old database files and regenerate new ones.</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1"><span class="kw3">cd</span> <span class="sy0">/</span>etc<span class="sy0">/</span>ipsec.d<span class="sy0">/</span>
<span class="kw2">mkdir</span> db_old
<span class="kw2">mv</span> <span class="sy0">*</span>.db db_old<span class="sy0">/</span>
certutil <span class="re5">-N</span> <span class="re5">-d</span> .</pre></div></div></div></div></div></div></div>


<p>Now create the necessary keys on both machines but make sure to change the hostname to the proper hostname of the server.</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1">ipsec newhostkey <span class="re5">--output</span> <span class="sy0">/</span>etc<span class="sy0">/</span>ipsec.d<span class="sy0">/</span>HOSTNAME.secrets <span class="re5">--configdir</span> <span class="sy0">/</span>etc<span class="sy0">/</span>ipsec.d<span class="sy0">/</span> <span class="re5">--verbose</span></pre></div></div></div></div></div></div></div>


<p>Now remove the comment on the last line of /etc/ipsec.conf so it includes /etc/ipsec.d/*.conf on both servers.</p>
<p>Now create a file on your left server called HOSTNAME.conf after this template and edit the fields for your setup.<br />
Type in ipsec showhostkey &#8211;left and copy that key to leftrsasigkey=<br />
as well as ipsec showhostkey &#8211;right on your other server and copy that key to rightsasigkey=.</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1">conn host-to-host
    <span class="re2">left</span>=10.0.0.11
    <span class="re2">leftid</span>=<span class="sy0">@</span>server1
    <span class="re2">leftrsasigkey</span>=0dsaA2...
    <span class="re2">leftnexthop</span>=<span class="sy0">%</span>defaultroute
    <span class="re2">right</span>=10.0.0.12
    <span class="re2">rightid</span>=<span class="sy0">@</span>server22
    <span class="re2">rightrsasigkey</span>=0sAQOuP...
    <span class="re2">rightnexthop</span>=<span class="sy0">%</span>defaultroute
    <span class="re2">auto</span>=add</pre></div></div></div></div></div></div></div>


<p>Copy that file to the other server and rename it.</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1"><span class="kw2">scp</span> <span class="sy0">/</span>etc<span class="sy0">/</span>ipsec.d<span class="sy0">/</span>server1.conf root<span class="sy0">@</span>10.0.0.12:<span class="sy0">/</span>etc<span class="sy0">/</span>ipsec.d<span class="sy0">/</span>server2.conf</pre></div></div></div></div></div></div></div>


<p>Now start it.</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1">service ipsec start</pre></div></div></div></div></div></div></div>


<p>If you encounter any errors they will most probably be printed directly to you or you can have a see in /var/log/messages</p>
<p>If you want to test your connection out, try a ping from server1 to server2 and capture it using tcpdump on server2.</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1">tcpdump <span class="re5">-ni</span> eth0 <span class="re5">-X</span> <span class="re5">-v</span> host 10.0.0.12</pre></div></div></div></div></div></div></div>


<p>You should now see every other packet using the ESP protocol and the rest TCP.<br />
Remember, you&#8217;ll only see the encrypted outgoing packets.</p>
<p>If you want it to start on boot you either change &#8220;auto=add&#8221; to &#8220;auto=start&#8221; in HOSTNAME.conf or type in &#8220;chkconfig ipsec on&#8221;</p>


	<a rel='nofollow'  href='http://www.facebook.com/share.php?u=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-set-up-host-to-host-vpn-using-openswan-ipsec-on-centos%2F&amp;t=How%20to%20set%20up%20Host-to-Host%20VPN%20using%20Openswan%2FIPSec%20on%20CentOS' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/facebook.png' title='Facebook' alt='Facebook' class='' /></a>
	<a rel='nofollow'  href='http://twitter.com/home?status=How%20to%20set%20up%20Host-to-Host%20VPN%20using%20Openswan%2FIPSec%20on%20CentOS%20-%20http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-set-up-host-to-host-vpn-using-openswan-ipsec-on-centos%2F' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/twitter.png' title='Twitter' alt='Twitter' class='' /></a>
	<a rel='nofollow'  href='http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-set-up-host-to-host-vpn-using-openswan-ipsec-on-centos%2F&amp;title=How%20to%20set%20up%20Host-to-Host%20VPN%20using%20Openswan%2FIPSec%20on%20CentOS&amp;bodytext=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/digg.png' title='Digg' alt='Digg' class='' /></a>
	<a rel='nofollow'  href='http://delicious.com/post?url=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-set-up-host-to-host-vpn-using-openswan-ipsec-on-centos%2F&amp;title=How%20to%20set%20up%20Host-to-Host%20VPN%20using%20Openswan%2FIPSec%20on%20CentOS&amp;notes=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/delicious.png' title='del.icio.us' alt='del.icio.us' class='' /></a>
	<a rel='nofollow'  href='http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-set-up-host-to-host-vpn-using-openswan-ipsec-on-centos%2F&amp;title=How%20to%20set%20up%20Host-to-Host%20VPN%20using%20Openswan%2FIPSec%20on%20CentOS&amp;source=LPE+Random+ramblings+about+things+related+to+the+digital+world&amp;summary=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/linkedin.png' title='LinkedIn' alt='LinkedIn' class='' /></a>
	<a rel='nofollow'  href='http://mute.nu/feed/' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/rss.png' title='RSS' alt='RSS' class='' /></a>
	<a rel='nofollow'  href='http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-set-up-host-to-host-vpn-using-openswan-ipsec-on-centos%2F&amp;title=How%20to%20set%20up%20Host-to-Host%20VPN%20using%20Openswan%2FIPSec%20on%20CentOS' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/stumbleupon.png' title='StumbleUpon' alt='StumbleUpon' class='' /></a>
	<a rel='nofollow'  href='http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-set-up-host-to-host-vpn-using-openswan-ipsec-on-centos%2F&amp;title=How%20to%20set%20up%20Host-to-Host%20VPN%20using%20Openswan%2FIPSec%20on%20CentOS&amp;annotation=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/googlebookmark.png' title='Google Bookmarks' alt='Google Bookmarks' class='' /></a>
	<a rel='nofollow'  href='http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-set-up-host-to-host-vpn-using-openswan-ipsec-on-centos%2F&amp;submitHeadline=How%20to%20set%20up%20Host-to-Host%20VPN%20using%20Openswan%2FIPSec%20on%20CentOS&amp;submitSummary=&amp;submitCategory=science&amp;submitAssetType=text' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/yahoobuzz.png' title='Yahoo! Buzz' alt='Yahoo! Buzz' class='' /></a>
	<a rel='nofollow'  href='mailto:?subject=How%20to%20set%20up%20Host-to-Host%20VPN%20using%20Openswan%2FIPSec%20on%20CentOS&amp;body=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-set-up-host-to-host-vpn-using-openswan-ipsec-on-centos%2F' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/email_link.png' title='email' alt='email' class='' /></a>
	<a rel='nofollow'  href='http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-set-up-host-to-host-vpn-using-openswan-ipsec-on-centos%2F&amp;t=How%20to%20set%20up%20Host-to-Host%20VPN%20using%20Openswan%2FIPSec%20on%20CentOS' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/myspace.png' title='MySpace' alt='MySpace' class='' /></a>
	<a rel='nofollow'  href='http://www.printfriendly.com/print?url=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-set-up-host-to-host-vpn-using-openswan-ipsec-on-centos%2F&amp;partner=sociable' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/pdf.png' title='PDF' alt='PDF' class='' /></a>
	<a rel='nofollow'  href='http://www.printfriendly.com/print?url=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-set-up-host-to-host-vpn-using-openswan-ipsec-on-centos%2F&amp;partner=sociable' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/printfriendly.png' title='Print' alt='Print' class='' /></a>
	<a rel='nofollow'  href='http://reddit.com/submit?url=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-set-up-host-to-host-vpn-using-openswan-ipsec-on-centos%2F&amp;title=How%20to%20set%20up%20Host-to-Host%20VPN%20using%20Openswan%2FIPSec%20on%20CentOS' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/reddit.png' title='Reddit' alt='Reddit' class='' /></a>
	<a rel='nofollow'  href='http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-set-up-host-to-host-vpn-using-openswan-ipsec-on-centos%2F&amp;t=How%20to%20set%20up%20Host-to-Host%20VPN%20using%20Openswan%2FIPSec%20on%20CentOS&amp;s=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/tumblr.png' title='Tumblr' alt='Tumblr' class='' /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://mute.nu/2011/how-to-set-up-host-to-host-vpn-using-openswan-ipsec-on-centos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to install Java for Chromium</title>
		<link>http://mute.nu/2011/how-to-install-java-for-chromium/</link>
		<comments>http://mute.nu/2011/how-to-install-java-for-chromium/#comments</comments>
		<pubDate>Wed, 14 Sep 2011 12:50:54 +0000</pubDate>
		<dc:creator>lpe</dc:creator>
				<category><![CDATA[-]]></category>

		<guid isPermaLink="false">http://mute.nu/?p=239</guid>
		<description><![CDATA[Download the correct version of Java to your computer. Java Download URL Run the binary ./jre-6u27-linux-x64.bin Move the files to a better location. This step is optional, but in my opinion it sort of &#8220;feels&#8221; better. mv jre1.6.0_27/ /usr/lib/jvm/ And now link it to Chromium. ln -sf /usr/lib/jvm/jre1.6.0_27/lib/amd64/libnpjp2.so /usr/lib/chromium-browser/plugins/ And now restart your browser, voila!]]></description>
			<content:encoded><![CDATA[<p>Download the correct version of Java to your computer.</p>
<p><a href="http://java.com/en/download/manual.jsp?locale=en" title="Java Download URL" target="_blank">Java Download URL</a></p>
<p>Run the binary</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1">.<span class="sy0">/</span>jre-6u27-linux-x64.bin</pre></div></div></div></div></div></div></div>


<p>Move the files to a better location.<br />
This step is optional, but in my opinion it sort of &#8220;feels&#8221; better.</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1"><span class="kw2">mv</span> jre1.6.0_27<span class="sy0">/</span> <span class="sy0">/</span>usr<span class="sy0">/</span>lib<span class="sy0">/</span>jvm<span class="sy0">/</span></pre></div></div></div></div></div></div></div>


<p>And now link it to Chromium.</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1"><span class="kw2">ln</span> <span class="re5">-sf</span> <span class="sy0">/</span>usr<span class="sy0">/</span>lib<span class="sy0">/</span>jvm<span class="sy0">/</span>jre1.6.0_27<span class="sy0">/</span>lib<span class="sy0">/</span>amd64<span class="sy0">/</span>libnpjp2.so <span class="sy0">/</span>usr<span class="sy0">/</span>lib<span class="sy0">/</span>chromium-browser<span class="sy0">/</span>plugins<span class="sy0">/</span></pre></div></div></div></div></div></div></div>


<p>And now restart your browser, voila!</p>


	<a rel='nofollow'  href='http://www.facebook.com/share.php?u=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-install-java-for-chromium%2F&amp;t=How%20to%20install%20Java%20for%20Chromium' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/facebook.png' title='Facebook' alt='Facebook' class='' /></a>
	<a rel='nofollow'  href='http://twitter.com/home?status=How%20to%20install%20Java%20for%20Chromium%20-%20http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-install-java-for-chromium%2F' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/twitter.png' title='Twitter' alt='Twitter' class='' /></a>
	<a rel='nofollow'  href='http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-install-java-for-chromium%2F&amp;title=How%20to%20install%20Java%20for%20Chromium&amp;bodytext=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/digg.png' title='Digg' alt='Digg' class='' /></a>
	<a rel='nofollow'  href='http://delicious.com/post?url=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-install-java-for-chromium%2F&amp;title=How%20to%20install%20Java%20for%20Chromium&amp;notes=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/delicious.png' title='del.icio.us' alt='del.icio.us' class='' /></a>
	<a rel='nofollow'  href='http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-install-java-for-chromium%2F&amp;title=How%20to%20install%20Java%20for%20Chromium&amp;source=LPE+Random+ramblings+about+things+related+to+the+digital+world&amp;summary=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/linkedin.png' title='LinkedIn' alt='LinkedIn' class='' /></a>
	<a rel='nofollow'  href='http://mute.nu/feed/' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/rss.png' title='RSS' alt='RSS' class='' /></a>
	<a rel='nofollow'  href='http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-install-java-for-chromium%2F&amp;title=How%20to%20install%20Java%20for%20Chromium' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/stumbleupon.png' title='StumbleUpon' alt='StumbleUpon' class='' /></a>
	<a rel='nofollow'  href='http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-install-java-for-chromium%2F&amp;title=How%20to%20install%20Java%20for%20Chromium&amp;annotation=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/googlebookmark.png' title='Google Bookmarks' alt='Google Bookmarks' class='' /></a>
	<a rel='nofollow'  href='http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-install-java-for-chromium%2F&amp;submitHeadline=How%20to%20install%20Java%20for%20Chromium&amp;submitSummary=&amp;submitCategory=science&amp;submitAssetType=text' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/yahoobuzz.png' title='Yahoo! Buzz' alt='Yahoo! Buzz' class='' /></a>
	<a rel='nofollow'  href='mailto:?subject=How%20to%20install%20Java%20for%20Chromium&amp;body=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-install-java-for-chromium%2F' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/email_link.png' title='email' alt='email' class='' /></a>
	<a rel='nofollow'  href='http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-install-java-for-chromium%2F&amp;t=How%20to%20install%20Java%20for%20Chromium' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/myspace.png' title='MySpace' alt='MySpace' class='' /></a>
	<a rel='nofollow'  href='http://www.printfriendly.com/print?url=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-install-java-for-chromium%2F&amp;partner=sociable' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/pdf.png' title='PDF' alt='PDF' class='' /></a>
	<a rel='nofollow'  href='http://www.printfriendly.com/print?url=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-install-java-for-chromium%2F&amp;partner=sociable' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/printfriendly.png' title='Print' alt='Print' class='' /></a>
	<a rel='nofollow'  href='http://reddit.com/submit?url=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-install-java-for-chromium%2F&amp;title=How%20to%20install%20Java%20for%20Chromium' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/reddit.png' title='Reddit' alt='Reddit' class='' /></a>
	<a rel='nofollow'  href='http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fmute.nu%2F2011%2Fhow-to-install-java-for-chromium%2F&amp;t=How%20to%20install%20Java%20for%20Chromium&amp;s=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/tumblr.png' title='Tumblr' alt='Tumblr' class='' /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://mute.nu/2011/how-to-install-java-for-chromium/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IIS 7.5 bug in &#8220;IP Address and Domain Restrictions&#8221; module</title>
		<link>http://mute.nu/2011/iis-7-5-bug-in-ip-address-and-domain-restrictions-module/</link>
		<comments>http://mute.nu/2011/iis-7-5-bug-in-ip-address-and-domain-restrictions-module/#comments</comments>
		<pubDate>Thu, 01 Sep 2011 14:12:16 +0000</pubDate>
		<dc:creator>lpe</dc:creator>
				<category><![CDATA[-]]></category>

		<guid isPermaLink="false">http://mute.nu/?p=233</guid>
		<description><![CDATA[I came across this today when a customer called in and asked why he could browse to a website that we&#8217;ve yet to make available to the public. Our scenario today is that we allowed 4 specific IP-address and then chose &#8220;Deny&#8221; under &#8220;Edit Feature Settings&#8221;, but then I also added localhost, and I added [...]]]></description>
			<content:encoded><![CDATA[<p>I came across this today when a customer called in and asked why he could browse to a website that we&#8217;ve yet to make available to the public.</p>
<p>Our scenario today is that we allowed 4 specific IP-address and then chose &#8220;Deny&#8221; under &#8220;Edit Feature Settings&#8221;, but then I also added localhost, and I added it as a range using a prefix.<br />
Adding 127.0.0.0 with 8 as prefix makes IIS discard the rule you set in &#8220;Edit Feature Settings&#8221;.</p>
<p>If you write /8 instead of just 8, it gives you this text in the error message:<br />
<code><br />
'/8' is an invalid subnet mask. It must be a valid IP address or an integer value between 0-32 for IPv4 and 0-128 for IPv6"<br />
</code><br />
So obviously you&#8217;re supposed to be able to write 8 and get a proper mask (255.0.0.0).<br />
On the other hand, if you add the mask 255.0.0.0 instead of the prefix, it works as intended.</p>
<p>Hopefully this will be fixed sooner or later.</p>


	<a rel='nofollow'  href='http://www.facebook.com/share.php?u=http%3A%2F%2Fmute.nu%2F2011%2Fiis-7-5-bug-in-ip-address-and-domain-restrictions-module%2F&amp;t=IIS%207.5%20bug%20in%20%22IP%20Address%20and%20Domain%20Restrictions%22%20module' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/facebook.png' title='Facebook' alt='Facebook' class='' /></a>
	<a rel='nofollow'  href='http://twitter.com/home?status=IIS%207.5%20bug%20in%20%22IP%20Address%20and%20Domain%20Restrictions%22%20module%20-%20http%3A%2F%2Fmute.nu%2F2011%2Fiis-7-5-bug-in-ip-address-and-domain-restrictions-module%2F' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/twitter.png' title='Twitter' alt='Twitter' class='' /></a>
	<a rel='nofollow'  href='http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fmute.nu%2F2011%2Fiis-7-5-bug-in-ip-address-and-domain-restrictions-module%2F&amp;title=IIS%207.5%20bug%20in%20%22IP%20Address%20and%20Domain%20Restrictions%22%20module&amp;bodytext=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/digg.png' title='Digg' alt='Digg' class='' /></a>
	<a rel='nofollow'  href='http://delicious.com/post?url=http%3A%2F%2Fmute.nu%2F2011%2Fiis-7-5-bug-in-ip-address-and-domain-restrictions-module%2F&amp;title=IIS%207.5%20bug%20in%20%22IP%20Address%20and%20Domain%20Restrictions%22%20module&amp;notes=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/delicious.png' title='del.icio.us' alt='del.icio.us' class='' /></a>
	<a rel='nofollow'  href='http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fmute.nu%2F2011%2Fiis-7-5-bug-in-ip-address-and-domain-restrictions-module%2F&amp;title=IIS%207.5%20bug%20in%20%22IP%20Address%20and%20Domain%20Restrictions%22%20module&amp;source=LPE+Random+ramblings+about+things+related+to+the+digital+world&amp;summary=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/linkedin.png' title='LinkedIn' alt='LinkedIn' class='' /></a>
	<a rel='nofollow'  href='http://mute.nu/feed/' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/rss.png' title='RSS' alt='RSS' class='' /></a>
	<a rel='nofollow'  href='http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmute.nu%2F2011%2Fiis-7-5-bug-in-ip-address-and-domain-restrictions-module%2F&amp;title=IIS%207.5%20bug%20in%20%22IP%20Address%20and%20Domain%20Restrictions%22%20module' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/stumbleupon.png' title='StumbleUpon' alt='StumbleUpon' class='' /></a>
	<a rel='nofollow'  href='http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fmute.nu%2F2011%2Fiis-7-5-bug-in-ip-address-and-domain-restrictions-module%2F&amp;title=IIS%207.5%20bug%20in%20%22IP%20Address%20and%20Domain%20Restrictions%22%20module&amp;annotation=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/googlebookmark.png' title='Google Bookmarks' alt='Google Bookmarks' class='' /></a>
	<a rel='nofollow'  href='http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Fmute.nu%2F2011%2Fiis-7-5-bug-in-ip-address-and-domain-restrictions-module%2F&amp;submitHeadline=IIS%207.5%20bug%20in%20%22IP%20Address%20and%20Domain%20Restrictions%22%20module&amp;submitSummary=&amp;submitCategory=science&amp;submitAssetType=text' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/yahoobuzz.png' title='Yahoo! Buzz' alt='Yahoo! Buzz' class='' /></a>
	<a rel='nofollow'  href='mailto:?subject=IIS%207.5%20bug%20in%20%22IP%20Address%20and%20Domain%20Restrictions%22%20module&amp;body=http%3A%2F%2Fmute.nu%2F2011%2Fiis-7-5-bug-in-ip-address-and-domain-restrictions-module%2F' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/email_link.png' title='email' alt='email' class='' /></a>
	<a rel='nofollow'  href='http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fmute.nu%2F2011%2Fiis-7-5-bug-in-ip-address-and-domain-restrictions-module%2F&amp;t=IIS%207.5%20bug%20in%20%22IP%20Address%20and%20Domain%20Restrictions%22%20module' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/myspace.png' title='MySpace' alt='MySpace' class='' /></a>
	<a rel='nofollow'  href='http://www.printfriendly.com/print?url=http%3A%2F%2Fmute.nu%2F2011%2Fiis-7-5-bug-in-ip-address-and-domain-restrictions-module%2F&amp;partner=sociable' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/pdf.png' title='PDF' alt='PDF' class='' /></a>
	<a rel='nofollow'  href='http://www.printfriendly.com/print?url=http%3A%2F%2Fmute.nu%2F2011%2Fiis-7-5-bug-in-ip-address-and-domain-restrictions-module%2F&amp;partner=sociable' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/printfriendly.png' title='Print' alt='Print' class='' /></a>
	<a rel='nofollow'  href='http://reddit.com/submit?url=http%3A%2F%2Fmute.nu%2F2011%2Fiis-7-5-bug-in-ip-address-and-domain-restrictions-module%2F&amp;title=IIS%207.5%20bug%20in%20%22IP%20Address%20and%20Domain%20Restrictions%22%20module' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/reddit.png' title='Reddit' alt='Reddit' class='' /></a>
	<a rel='nofollow'  href='http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fmute.nu%2F2011%2Fiis-7-5-bug-in-ip-address-and-domain-restrictions-module%2F&amp;t=IIS%207.5%20bug%20in%20%22IP%20Address%20and%20Domain%20Restrictions%22%20module&amp;s=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/tumblr.png' title='Tumblr' alt='Tumblr' class='' /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://mute.nu/2011/iis-7-5-bug-in-ip-address-and-domain-restrictions-module/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Windows batchscript (.bat) to show current terminalsessions in cluster</title>
		<link>http://mute.nu/2011/windows-batchscript-bat-to-show-current-terminalsessions-in-cluster/</link>
		<comments>http://mute.nu/2011/windows-batchscript-bat-to-show-current-terminalsessions-in-cluster/#comments</comments>
		<pubDate>Mon, 13 Jun 2011 07:21:39 +0000</pubDate>
		<dc:creator>lpe</dc:creator>
				<category><![CDATA[-]]></category>
		<category><![CDATA[batch]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[terminal server]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://mute.nu/?p=226</guid>
		<description><![CDATA[A smaller batchscript to show current logged on remote users using &#8216;query session&#8217; in Windows, I suspect it&#8217;s quite self explanatory. This is set for three servers named server-01, server-02 and server-03. @ECHO OFF setlocal EnableDelayedExpansion &#160; :: PRINT SESSION OUTPUTS FROM TERMINAL SERVERS TO TEMPORARY SESSION FILES FOR /L %%G IN &#40;1,1,3&#41; DO query [...]]]></description>
			<content:encoded><![CDATA[<p>A smaller batchscript to show current logged on remote users using &#8216;query session&#8217; in Windows, I suspect it&#8217;s quite self explanatory.<br />
This is set for three servers named server-01, server-02 and server-03.</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="python"><pre class="de1"><span class="sy0">@</span>ECHO OFF
setlocal EnableDelayedExpansion
&nbsp;
:: PRINT SESSION OUTPUTS FROM TERMINAL SERVERS TO TEMPORARY SESSION FILES
FOR /L %%G IN <span class="br0">&#40;</span><span class="nu0">1</span><span class="sy0">,</span><span class="nu0">1</span><span class="sy0">,</span><span class="nu0">3</span><span class="br0">&#41;</span> DO query session /server:server-ts0%%G <span class="sy0">&gt;</span> sess.<span class="me1">tmp</span>%%G
&nbsp;
:: COUNTING MATCHING ROWS FOR <span class="st0">&quot;tcp-rdp&quot;</span> IN TEMPORARY SESSION FILE
FOR %%G IN <span class="br0">&#40;</span><span class="nu0">1</span><span class="sy0">,</span><span class="nu0">2</span><span class="sy0">,</span><span class="nu0">3</span><span class="br0">&#41;</span> DO <span class="br0">&#40;</span>
	<span class="kw2">set</span> <span class="st0">&quot;cmd=findstr /R /N &quot;</span>^.*rdp-tcp.*$<span class="st0">&quot; sess.tmp%%G | FIND /C &quot;</span>:<span class="st0">&quot;&quot;</span>
	FOR /F %%B <span class="kw1">in</span> <span class="br0">&#40;</span><span class="st0">'!cmd!'</span><span class="br0">&#41;</span> DO <span class="br0">&#40;</span>echo SERVER-TS0%%G: %%B<span class="br0">&#41;</span>
<span class="br0">&#41;</span>
&nbsp;
:: DELETE TEMPORARY SESSION FILES
DEL sess.<span class="me1">tmp</span>*
&nbsp;
PAUSE</pre></div></div></div></div></div></div></div>


<p>Output will be</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="python"><pre class="de1">SERVER-<span class="nu0">01</span>: <span class="nu0">35</span>
SERVER-<span class="nu0">02</span>: <span class="nu0">48</span>
SERVER-<span class="nu0">03</span>: <span class="nu0">12</span></pre></div></div></div></div></div></div></div>




	<a rel='nofollow'  href='http://www.facebook.com/share.php?u=http%3A%2F%2Fmute.nu%2F2011%2Fwindows-batchscript-bat-to-show-current-terminalsessions-in-cluster%2F&amp;t=Windows%20batchscript%20%28.bat%29%20to%20show%20current%20terminalsessions%20in%20cluster' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/facebook.png' title='Facebook' alt='Facebook' class='' /></a>
	<a rel='nofollow'  href='http://twitter.com/home?status=Windows%20batchscript%20%28.bat%29%20to%20show%20current%20terminalsessions%20in%20cluster%20-%20http%3A%2F%2Fmute.nu%2F2011%2Fwindows-batchscript-bat-to-show-current-terminalsessions-in-cluster%2F' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/twitter.png' title='Twitter' alt='Twitter' class='' /></a>
	<a rel='nofollow'  href='http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fmute.nu%2F2011%2Fwindows-batchscript-bat-to-show-current-terminalsessions-in-cluster%2F&amp;title=Windows%20batchscript%20%28.bat%29%20to%20show%20current%20terminalsessions%20in%20cluster&amp;bodytext=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/digg.png' title='Digg' alt='Digg' class='' /></a>
	<a rel='nofollow'  href='http://delicious.com/post?url=http%3A%2F%2Fmute.nu%2F2011%2Fwindows-batchscript-bat-to-show-current-terminalsessions-in-cluster%2F&amp;title=Windows%20batchscript%20%28.bat%29%20to%20show%20current%20terminalsessions%20in%20cluster&amp;notes=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/delicious.png' title='del.icio.us' alt='del.icio.us' class='' /></a>
	<a rel='nofollow'  href='http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fmute.nu%2F2011%2Fwindows-batchscript-bat-to-show-current-terminalsessions-in-cluster%2F&amp;title=Windows%20batchscript%20%28.bat%29%20to%20show%20current%20terminalsessions%20in%20cluster&amp;source=LPE+Random+ramblings+about+things+related+to+the+digital+world&amp;summary=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/linkedin.png' title='LinkedIn' alt='LinkedIn' class='' /></a>
	<a rel='nofollow'  href='http://mute.nu/feed/' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/rss.png' title='RSS' alt='RSS' class='' /></a>
	<a rel='nofollow'  href='http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmute.nu%2F2011%2Fwindows-batchscript-bat-to-show-current-terminalsessions-in-cluster%2F&amp;title=Windows%20batchscript%20%28.bat%29%20to%20show%20current%20terminalsessions%20in%20cluster' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/stumbleupon.png' title='StumbleUpon' alt='StumbleUpon' class='' /></a>
	<a rel='nofollow'  href='http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fmute.nu%2F2011%2Fwindows-batchscript-bat-to-show-current-terminalsessions-in-cluster%2F&amp;title=Windows%20batchscript%20%28.bat%29%20to%20show%20current%20terminalsessions%20in%20cluster&amp;annotation=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/googlebookmark.png' title='Google Bookmarks' alt='Google Bookmarks' class='' /></a>
	<a rel='nofollow'  href='http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Fmute.nu%2F2011%2Fwindows-batchscript-bat-to-show-current-terminalsessions-in-cluster%2F&amp;submitHeadline=Windows%20batchscript%20%28.bat%29%20to%20show%20current%20terminalsessions%20in%20cluster&amp;submitSummary=&amp;submitCategory=science&amp;submitAssetType=text' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/yahoobuzz.png' title='Yahoo! Buzz' alt='Yahoo! Buzz' class='' /></a>
	<a rel='nofollow'  href='mailto:?subject=Windows%20batchscript%20%28.bat%29%20to%20show%20current%20terminalsessions%20in%20cluster&amp;body=http%3A%2F%2Fmute.nu%2F2011%2Fwindows-batchscript-bat-to-show-current-terminalsessions-in-cluster%2F' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/email_link.png' title='email' alt='email' class='' /></a>
	<a rel='nofollow'  href='http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fmute.nu%2F2011%2Fwindows-batchscript-bat-to-show-current-terminalsessions-in-cluster%2F&amp;t=Windows%20batchscript%20%28.bat%29%20to%20show%20current%20terminalsessions%20in%20cluster' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/myspace.png' title='MySpace' alt='MySpace' class='' /></a>
	<a rel='nofollow'  href='http://www.printfriendly.com/print?url=http%3A%2F%2Fmute.nu%2F2011%2Fwindows-batchscript-bat-to-show-current-terminalsessions-in-cluster%2F&amp;partner=sociable' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/pdf.png' title='PDF' alt='PDF' class='' /></a>
	<a rel='nofollow'  href='http://www.printfriendly.com/print?url=http%3A%2F%2Fmute.nu%2F2011%2Fwindows-batchscript-bat-to-show-current-terminalsessions-in-cluster%2F&amp;partner=sociable' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/printfriendly.png' title='Print' alt='Print' class='' /></a>
	<a rel='nofollow'  href='http://reddit.com/submit?url=http%3A%2F%2Fmute.nu%2F2011%2Fwindows-batchscript-bat-to-show-current-terminalsessions-in-cluster%2F&amp;title=Windows%20batchscript%20%28.bat%29%20to%20show%20current%20terminalsessions%20in%20cluster' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/reddit.png' title='Reddit' alt='Reddit' class='' /></a>
	<a rel='nofollow'  href='http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fmute.nu%2F2011%2Fwindows-batchscript-bat-to-show-current-terminalsessions-in-cluster%2F&amp;t=Windows%20batchscript%20%28.bat%29%20to%20show%20current%20terminalsessions%20in%20cluster&amp;s=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/tumblr.png' title='Tumblr' alt='Tumblr' class='' /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://mute.nu/2011/windows-batchscript-bat-to-show-current-terminalsessions-in-cluster/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Regular expressions for networking</title>
		<link>http://mute.nu/2011/regular-expressions-for-networking/</link>
		<comments>http://mute.nu/2011/regular-expressions-for-networking/#comments</comments>
		<pubDate>Tue, 31 May 2011 07:53:47 +0000</pubDate>
		<dc:creator>lpe</dc:creator>
				<category><![CDATA[-]]></category>
		<category><![CDATA[ipv4]]></category>
		<category><![CDATA[ipv6]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[regex]]></category>

		<guid isPermaLink="false">http://mute.nu/?p=208</guid>
		<description><![CDATA[A few regular expressions proven quite handy in day-to-day work, creds to kll at http://labs.spritelink.net/ Matching IPv4: for example: 192.0.2.1 &#40;&#40;&#40;2&#40;5&#91;0-5&#93;&#124;&#91;0-4&#93;&#91;0-9&#93;&#41;&#124;&#91;01&#93;?&#91;0-9&#93;&#91;0-9&#93;?&#41;\.&#41;&#123;3&#125;&#40;2&#40;5&#91;0-5&#93;&#124;&#91;0-4&#93;&#91;0-9&#93;&#41;&#124;&#91;01&#93;?&#91;0-9&#93;&#91;0-9&#93;?&#41;&#41; Matching IPv4 CIDR slash-notation: for example: 192.0.2.1/32 &#40;&#40;&#40;2&#40;5&#91;0-5&#93;&#124;&#91;0-4&#93;&#91;0-9&#93;&#41;&#124;&#91;01&#93;?&#91;0-9&#93;&#91;0-9&#93;?&#41;\.&#41;&#123;3&#125;&#40;2&#40;5&#91;0-5&#93;&#124;&#91;0-4&#93;&#91;0-9&#93;&#41;&#124;&#91;01&#93;?&#91;0-9&#93;&#91;0-9&#93;?&#41;&#40;/&#40;3&#91;12&#93;&#124;&#91;12&#93;?&#91;0-9&#93;&#41;&#41;&#41; Matching IPv6: /&#40;&#40;&#40;&#91;0-9A-Fa-f&#93;&#123;1,4&#125;:&#41;&#123;7&#125;&#40;&#91;0-9A-Fa-f&#93;&#123;1,4&#125;&#124;:&#41;&#41;&#124;&#40;&#40;&#91;0-9A-Fa-f&#93;&#123;1,4&#125;:&#41;&#123;6&#125;&#40;:&#91;0-9A-Fa-f&#93;&#123;1,4&#125;&#124;&#40;&#40;25&#91;0-5&#93;&#124;2&#91;0-4&#93;\d&#124;1\d\d&#124;&#91;1-9&#93;?\d&#41;&#40;\.&#40;25&#91;0-5&#93;&#124;2&#91;0-4&#93;\d&#124;1\d\d&#124;&#91;1-9&#93;?\d&#41;&#41;&#123;3&#125;&#41;&#124;:&#41;&#41; &#124;&#40;&#40;&#91;0-9A-Fa-f&#93;&#123;1,4&#125;:&#41;&#123;5&#125;&#40;&#40;&#40;:&#91;0-9A-Fa-f&#93;&#123;1,4&#125;&#41;&#123;1,2&#125;&#41;&#124;:&#40;&#40;25&#91;0-5&#93;&#124;2&#91;0-4&#93;\d&#124;1\d\d&#124;&#91;1-9&#93;?\d&#41;&#40;\.&#40;25&#91;0-5&#93;&#124;2&#91;0-4&#93;\d&#124;1\d\d&#124;&#91;1-9&#93;?\d&#41;&#41;&#123;3&#125;&#41;&#124;:&#41;&#41;&#124;&#40;&#40;&#91;0-9A-Fa-f&#93;&#123;1,4&#125;:&#41;&#123;4&#125;&#40;&#40;&#40;: &#91;0-9A-Fa-f&#93;&#123;1,4&#125;&#41;&#123;1,3&#125;&#41;&#124;&#40;&#40;:&#91;0-9A-Fa-f&#93;&#123;1,4&#125;&#41;?:&#40;&#40;25&#91;0-5&#93;&#124;2&#91;0-4&#93;\d&#124;1\d\d&#124;&#91;1-9&#93;?\d&#41;&#40;\.&#40;25&#91;0-5&#93;&#124;2&#91;0-4&#93;\d&#124;1\d\d&#124;&#91;1-9&#93;?\d&#41;&#41;&#123;3&#125;&#41;&#41;&#124;:&#41;&#41;&#124;&#40;&#40;&#91;0-9A-Fa-f&#93;&#123;1,4&#125;:&#41;&#123;3&#125;&#40;&#40;&#40;: &#91;0-9A-Fa-f&#93;&#123;1,4&#125;&#41;&#123;1,4&#125;&#41;&#124;&#40;&#40;:&#91;0-9A-Fa-f&#93;&#123;1,4&#125;&#41;&#123;0,2&#125;:&#40;&#40;25&#91;0-5&#93;&#124;2&#91;0-4&#93;\d&#124;1\d\d&#124;&#91;1-9&#93;?\d&#41;&#40;\.&#40;25&#91;0-5&#93;&#124;2&#91;0-4&#93;\d&#124;1\d\d&#124;&#91;1-9&#93;?\d&#41;&#41;&#123;3&#125;&#41;&#41;&#124;:&#41;&#41;&#124;&#40;&#40;&#91;0-9A-Fa-f&#93;&#123;1,4&#125;:&#41;&#123;2&#125;&#40;&#40;&#40;: &#91;0-9A-Fa-f&#93;&#123;1,4&#125;&#41;&#123;1,5&#125;&#41;&#124;&#40;&#40;:&#91;0-9A-Fa-f&#93;&#123;1,4&#125;&#41;&#123;0,3&#125;:&#40;&#40;25&#91;0-5&#93;&#124;2&#91;0-4&#93;\d&#124;1\d\d&#124;&#91;1-9&#93;?\d&#41;&#40;\.&#40;25&#91;0-5&#93;&#124;2&#91;0-4&#93;\d&#124;1\d\d&#124;&#91;1-9&#93;?\d&#41;&#41;&#123;3&#125;&#41;&#41;&#124;:&#41;&#41;&#124;&#40;&#40;&#91;0-9A-Fa-f&#93;&#123;1,4&#125;:&#41;&#123;1&#125;&#40;&#40;&#40;: &#91;0-9A-Fa-f&#93;&#123;1,4&#125;&#41;&#123;1,6&#125;&#41;&#124;&#40;&#40;:&#91;0-9A-Fa-f&#93;&#123;1,4&#125;&#41;&#123;0,4&#125;:&#40;&#40;25&#91;0-5&#93;&#124;2&#91;0-4&#93;\d&#124;1\d\d&#124;&#91;1-9&#93;?\d&#41;&#40;\.&#40;25&#91;0-5&#93;&#124;2&#91;0-4&#93;\d&#124;1\d\d&#124;&#91;1-9&#93;?\d&#41;&#41;&#123;3&#125;&#41;&#41;&#124;:&#41;&#41;&#124;&#40;:&#40;&#40;&#40;:&#91;0-9A-Fa-f&#93;&#123;1,4&#125;&#41;&#123;1,7&#125;&#41; &#124;&#40;&#40;:&#91;0-9A-Fa-f&#93;&#123;1,4&#125;&#41;&#123;0,5&#125;:&#40;&#40;25&#91;0-5&#93;&#124;2&#91;0-4&#93;\d&#124;1\d\d&#124;&#91;1-9&#93;?\d&#41;&#40;\.&#40;25&#91;0-5&#93;&#124;2&#91;0-4&#93;\d&#124;1\d\d&#124;&#91;1-9&#93;?\d&#41;&#41;&#123;3&#125;&#41;&#41;&#124;:&#41;&#41;&#41;&#40;%.+&#41;?/ The regex matches the following IPv6 address forms. Note that these are all the same address: fe80:0000:0000:0000:0204:61ff:fe9d:f156 [...]]]></description>
			<content:encoded><![CDATA[<p>A few regular expressions proven quite handy in day-to-day work, creds to kll at <a href="http://labs.spritelink.net/">http://labs.spritelink.net/</a></p>
<p><strong>Matching IPv4:</strong><br />
for example: 192.0.2.1</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="c"><pre class="de1"><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="nu0">2</span><span class="br0">&#40;</span><span class="nu0">5</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">5</span><span class="br0">&#93;</span><span class="sy0">|</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">4</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">9</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">|</span><span class="br0">&#91;</span><span class="nu8">01</span><span class="br0">&#93;</span><span class="sy0">?</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">9</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">9</span><span class="br0">&#93;</span><span class="sy0">?</span><span class="br0">&#41;</span>\.<span class="br0">&#41;</span><span class="br0">&#123;</span><span class="nu0">3</span><span class="br0">&#125;</span><span class="br0">&#40;</span><span class="nu0">2</span><span class="br0">&#40;</span><span class="nu0">5</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">5</span><span class="br0">&#93;</span><span class="sy0">|</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">4</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">9</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">|</span><span class="br0">&#91;</span><span class="nu8">01</span><span class="br0">&#93;</span><span class="sy0">?</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">9</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">9</span><span class="br0">&#93;</span><span class="sy0">?</span><span class="br0">&#41;</span><span class="br0">&#41;</span></pre></div></div></div></div></div></div></div>


<p><strong>Matching IPv4 CIDR slash-notation:</strong><br />
for example: 192.0.2.1/32</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="c"><pre class="de1"><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="nu0">2</span><span class="br0">&#40;</span><span class="nu0">5</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">5</span><span class="br0">&#93;</span><span class="sy0">|</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">4</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">9</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">|</span><span class="br0">&#91;</span><span class="nu8">01</span><span class="br0">&#93;</span><span class="sy0">?</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">9</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">9</span><span class="br0">&#93;</span><span class="sy0">?</span><span class="br0">&#41;</span>\.<span class="br0">&#41;</span><span class="br0">&#123;</span><span class="nu0">3</span><span class="br0">&#125;</span><span class="br0">&#40;</span><span class="nu0">2</span><span class="br0">&#40;</span><span class="nu0">5</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">5</span><span class="br0">&#93;</span><span class="sy0">|</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">4</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">9</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">|</span><span class="br0">&#91;</span><span class="nu8">01</span><span class="br0">&#93;</span><span class="sy0">?</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">9</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">9</span><span class="br0">&#93;</span><span class="sy0">?</span><span class="br0">&#41;</span><span class="br0">&#40;</span><span class="sy0">/</span><span class="br0">&#40;</span><span class="nu0">3</span><span class="br0">&#91;</span><span class="nu0">12</span><span class="br0">&#93;</span><span class="sy0">|</span><span class="br0">&#91;</span><span class="nu0">12</span><span class="br0">&#93;</span><span class="sy0">?</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">9</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span></pre></div></div></div></div></div></div></div>


<p><strong>Matching IPv6:</strong></p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="c"><pre class="de1"><span class="sy0">/</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span>9A<span class="sy0">-</span>Fa<span class="sy0">-</span>f<span class="br0">&#93;</span><span class="br0">&#123;</span><span class="nu0">1</span><span class="sy0">,</span><span class="nu0">4</span><span class="br0">&#125;</span><span class="sy0">:</span><span class="br0">&#41;</span><span class="br0">&#123;</span><span class="nu0">7</span><span class="br0">&#125;</span><span class="br0">&#40;</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span>9A<span class="sy0">-</span>Fa<span class="sy0">-</span>f<span class="br0">&#93;</span><span class="br0">&#123;</span><span class="nu0">1</span><span class="sy0">,</span><span class="nu0">4</span><span class="br0">&#125;</span><span class="sy0">|:</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">|</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span>9A<span class="sy0">-</span>Fa<span class="sy0">-</span>f<span class="br0">&#93;</span><span class="br0">&#123;</span><span class="nu0">1</span><span class="sy0">,</span><span class="nu0">4</span><span class="br0">&#125;</span><span class="sy0">:</span><span class="br0">&#41;</span><span class="br0">&#123;</span><span class="nu0">6</span><span class="br0">&#125;</span><span class="br0">&#40;</span><span class="sy0">:</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span>9A<span class="sy0">-</span>Fa<span class="sy0">-</span>f<span class="br0">&#93;</span><span class="br0">&#123;</span><span class="nu0">1</span><span class="sy0">,</span><span class="nu0">4</span><span class="br0">&#125;</span><span class="sy0">|</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="nu0">25</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">5</span><span class="br0">&#93;</span><span class="sy0">|</span><span class="nu0">2</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">4</span><span class="br0">&#93;</span>\d<span class="sy0">|</span><span class="nu0">1</span>\d\d<span class="sy0">|</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="sy0">-</span><span class="nu0">9</span><span class="br0">&#93;</span><span class="sy0">?</span>\d<span class="br0">&#41;</span><span class="br0">&#40;</span>\.<span class="br0">&#40;</span><span class="nu0">25</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">5</span><span class="br0">&#93;</span><span class="sy0">|</span><span class="nu0">2</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">4</span><span class="br0">&#93;</span>\d<span class="sy0">|</span><span class="nu0">1</span>\d\d<span class="sy0">|</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="sy0">-</span><span class="nu0">9</span><span class="br0">&#93;</span><span class="sy0">?</span>\d<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#123;</span><span class="nu0">3</span><span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">|:</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
<span class="sy0">|</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span>9A<span class="sy0">-</span>Fa<span class="sy0">-</span>f<span class="br0">&#93;</span><span class="br0">&#123;</span><span class="nu0">1</span><span class="sy0">,</span><span class="nu0">4</span><span class="br0">&#125;</span><span class="sy0">:</span><span class="br0">&#41;</span><span class="br0">&#123;</span><span class="nu0">5</span><span class="br0">&#125;</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="sy0">:</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span>9A<span class="sy0">-</span>Fa<span class="sy0">-</span>f<span class="br0">&#93;</span><span class="br0">&#123;</span><span class="nu0">1</span><span class="sy0">,</span><span class="nu0">4</span><span class="br0">&#125;</span><span class="br0">&#41;</span><span class="br0">&#123;</span><span class="nu0">1</span><span class="sy0">,</span><span class="nu0">2</span><span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">|:</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="nu0">25</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">5</span><span class="br0">&#93;</span><span class="sy0">|</span><span class="nu0">2</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">4</span><span class="br0">&#93;</span>\d<span class="sy0">|</span><span class="nu0">1</span>\d\d<span class="sy0">|</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="sy0">-</span><span class="nu0">9</span><span class="br0">&#93;</span><span class="sy0">?</span>\d<span class="br0">&#41;</span><span class="br0">&#40;</span>\.<span class="br0">&#40;</span><span class="nu0">25</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">5</span><span class="br0">&#93;</span><span class="sy0">|</span><span class="nu0">2</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">4</span><span class="br0">&#93;</span>\d<span class="sy0">|</span><span class="nu0">1</span>\d\d<span class="sy0">|</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="sy0">-</span><span class="nu0">9</span><span class="br0">&#93;</span><span class="sy0">?</span>\d<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#123;</span><span class="nu0">3</span><span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">|:</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">|</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span>9A<span class="sy0">-</span>Fa<span class="sy0">-</span>f<span class="br0">&#93;</span><span class="br0">&#123;</span><span class="nu0">1</span><span class="sy0">,</span><span class="nu0">4</span><span class="br0">&#125;</span><span class="sy0">:</span><span class="br0">&#41;</span><span class="br0">&#123;</span><span class="nu0">4</span><span class="br0">&#125;</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="sy0">:</span>
<span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span>9A<span class="sy0">-</span>Fa<span class="sy0">-</span>f<span class="br0">&#93;</span><span class="br0">&#123;</span><span class="nu0">1</span><span class="sy0">,</span><span class="nu0">4</span><span class="br0">&#125;</span><span class="br0">&#41;</span><span class="br0">&#123;</span><span class="nu0">1</span><span class="sy0">,</span><span class="nu0">3</span><span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">|</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="sy0">:</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span>9A<span class="sy0">-</span>Fa<span class="sy0">-</span>f<span class="br0">&#93;</span><span class="br0">&#123;</span><span class="nu0">1</span><span class="sy0">,</span><span class="nu0">4</span><span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">?:</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="nu0">25</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">5</span><span class="br0">&#93;</span><span class="sy0">|</span><span class="nu0">2</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">4</span><span class="br0">&#93;</span>\d<span class="sy0">|</span><span class="nu0">1</span>\d\d<span class="sy0">|</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="sy0">-</span><span class="nu0">9</span><span class="br0">&#93;</span><span class="sy0">?</span>\d<span class="br0">&#41;</span><span class="br0">&#40;</span>\.<span class="br0">&#40;</span><span class="nu0">25</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">5</span><span class="br0">&#93;</span><span class="sy0">|</span><span class="nu0">2</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">4</span><span class="br0">&#93;</span>\d<span class="sy0">|</span><span class="nu0">1</span>\d\d<span class="sy0">|</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="sy0">-</span><span class="nu0">9</span><span class="br0">&#93;</span><span class="sy0">?</span>\d<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#123;</span><span class="nu0">3</span><span class="br0">&#125;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">|:</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">|</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span>9A<span class="sy0">-</span>Fa<span class="sy0">-</span>f<span class="br0">&#93;</span><span class="br0">&#123;</span><span class="nu0">1</span><span class="sy0">,</span><span class="nu0">4</span><span class="br0">&#125;</span><span class="sy0">:</span><span class="br0">&#41;</span><span class="br0">&#123;</span><span class="nu0">3</span><span class="br0">&#125;</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="sy0">:</span>
<span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span>9A<span class="sy0">-</span>Fa<span class="sy0">-</span>f<span class="br0">&#93;</span><span class="br0">&#123;</span><span class="nu0">1</span><span class="sy0">,</span><span class="nu0">4</span><span class="br0">&#125;</span><span class="br0">&#41;</span><span class="br0">&#123;</span><span class="nu0">1</span><span class="sy0">,</span><span class="nu0">4</span><span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">|</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="sy0">:</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span>9A<span class="sy0">-</span>Fa<span class="sy0">-</span>f<span class="br0">&#93;</span><span class="br0">&#123;</span><span class="nu0">1</span><span class="sy0">,</span><span class="nu0">4</span><span class="br0">&#125;</span><span class="br0">&#41;</span><span class="br0">&#123;</span><span class="nu0">0</span><span class="sy0">,</span><span class="nu0">2</span><span class="br0">&#125;</span><span class="sy0">:</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="nu0">25</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">5</span><span class="br0">&#93;</span><span class="sy0">|</span><span class="nu0">2</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">4</span><span class="br0">&#93;</span>\d<span class="sy0">|</span><span class="nu0">1</span>\d\d<span class="sy0">|</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="sy0">-</span><span class="nu0">9</span><span class="br0">&#93;</span><span class="sy0">?</span>\d<span class="br0">&#41;</span><span class="br0">&#40;</span>\.<span class="br0">&#40;</span><span class="nu0">25</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">5</span><span class="br0">&#93;</span><span class="sy0">|</span><span class="nu0">2</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">4</span><span class="br0">&#93;</span>\d<span class="sy0">|</span><span class="nu0">1</span>\d\d<span class="sy0">|</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="sy0">-</span><span class="nu0">9</span><span class="br0">&#93;</span><span class="sy0">?</span>\d<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#123;</span><span class="nu0">3</span><span class="br0">&#125;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">|:</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">|</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span>9A<span class="sy0">-</span>Fa<span class="sy0">-</span>f<span class="br0">&#93;</span><span class="br0">&#123;</span><span class="nu0">1</span><span class="sy0">,</span><span class="nu0">4</span><span class="br0">&#125;</span><span class="sy0">:</span><span class="br0">&#41;</span><span class="br0">&#123;</span><span class="nu0">2</span><span class="br0">&#125;</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="sy0">:</span>
<span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span>9A<span class="sy0">-</span>Fa<span class="sy0">-</span>f<span class="br0">&#93;</span><span class="br0">&#123;</span><span class="nu0">1</span><span class="sy0">,</span><span class="nu0">4</span><span class="br0">&#125;</span><span class="br0">&#41;</span><span class="br0">&#123;</span><span class="nu0">1</span><span class="sy0">,</span><span class="nu0">5</span><span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">|</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="sy0">:</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span>9A<span class="sy0">-</span>Fa<span class="sy0">-</span>f<span class="br0">&#93;</span><span class="br0">&#123;</span><span class="nu0">1</span><span class="sy0">,</span><span class="nu0">4</span><span class="br0">&#125;</span><span class="br0">&#41;</span><span class="br0">&#123;</span><span class="nu0">0</span><span class="sy0">,</span><span class="nu0">3</span><span class="br0">&#125;</span><span class="sy0">:</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="nu0">25</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">5</span><span class="br0">&#93;</span><span class="sy0">|</span><span class="nu0">2</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">4</span><span class="br0">&#93;</span>\d<span class="sy0">|</span><span class="nu0">1</span>\d\d<span class="sy0">|</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="sy0">-</span><span class="nu0">9</span><span class="br0">&#93;</span><span class="sy0">?</span>\d<span class="br0">&#41;</span><span class="br0">&#40;</span>\.<span class="br0">&#40;</span><span class="nu0">25</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">5</span><span class="br0">&#93;</span><span class="sy0">|</span><span class="nu0">2</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">4</span><span class="br0">&#93;</span>\d<span class="sy0">|</span><span class="nu0">1</span>\d\d<span class="sy0">|</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="sy0">-</span><span class="nu0">9</span><span class="br0">&#93;</span><span class="sy0">?</span>\d<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#123;</span><span class="nu0">3</span><span class="br0">&#125;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">|:</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">|</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span>9A<span class="sy0">-</span>Fa<span class="sy0">-</span>f<span class="br0">&#93;</span><span class="br0">&#123;</span><span class="nu0">1</span><span class="sy0">,</span><span class="nu0">4</span><span class="br0">&#125;</span><span class="sy0">:</span><span class="br0">&#41;</span><span class="br0">&#123;</span><span class="nu0">1</span><span class="br0">&#125;</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="sy0">:</span>
<span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span>9A<span class="sy0">-</span>Fa<span class="sy0">-</span>f<span class="br0">&#93;</span><span class="br0">&#123;</span><span class="nu0">1</span><span class="sy0">,</span><span class="nu0">4</span><span class="br0">&#125;</span><span class="br0">&#41;</span><span class="br0">&#123;</span><span class="nu0">1</span><span class="sy0">,</span><span class="nu0">6</span><span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">|</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="sy0">:</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span>9A<span class="sy0">-</span>Fa<span class="sy0">-</span>f<span class="br0">&#93;</span><span class="br0">&#123;</span><span class="nu0">1</span><span class="sy0">,</span><span class="nu0">4</span><span class="br0">&#125;</span><span class="br0">&#41;</span><span class="br0">&#123;</span><span class="nu0">0</span><span class="sy0">,</span><span class="nu0">4</span><span class="br0">&#125;</span><span class="sy0">:</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="nu0">25</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">5</span><span class="br0">&#93;</span><span class="sy0">|</span><span class="nu0">2</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">4</span><span class="br0">&#93;</span>\d<span class="sy0">|</span><span class="nu0">1</span>\d\d<span class="sy0">|</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="sy0">-</span><span class="nu0">9</span><span class="br0">&#93;</span><span class="sy0">?</span>\d<span class="br0">&#41;</span><span class="br0">&#40;</span>\.<span class="br0">&#40;</span><span class="nu0">25</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">5</span><span class="br0">&#93;</span><span class="sy0">|</span><span class="nu0">2</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">4</span><span class="br0">&#93;</span>\d<span class="sy0">|</span><span class="nu0">1</span>\d\d<span class="sy0">|</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="sy0">-</span><span class="nu0">9</span><span class="br0">&#93;</span><span class="sy0">?</span>\d<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#123;</span><span class="nu0">3</span><span class="br0">&#125;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">|:</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">|</span><span class="br0">&#40;</span><span class="sy0">:</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="sy0">:</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span>9A<span class="sy0">-</span>Fa<span class="sy0">-</span>f<span class="br0">&#93;</span><span class="br0">&#123;</span><span class="nu0">1</span><span class="sy0">,</span><span class="nu0">4</span><span class="br0">&#125;</span><span class="br0">&#41;</span><span class="br0">&#123;</span><span class="nu0">1</span><span class="sy0">,</span><span class="nu0">7</span><span class="br0">&#125;</span><span class="br0">&#41;</span>
<span class="sy0">|</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="sy0">:</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span>9A<span class="sy0">-</span>Fa<span class="sy0">-</span>f<span class="br0">&#93;</span><span class="br0">&#123;</span><span class="nu0">1</span><span class="sy0">,</span><span class="nu0">4</span><span class="br0">&#125;</span><span class="br0">&#41;</span><span class="br0">&#123;</span><span class="nu0">0</span><span class="sy0">,</span><span class="nu0">5</span><span class="br0">&#125;</span><span class="sy0">:</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="nu0">25</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">5</span><span class="br0">&#93;</span><span class="sy0">|</span><span class="nu0">2</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">4</span><span class="br0">&#93;</span>\d<span class="sy0">|</span><span class="nu0">1</span>\d\d<span class="sy0">|</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="sy0">-</span><span class="nu0">9</span><span class="br0">&#93;</span><span class="sy0">?</span>\d<span class="br0">&#41;</span><span class="br0">&#40;</span>\.<span class="br0">&#40;</span><span class="nu0">25</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">5</span><span class="br0">&#93;</span><span class="sy0">|</span><span class="nu0">2</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">4</span><span class="br0">&#93;</span>\d<span class="sy0">|</span><span class="nu0">1</span>\d\d<span class="sy0">|</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="sy0">-</span><span class="nu0">9</span><span class="br0">&#93;</span><span class="sy0">?</span>\d<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#123;</span><span class="nu0">3</span><span class="br0">&#125;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">|:</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#40;</span><span class="sy0">%</span>.<span class="sy0">+</span><span class="br0">&#41;</span><span class="sy0">?/</span></pre></div></div></div></div></div></div></div>


<p>The regex matches the following IPv6 address forms. Note that these are all the same address:</p>
<p><strong>fe80:0000:0000:0000:0204:61ff:fe9d:f156</strong> // full form of IPv6<br />
<strong>fe80:0:0:0:204:61ff:fe9d:f156</strong> // drop leading zeroes<br />
<strong>fe80::204:61ff:fe9d:f156</strong> // collapse multiple zeroes to :: in the IPv6 address<br />
<strong>fe80:0000:0000:0000:0204:61ff:254.157.241.086</strong> // IPv4 dotted quad at the end<br />
<strong>fe80:0:0:0:0204:61ff:254.157.241.86</strong> // drop leading zeroes, IPv4 dotted quad at the end<br />
<strong>fe80::204:61ff:254.157.241.86</strong> // dotted quad at the end, multiple zeroes collapsed</p>
<p>In addition, the regular expression matches these IPv6 forms:</p>
<p><strong>::1</strong> // localhost<br />
<strong>fe80::</strong> // link-local prefix<br />
<strong>2000::</strong> // global unicast prefix</p>
<p>One could optionally append the following to match on a slash-notation style prefix.</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="c"><pre class="de1"><span class="br0">&#40;</span><span class="sy0">/</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">9</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">9</span><span class="br0">&#93;</span><span class="sy0">?|</span><span class="nu0">1</span><span class="br0">&#40;</span><span class="br0">&#91;</span><span class="nu8">01</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">9</span><span class="br0">&#93;</span><span class="sy0">|</span><span class="nu0">2</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="sy0">-</span><span class="nu0">8</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">?</span></pre></div></div></div></div></div></div></div>




	<a rel='nofollow'  href='http://www.facebook.com/share.php?u=http%3A%2F%2Fmute.nu%2F2011%2Fregular-expressions-for-networking%2F&amp;t=Regular%20expressions%20for%20networking' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/facebook.png' title='Facebook' alt='Facebook' class='' /></a>
	<a rel='nofollow'  href='http://twitter.com/home?status=Regular%20expressions%20for%20networking%20-%20http%3A%2F%2Fmute.nu%2F2011%2Fregular-expressions-for-networking%2F' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/twitter.png' title='Twitter' alt='Twitter' class='' /></a>
	<a rel='nofollow'  href='http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fmute.nu%2F2011%2Fregular-expressions-for-networking%2F&amp;title=Regular%20expressions%20for%20networking&amp;bodytext=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/digg.png' title='Digg' alt='Digg' class='' /></a>
	<a rel='nofollow'  href='http://delicious.com/post?url=http%3A%2F%2Fmute.nu%2F2011%2Fregular-expressions-for-networking%2F&amp;title=Regular%20expressions%20for%20networking&amp;notes=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/delicious.png' title='del.icio.us' alt='del.icio.us' class='' /></a>
	<a rel='nofollow'  href='http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fmute.nu%2F2011%2Fregular-expressions-for-networking%2F&amp;title=Regular%20expressions%20for%20networking&amp;source=LPE+Random+ramblings+about+things+related+to+the+digital+world&amp;summary=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/linkedin.png' title='LinkedIn' alt='LinkedIn' class='' /></a>
	<a rel='nofollow'  href='http://mute.nu/feed/' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/rss.png' title='RSS' alt='RSS' class='' /></a>
	<a rel='nofollow'  href='http://www.stumbleupon.com/submit?url=http%3A%2F%2Fmute.nu%2F2011%2Fregular-expressions-for-networking%2F&amp;title=Regular%20expressions%20for%20networking' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/stumbleupon.png' title='StumbleUpon' alt='StumbleUpon' class='' /></a>
	<a rel='nofollow'  href='http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fmute.nu%2F2011%2Fregular-expressions-for-networking%2F&amp;title=Regular%20expressions%20for%20networking&amp;annotation=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/googlebookmark.png' title='Google Bookmarks' alt='Google Bookmarks' class='' /></a>
	<a rel='nofollow'  href='http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Fmute.nu%2F2011%2Fregular-expressions-for-networking%2F&amp;submitHeadline=Regular%20expressions%20for%20networking&amp;submitSummary=&amp;submitCategory=science&amp;submitAssetType=text' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/yahoobuzz.png' title='Yahoo! Buzz' alt='Yahoo! Buzz' class='' /></a>
	<a rel='nofollow'  href='mailto:?subject=Regular%20expressions%20for%20networking&amp;body=http%3A%2F%2Fmute.nu%2F2011%2Fregular-expressions-for-networking%2F' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/email_link.png' title='email' alt='email' class='' /></a>
	<a rel='nofollow'  href='http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fmute.nu%2F2011%2Fregular-expressions-for-networking%2F&amp;t=Regular%20expressions%20for%20networking' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/myspace.png' title='MySpace' alt='MySpace' class='' /></a>
	<a rel='nofollow'  href='http://www.printfriendly.com/print?url=http%3A%2F%2Fmute.nu%2F2011%2Fregular-expressions-for-networking%2F&amp;partner=sociable' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/pdf.png' title='PDF' alt='PDF' class='' /></a>
	<a rel='nofollow'  href='http://www.printfriendly.com/print?url=http%3A%2F%2Fmute.nu%2F2011%2Fregular-expressions-for-networking%2F&amp;partner=sociable' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/printfriendly.png' title='Print' alt='Print' class='' /></a>
	<a rel='nofollow'  href='http://reddit.com/submit?url=http%3A%2F%2Fmute.nu%2F2011%2Fregular-expressions-for-networking%2F&amp;title=Regular%20expressions%20for%20networking' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/reddit.png' title='Reddit' alt='Reddit' class='' /></a>
	<a rel='nofollow'  href='http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fmute.nu%2F2011%2Fregular-expressions-for-networking%2F&amp;t=Regular%20expressions%20for%20networking&amp;s=' ><img src='http://mute.nu/wp-content/plugins/one-social/images/default/16/tumblr.png' title='Tumblr' alt='Tumblr' class='' /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://mute.nu/2011/regular-expressions-for-networking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

