<?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>Long-term Memory &#187; links</title>
	<atom:link href="http://blog.dest-unreach.be/tag/links/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.dest-unreach.be</link>
	<description>A collection of note-to-self&#039;s</description>
	<lastBuildDate>Sun, 29 Jan 2012 16:05:00 +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>Hopping from host to host with SSH, automatically</title>
		<link>http://blog.dest-unreach.be/2010/10/20/hopping-from-host-to-host-with-ssh-automatically</link>
		<comments>http://blog.dest-unreach.be/2010/10/20/hopping-from-host-to-host-with-ssh-automatically#comments</comments>
		<pubDate>Wed, 20 Oct 2010 08:16:03 +0000</pubDate>
		<dc:creator>Niobos</dc:creator>
				<category><![CDATA[Networking & Security]]></category>
		<category><![CDATA[dmz]]></category>
		<category><![CDATA[links]]></category>
		<category><![CDATA[SSH]]></category>

		<guid isPermaLink="false">http://blog.dest-unreach.be/?p=1887</guid>
		<description><![CDATA[I usually don&#8217;t just repost other people&#8217;s posts, but this one really deserves some extra attention. It explains a very elegant way to hop using SSH. In every network setup with some level of security, there are hosts that can&#8217;t be reached directly. Instead, you need to connect to some intermediate machine first, and hop [...]]]></description>
			<content:encoded><![CDATA[<p>I usually don&#8217;t just repost other people&#8217;s posts, but <a href="http://www.arrfab.net/blog/?p=246">this one</a> really deserves some extra attention. It explains a very elegant way to hop using SSH.</p>
<p><span id="more-1887"></span></p>
<p>In every network setup with some level of security, there are hosts that can&#8217;t be reached directly. Instead, you need to connect to some intermediate machine first, and hop further from there. If you have set up public key authentication, SSH can do all of this for you in the background, just add a few config lines to .ssh/config:</p>
<blockquote><p>Host IP.or.fqdn.only.reachable.from.intermediate-host<br />
ProxyCommand ssh intermediate-host nc %h %p</p></blockquote>
<p>This will issue an SSH connection to intermediate host, launch a <a href="http://netcat.sourceforge.net/">netcat</a> process to realize the hop, and connect to your unreachable host. Obviously, <a href="http://netcat.sourceforge.net/">netcat</a> or <a href="http://freshmeat.net/projects/socat/">similar</a> is required on intermediate-host.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dest-unreach.be/2010/10/20/hopping-from-host-to-host-with-ssh-automatically/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>DNS(SEC) &#8211; Firewall issues</title>
		<link>http://blog.dest-unreach.be/2010/02/10/dnssec-firewall-issues</link>
		<comments>http://blog.dest-unreach.be/2010/02/10/dnssec-firewall-issues#comments</comments>
		<pubDate>Wed, 10 Feb 2010 18:03:25 +0000</pubDate>
		<dc:creator>Niobos</dc:creator>
				<category><![CDATA[Networking & Security]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[dnssec]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[links]]></category>
		<category><![CDATA[NAT]]></category>

		<guid isPermaLink="false">http://blog.dest-unreach.be/?p=1630</guid>
		<description><![CDATA[I just read this message by Mark Andrews on the BIND mailing list. It explains the possible issues with DNSSEC and over-protective firewalls, giving test-commands to verify your setup. This post is also interesting for regular DNS traffic, since a firewall doesn&#8217;t know the difference. Here is the most interesting part: First, you should verify [...]]]></description>
			<content:encoded><![CDATA[<p>I just read <a href="https://lists.isc.org/pipermail/bind-users/2010-February/078755.html">this message</a> by Mark Andrews on the <a href="https://lists.isc.org/mailman/listinfo/bind-users">BIND mailing list</a>. It explains the possible issues with DNSSEC and over-protective firewalls, giving test-commands to verify your setup. This post is also interesting for regular DNS traffic, since a firewall doesn&#8217;t know the difference.</p>
<p><span id="more-1630"></span> Here is the most interesting part:</p>
<blockquote><p>First, you should verify that you can talk to L.ROOT-SERVERS.NET using plain DNS.  This will ensure that failures in the subsequent tests are meaningful.</p>
<p>e.g.</p>
<pre>dig +nodnssec +norec +ignore ns . @L.ROOT-SERVERS.NET

; &lt;&lt;&gt;&gt; DiG 9.3.6-P1 &lt;&lt;&gt;&gt; +nodnssec +norec +ignore ns . @L.ROOT-SERVERS.NET
;; global options:  printcmd
;; Got answer:
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 39974
;; flags: qr aa; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 15

;; QUESTION SECTION:
;.				IN	NS

;; ANSWER SECTION:
.			518400	IN	NS	a.root-servers.net.
.			518400	IN	NS	b.root-servers.net.
.			518400	IN	NS	c.root-servers.net.
.			518400	IN	NS	d.root-servers.net.
.			518400	IN	NS	e.root-servers.net.
.			518400	IN	NS	f.root-servers.net.
.			518400	IN	NS	g.root-servers.net.
.			518400	IN	NS	h.root-servers.net.
.			518400	IN	NS	i.root-servers.net.
.			518400	IN	NS	j.root-servers.net.
.			518400	IN	NS	k.root-servers.net.
.			518400	IN	NS	l.root-servers.net.
.			518400	IN	NS	m.root-servers.net.

;; ADDITIONAL SECTION:
a.root-servers.net.	518400	IN	A	198.41.0.4
b.root-servers.net.	518400	IN	A	192.228.79.201
c.root-servers.net.	518400	IN	A	192.33.4.12
d.root-servers.net.	518400	IN	A	128.8.10.90
e.root-servers.net.	518400	IN	A	192.203.230.10
f.root-servers.net.	518400	IN	A	192.5.5.241
g.root-servers.net.	518400	IN	A	192.112.36.4
h.root-servers.net.	518400	IN	A	128.63.2.53
i.root-servers.net.	518400	IN	A	192.36.148.17
j.root-servers.net.	518400	IN	A	192.58.128.30
k.root-servers.net.	518400	IN	A	193.0.14.129
l.root-servers.net.	518400	IN	A	199.7.83.42
m.root-servers.net.	518400	IN	A	202.12.27.33
a.root-servers.net.	518400	IN	AAAA	2001:503:ba3e::2:30
f.root-servers.net.	518400	IN	AAAA	2001:500:2f::f

;; Query time: 189 msec
;; SERVER: 2001:500:3::42#53(2001:500:3::42)
;; WHEN: Mon Feb  8 13:05:49 2010
;; MSG SIZE  rcvd: 492</pre>
<p>Next we will see whether you can receive an answer that is greater than 512 bytes.  This test simulates how named makes its initial queries. Most signed responses fit between 512 bytes and 1500 bytes and are returned in a single un-fragmented UDP packet.  This test is designed to check this case.</p>
<p>e.g.</p>
<pre>dig +dnssec +norec +ignore ns . @L.ROOT-SERVERS.NET

; &lt;&lt;&gt;&gt; DiG 9.3.6-P1 &lt;&lt;&gt;&gt; +dnssec +norec +ignore ns . @L.ROOT-SERVERS.NET
;; global options:  printcmd
;; Got answer:
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 381
;; flags: qr aa; QUERY: 1, ANSWER: 14, AUTHORITY: 0, ADDITIONAL: 21

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;.				IN	NS

;; ANSWER SECTION:
.			518400	IN	NS	a.root-servers.net.
.			518400	IN	NS	b.root-servers.net.
.			518400	IN	NS	c.root-servers.net.
.			518400	IN	NS	d.root-servers.net.
.			518400	IN	NS	e.root-servers.net.
.			518400	IN	NS	f.root-servers.net.
.			518400	IN	NS	g.root-servers.net.
.			518400	IN	NS	h.root-servers.net.
.			518400	IN	NS	i.root-servers.net.
.			518400	IN	NS	j.root-servers.net.
.			518400	IN	NS	k.root-servers.net.
.			518400	IN	NS	l.root-servers.net.
.			518400	IN	NS	m.root-servers.net.
.			518400	IN	RRSIG	NS 8 0 518400 20100214000000 20100206230000 23763 . JWEPSBVBz37WV/cvjxtlBGGLFe88ojhBM3ZZW+ZC2umpQq5lMSnE/3vO WGVWq8gOFs/mlmXttk80WxwZfUvgDXddNtqbNoNWZaGPbH9F2O+B6yDX n6jE4EcMRcjoL752uZTDMZ8WHEiEorjxsVYr1ae1MYZO5K0CqzX/qkUW 1DY=

;; ADDITIONAL SECTION:
a.root-servers.net.	518400	IN	A	198.41.0.4
b.root-servers.net.	518400	IN	A	192.228.79.201
c.root-servers.net.	518400	IN	A	192.33.4.12
d.root-servers.net.	518400	IN	A	128.8.10.90
e.root-servers.net.	518400	IN	A	192.203.230.10
f.root-servers.net.	518400	IN	A	192.5.5.241
g.root-servers.net.	518400	IN	A	192.112.36.4
h.root-servers.net.	518400	IN	A	128.63.2.53
i.root-servers.net.	518400	IN	A	192.36.148.17
j.root-servers.net.	518400	IN	A	192.58.128.30
k.root-servers.net.	518400	IN	A	193.0.14.129
l.root-servers.net.	518400	IN	A	199.7.83.42
m.root-servers.net.	518400	IN	A	202.12.27.33
a.root-servers.net.	518400	IN	AAAA	2001:503:ba3e::2:30
f.root-servers.net.	518400	IN	AAAA	2001:500:2f::f
h.root-servers.net.	518400	IN	AAAA	2001:500:1::803f:235
j.root-servers.net.	518400	IN	AAAA	2001:503:c27::2:30
k.root-servers.net.	518400	IN	AAAA	2001:7fd::1
l.root-servers.net.	518400	IN	AAAA	2001:500:3::42
m.root-servers.net.	518400	IN	AAAA	2001:dc3::35

;; Query time: 191 msec
;; SERVER: 2001:500:3::42#53(2001:500:3::42)
;; WHEN: Mon Feb  8 12:51:28 2010
;; MSG SIZE  rcvd: 801</pre>
<p>If you get a response like this then your firewall passes UDP responses greater than 512 bytes.</p>
<p>If you did not get a response like this, you need to fix your firewall.</p>
<p>Next we will test to see whether you can get a response greater than 1500 bytes.  Such responses are normally fragmented, and this test will find out whether your firewall will pass fragmented UDP packets. Failure to pass such responses will force named to fall back to using queries which are likely to trigger the use of TCP, which should be avoided.  Failure to pass such answers will also slow up the resolution process.</p>
<p>e.g.</p>
<pre>dig +dnssec +norec +ignore any . @L.ROOT-SERVERS.NET

; &lt;&lt;&gt;&gt; DiG 9.3.6-P1 &lt;&lt;&gt;&gt; +dnssec +norec +ignore any . @L.ROOT-SERVERS.NET
;; global options:  printcmd
;; Got answer:
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 57084
;; flags: qr aa; QUERY: 1, ANSWER: 21, AUTHORITY: 0, ADDITIONAL: 21

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;.				IN	ANY

;; ANSWER SECTION:
.			86400	IN	NSEC	ac. NS SOA RRSIG NSEC DNSKEY
.			86400	IN	RRSIG	NSEC 8 0 86400 20100214000000 20100206230000 23763 . haTtgLwOQ9Bm2F9BRqMtAzahIuUWrjcmRjFGI5s5jGUVpjgq/MOl7wRi IJ1nLQkXThzc8hn6b3faXXIhHE/8MShzOG4wFbHwJyltx8IT9E8XP4P5 Fz9TuE3EEElNE6GZNAg8UM4r8hyv/PSM8e7offdh7pg32kfW6fgoLsHy 8yQ=
.			86400	IN	DNSKEY	256 3 8 AwEAAa1Lh++++++++++++++++THIS/IS/AN/INVALID/KEY/AND/SHOU LD/NOT/BE/USED/CONTACT/ROOTSIGN/AT/ICANN/DOT/ORG/FOR/MOR E/INFORMATION+++++++++++++++++++++++++++++++++++++++++++ +++++++8
.			86400	IN	DNSKEY	257 3 8 AwEAAawBe++++++++++++++++THIS/IS/AN/INVALID/KEY/AND/SHOU LD/NOT/BE/USED/CONTACT/ROOTSIGN/AT/ICANN/DOT/ORG/FOR/MOR E/INFORMATION+++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++8=
.			86400	IN	RRSIG	DNSKEY 8 0 86400 20100214235959 20100131000000 19324 . v2DVoP16w3dqsOooCxAb393ExF6p1t3d3qJsYPkeV96/t3HIuVLnxpbV 02Wx+BR7dwLiURASmebvEhZrR4gNqO15M5gerrzDdY0IXA0q0xVAUj/J NvkdiniXjoQYGUwjJsdfqxvD7NQPtSz4YTuOvMlVffV1F2Bc6Woid7AK JGkb24MeQlAMy/gQqcLPs6c3a9RvZEwofMul66bUswGS+YsL8x9A6Cbt 1bdyhRUNYSl7AifA4++Pu+0MLpbrxH7DLI8O9ZfCA3LsEQUOFjYA+2jJ mzgFqZAU0HvxeQyStnLF3/bf7qifRegrn6+cTKjKtUZ52/kUFiaqgT2t 9TemTg==
.			518400	IN	NS	a.root-servers.net.
.			518400	IN	NS	b.root-servers.net.
.			518400	IN	NS	c.root-servers.net.
.			518400	IN	NS	d.root-servers.net.
.			518400	IN	NS	e.root-servers.net.
.			518400	IN	NS	f.root-servers.net.
.			518400	IN	NS	g.root-servers.net.
.			518400	IN	NS	h.root-servers.net.
.			518400	IN	NS	i.root-servers.net.
.			518400	IN	NS	j.root-servers.net.
.			518400	IN	NS	k.root-servers.net.
.			518400	IN	NS	l.root-servers.net.
.			518400	IN	NS	m.root-servers.net.
.			518400	IN	RRSIG	NS 8 0 518400 20100214000000 20100206230000 23763 . JWEPSBVBz37WV/cvjxtlBGGLFe88ojhBM3ZZW+ZC2umpQq5lMSnE/3vO WGVWq8gOFs/mlmXttk80WxwZfUvgDXddNtqbNoNWZaGPbH9F2O+B6yDX n6jE4EcMRcjoL752uZTDMZ8WHEiEorjxsVYr1ae1MYZO5K0CqzX/qkUW 1DY=
.			86400	IN	SOA	a.root-servers.net. nstld.verisign-grs.com. 2010020701 1800 900 604800 86400
.			86400	IN	RRSIG	SOA 8 0 86400 20100214000000 20100206230000 23763 . KA46XFSIJT3xKdvlo2av5FmeFl5R8etArvA9PLJb4JUz2jioqYTjhDbT 6L5kJQaiavMF1Lic5spulaHlCHmVy+gLetI49Nc8htnd0QPWTn/MG3do isDlv9nh6uCR6cJj5W/anIkubiLHBmO11QLwVNa1IybTgTCKHNwefxG0 i/M=

;; ADDITIONAL SECTION:
a.root-servers.net.	518400	IN	A	198.41.0.4
b.root-servers.net.	518400	IN	A	192.228.79.201
c.root-servers.net.	518400	IN	A	192.33.4.12
d.root-servers.net.	518400	IN	A	128.8.10.90
e.root-servers.net.	518400	IN	A	192.203.230.10
f.root-servers.net.	518400	IN	A	192.5.5.241
g.root-servers.net.	518400	IN	A	192.112.36.4
h.root-servers.net.	518400	IN	A	128.63.2.53
i.root-servers.net.	518400	IN	A	192.36.148.17
j.root-servers.net.	518400	IN	A	192.58.128.30
k.root-servers.net.	518400	IN	A	193.0.14.129
l.root-servers.net.	518400	IN	A	199.7.83.42
m.root-servers.net.	518400	IN	A	202.12.27.33
a.root-servers.net.	518400	IN	AAAA	2001:503:ba3e::2:30
f.root-servers.net.	518400	IN	AAAA	2001:500:2f::f
h.root-servers.net.	518400	IN	AAAA	2001:500:1::803f:235
j.root-servers.net.	518400	IN	AAAA	2001:503:c27::2:30
k.root-servers.net.	518400	IN	AAAA	2001:7fd::1
l.root-servers.net.	518400	IN	AAAA	2001:500:3::42
m.root-servers.net.	518400	IN	AAAA	2001:dc3::35

;; Query time: 191 msec
;; SERVER: 2001:500:3::42#53(2001:500:3::42)
;; WHEN: Mon Feb  8 13:15:19 2010
;; MSG SIZE  rcvd: 1906</pre>
<p>If you get a reponse like this then your firewall passes UDP responses greater than 1500 bytes.</p>
<p>If you did not get a response like this, you need to fix your firewall.</p>
<p>Next we need to see whether your firewall passes outbound TCP queries. Even when using EDNS, some answers will not fit into a UDP packet. Such responses require queries to be performed over TCP.</p>
<p>e.g.</p>
<pre>dig +dnssec +norec +vc any . @L.ROOT-SERVERS.NET

; &lt;&lt;&gt;&gt; DiG 9.3.6-P1 &lt;&lt;&gt;&gt; +dnssec +norec +vc any . @L.ROOT-SERVERS.NET
;; global options:  printcmd
;; Got answer:
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 20036
;; flags: qr aa; QUERY: 1, ANSWER: 21, AUTHORITY: 0, ADDITIONAL: 21

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;.				IN	ANY

;; ANSWER SECTION:
.			86400	IN	NSEC	ac. NS SOA RRSIG NSEC DNSKEY
.			86400	IN	RRSIG	NSEC 8 0 86400 20100214000000 20100206230000 23763 . haTtgLwOQ9Bm2F9BRqMtAzahIuUWrjcmRjFGI5s5jGUVpjgq/MOl7wRi IJ1nLQkXThzc8hn6b3faXXIhHE/8MShzOG4wFbHwJyltx8IT9E8XP4P5 Fz9TuE3EEElNE6GZNAg8UM4r8hyv/PSM8e7offdh7pg32kfW6fgoLsHy 8yQ=
.			86400	IN	DNSKEY	256 3 8 AwEAAa1Lh++++++++++++++++THIS/IS/AN/INVALID/KEY/AND/SHOU LD/NOT/BE/USED/CONTACT/ROOTSIGN/AT/ICANN/DOT/ORG/FOR/MOR E/INFORMATION+++++++++++++++++++++++++++++++++++++++++++ +++++++8
.			86400	IN	DNSKEY	257 3 8 AwEAAawBe++++++++++++++++THIS/IS/AN/INVALID/KEY/AND/SHOU LD/NOT/BE/USED/CONTACT/ROOTSIGN/AT/ICANN/DOT/ORG/FOR/MOR E/INFORMATION+++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++8=
.			86400	IN	RRSIG	DNSKEY 8 0 86400 20100214235959 20100131000000 19324 . v2DVoP16w3dqsOooCxAb393ExF6p1t3d3qJsYPkeV96/t3HIuVLnxpbV 02Wx+BR7dwLiURASmebvEhZrR4gNqO15M5gerrzDdY0IXA0q0xVAUj/J NvkdiniXjoQYGUwjJsdfqxvD7NQPtSz4YTuOvMlVffV1F2Bc6Woid7AK JGkb24MeQlAMy/gQqcLPs6c3a9RvZEwofMul66bUswGS+YsL8x9A6Cbt 1bdyhRUNYSl7AifA4++Pu+0MLpbrxH7DLI8O9ZfCA3LsEQUOFjYA+2jJ mzgFqZAU0HvxeQyStnLF3/bf7qifRegrn6+cTKjKtUZ52/kUFiaqgT2t 9TemTg==
.			518400	IN	NS	a.root-servers.net.
.			518400	IN	NS	b.root-servers.net.
.			518400	IN	NS	c.root-servers.net.
.			518400	IN	NS	d.root-servers.net.
.			518400	IN	NS	e.root-servers.net.
.			518400	IN	NS	f.root-servers.net.
.			518400	IN	NS	g.root-servers.net.
.			518400	IN	NS	h.root-servers.net.
.			518400	IN	NS	i.root-servers.net.
.			518400	IN	NS	j.root-servers.net.
.			518400	IN	NS	k.root-servers.net.
.			518400	IN	NS	l.root-servers.net.
.			518400	IN	NS	m.root-servers.net.
.			518400	IN	RRSIG	NS 8 0 518400 20100214000000 20100206230000 23763 . JWEPSBVBz37WV/cvjxtlBGGLFe88ojhBM3ZZW+ZC2umpQq5lMSnE/3vO WGVWq8gOFs/mlmXttk80WxwZfUvgDXddNtqbNoNWZaGPbH9F2O+B6yDX n6jE4EcMRcjoL752uZTDMZ8WHEiEorjxsVYr1ae1MYZO5K0CqzX/qkUW 1DY=
.			86400	IN	SOA	a.root-servers.net. nstld.verisign-grs.com. 2010020701 1800 900 604800 86400
.			86400	IN	RRSIG	SOA 8 0 86400 20100214000000 20100206230000 23763 . KA46XFSIJT3xKdvlo2av5FmeFl5R8etArvA9PLJb4JUz2jioqYTjhDbT 6L5kJQaiavMF1Lic5spulaHlCHmVy+gLetI49Nc8htnd0QPWTn/MG3do isDlv9nh6uCR6cJj5W/anIkubiLHBmO11QLwVNa1IybTgTCKHNwefxG0 i/M=

;; ADDITIONAL SECTION:
a.root-servers.net.	518400	IN	A	198.41.0.4
b.root-servers.net.	518400	IN	A	192.228.79.201
c.root-servers.net.	518400	IN	A	192.33.4.12
d.root-servers.net.	518400	IN	A	128.8.10.90
e.root-servers.net.	518400	IN	A	192.203.230.10
f.root-servers.net.	518400	IN	A	192.5.5.241
g.root-servers.net.	518400	IN	A	192.112.36.4
h.root-servers.net.	518400	IN	A	128.63.2.53
i.root-servers.net.	518400	IN	A	192.36.148.17
j.root-servers.net.	518400	IN	A	192.58.128.30
k.root-servers.net.	518400	IN	A	193.0.14.129
l.root-servers.net.	518400	IN	A	199.7.83.42
m.root-servers.net.	518400	IN	A	202.12.27.33
a.root-servers.net.	518400	IN	AAAA	2001:503:ba3e::2:30
f.root-servers.net.	518400	IN	AAAA	2001:500:2f::f
h.root-servers.net.	518400	IN	AAAA	2001:500:1::803f:235
j.root-servers.net.	518400	IN	AAAA	2001:503:c27::2:30
k.root-servers.net.	518400	IN	AAAA	2001:7fd::1
l.root-servers.net.	518400	IN	AAAA	2001:500:3::42
m.root-servers.net.	518400	IN	AAAA	2001:dc3::35

;; Query time: 380 msec
;; SERVER: 2001:500:3::42#53(2001:500:3::42)
;; WHEN: Mon Feb  8 13:18:19 2010
;; MSG SIZE  rcvd: 1906</pre>
<p>If you did not receive a answer like this, you need to fix your firewall.</p>
<p>If all the above tests succeeded, then you should have no issues when all the root servers are responding with signed versions of the root zone.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.dest-unreach.be/2010/02/10/dnssec-firewall-issues/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web-based RSS-reader</title>
		<link>http://blog.dest-unreach.be/2009/12/29/web-based-rss-reader</link>
		<comments>http://blog.dest-unreach.be/2009/12/29/web-based-rss-reader#comments</comments>
		<pubDate>Tue, 29 Dec 2009 19:32:30 +0000</pubDate>
		<dc:creator>Niobos</dc:creator>
				<category><![CDATA[Networking & Security]]></category>
		<category><![CDATA[links]]></category>
		<category><![CDATA[rss]]></category>

		<guid isPermaLink="false">http://blog.dest-unreach.be/?p=1537</guid>
		<description><![CDATA[A half year ago, I blogged about a web-based RSS-reader. Recently I found an alternative product, tt-rss. It has an AJAX-based user interface which is of course much slicker, but it also gives more features, such as: Categories Scoring: use regular expressions to hide/highlight certain posts]]></description>
			<content:encoded><![CDATA[<p>A half year ago, I blogged about a <a href="http://blog.dest-unreach.be/2009/06/27/feedonfeeds-web-based-rss-aggregator">web-based RSS-reader</a>. Recently I found an alternative product, <a href="http://tt-rss.org/redmine/">tt-rss</a>. It has an AJAX-based user interface which is of course much slicker, but it also gives more features, such as:</p>
<ul>
<li>Categories</li>
<li>Scoring: use regular expressions to hide/highlight certain posts</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.dest-unreach.be/2009/12/29/web-based-rss-reader/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FeedOnFeeds &#8211; Web-based RSS aggregator</title>
		<link>http://blog.dest-unreach.be/2009/06/27/feedonfeeds-web-based-rss-aggregator</link>
		<comments>http://blog.dest-unreach.be/2009/06/27/feedonfeeds-web-based-rss-aggregator#comments</comments>
		<pubDate>Sat, 27 Jun 2009 10:52:02 +0000</pubDate>
		<dc:creator>Niobos</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[links]]></category>

		<guid isPermaLink="false">http://blog.dest-unreach.be/?p=1320</guid>
		<description><![CDATA[Since I like to follow up on my RSS-feeds from multiple locations and computers, a regular desktop-based aggregator does not fit my needs. I played around in Google&#8217;s Reader, which is a very nice tool. Personally I don&#8217;t like my data to be in someone&#8217;s cloud. Although unlikely, Google can decide to sell your RSS-ing [...]]]></description>
			<content:encoded><![CDATA[<p>Since I like to follow up on my RSS-feeds from multiple locations and computers, a regular desktop-based aggregator does not fit my needs. I played around in <a href="http://www.google.com/reader/">Google&#8217;s Reader</a>, which is a very nice tool. Personally I don&#8217;t like my data to be in someone&#8217;s cloud. Although unlikely, Google can decide to sell your RSS-ing habits to the highest bidder or vaporize your hard-gathered collection of feeds.</p>
<p>That&#8217;s why I wanted to host a Reader-like interface on my own server. Some Googling around &#8211; yes, they <em>do</em> have a very good search engine &#8211; I found this wonderful, open source, <a href="http://www.php.net/">PHP</a> application: <a href="http://feedonfeeds.com/">feed on feeds</a>. Some highlights:</p>
<ul>
<li>Keyboard shortcuts: read your feeds with only the keyboard, no clicking around</li>
<li>Shared items: Create an RSS-feed of interesting posts you read</li>
<li>Tagging: tag items with custom tags (manually or automatically)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.dest-unreach.be/2009/06/27/feedonfeeds-web-based-rss-aggregator/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The journey of an IP packet through a Linux iptables firewall</title>
		<link>http://blog.dest-unreach.be/2009/04/22/the-journey-of-an-ip-packet-through-a-linux-iptables-firewall</link>
		<comments>http://blog.dest-unreach.be/2009/04/22/the-journey-of-an-ip-packet-through-a-linux-iptables-firewall#comments</comments>
		<pubDate>Wed, 22 Apr 2009 17:30:22 +0000</pubDate>
		<dc:creator>Niobos</dc:creator>
				<category><![CDATA[Networking & Security]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[links]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[NAT]]></category>
		<category><![CDATA[router]]></category>

		<guid isPermaLink="false">http://blog.dest-unreach.be/?p=1082</guid>
		<description><![CDATA[When doing some research on the different tables in iptables, I was trying to figure out in what order what tables are traversed. Obviously PREROUTING happens before POSTROUTING, but it becomes more difficult to figure out if mangle happens before are after nat. I found a post which links to this overview:]]></description>
			<content:encoded><![CDATA[<p>When doing some research on the different tables in <a href="http://www.netfilter.org/projects/iptables/index.html">iptables</a>, I was trying to figure out in what order what tables are traversed. Obviously <a href="http://linuxmafia.com/faq/Security/iptables.html"><em>PREROUTING</em></a> happens before <a href="http://linuxmafia.com/faq/Security/iptables.html"><em>POSTROUTING</em></a>, but it becomes more difficult to figure out if <a href="http://linuxmafia.com/faq/Security/iptables.html"><em>mangle</em></a> happens before are after <a href="http://linuxmafia.com/faq/Security/iptables.html"><em>nat</em></a>.</p>
<p>I found <a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=295567">a post</a> which links to this overview:</p>
<p><a href="http://l7-filter.sourceforge.net/PacketFlow.png"><img class="alignnone size-thumbnail wp-image-1083" title="packetflow" src="http://blog.dest-unreach.be/wp-content/uploads/2009/04/packetflow-150x150.png" alt="packetflow" width="150" height="150" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dest-unreach.be/2009/04/22/the-journey-of-an-ip-packet-through-a-linux-iptables-firewall/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Connecting a serial port from VMware Fusion to a unix socket</title>
		<link>http://blog.dest-unreach.be/2009/04/18/connecting-a-serial-port-from-vmware-fusion-to-a-unix-socket</link>
		<comments>http://blog.dest-unreach.be/2009/04/18/connecting-a-serial-port-from-vmware-fusion-to-a-unix-socket#comments</comments>
		<pubDate>Sat, 18 Apr 2009 08:19:12 +0000</pubDate>
		<dc:creator>Niobos</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[links]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[MacOSX]]></category>

		<guid isPermaLink="false">http://blog.dest-unreach.be/?p=1033</guid>
		<description><![CDATA[When I&#8217;m debugging serial communications, it&#8217;s very useful to run the standard application inside a VM. This allows me to connect the virtual RS232 port to the physical one with socat, which provides me with a detailed log of every byte. The VMware products under Windows and linux have the option to connect their serial [...]]]></description>
			<content:encoded><![CDATA[<p>When I&#8217;m debugging serial communications, it&#8217;s very useful to run the standard application inside a VM. This allows me to connect the virtual RS232 port to the physical one with <a href="http://freshmeat.net/projects/socat">socat</a>, which provides me with a detailed log of every byte.</p>
<p>The VMware products under Windows and linux have <a href="http://www.vmware.com/support/ws3/doc/ws32_devices3.html">the option</a> to connect their serial port to a &#8220;<a href="http://en.wikipedia.org/wiki/Named_pipe">named pipe</a>&#8220;, although it&#8217;s more a <a href="http://en.wikipedia.org/wiki/Internet_socket">socket</a>, since they allow bidirectional communication. Strangely enough, VMware Fusion, the Mac product, does not have this option.</p>
<p><span id="more-1033"></span>Some Googling turned up the answer. <a href="http://communities.vmware.com/message/748577">Apparently</a> it also works on Fusion, but there is no GUI to set it. Here are the relevant configuration items in the .vmx file:</p>
<ul>
<li>serial0.fileType: Set this to &#8220;pipe&#8221; instead of &#8220;file&#8221;</li>
<li>serial0.pipe.endPoint = &#8220;client&#8221;: Add this if there is already a server</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.dest-unreach.be/2009/04/18/connecting-a-serial-port-from-vmware-fusion-to-a-unix-socket/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Turning webpage updates into RSS feeds</title>
		<link>http://blog.dest-unreach.be/2009/04/14/turning-webpage-updates-into-rss-feeds</link>
		<comments>http://blog.dest-unreach.be/2009/04/14/turning-webpage-updates-into-rss-feeds#comments</comments>
		<pubDate>Tue, 14 Apr 2009 15:22:15 +0000</pubDate>
		<dc:creator>Niobos</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Cisco]]></category>
		<category><![CDATA[links]]></category>
		<category><![CDATA[switch]]></category>

		<guid isPermaLink="false">http://blog.dest-unreach.be/?p=1019</guid>
		<description><![CDATA[I was bored of constantly looking for updates on a website. A little googling turned up this nice site. It turns (a part of) a webpage into an RSS feed. Here are the ones I created: Cisco Catalyst 2960 Series Switches &#8211; Release Notes Cisco Catalyst 3560 Series Switches &#8211; Release Notes Cisco Catalyst 3560-E [...]]]></description>
			<content:encoded><![CDATA[<p>I was bored of constantly looking for updates on a website. A little <a href="http://www.google.com/">googling</a> turned up <a href="http://feed43.com/">this nice site</a>. It turns (a part of) a webpage into an <a href="http://en.wikipedia.org/wiki/RSS">RSS feed</a>. Here are the ones I created:</p>
<ul>
<li><a href="http://feed43.com/1501416618413133.xml">Cisco Catalyst 2960 Series Switches &#8211; Release Notes</a></li>
<li><a href="http://feed43.com/2525842848372026.xml">Cisco Catalyst 3560 Series Switches &#8211; Release Notes</a></li>
<li><a href="http://feed43.com/5743426560650556.xml">Cisco Catalyst 3560-E Series Switches &#8211; Release Notes</a></li>
<li><a href="http://feed43.com/7282584084746743.xml">Cisco Catalyst 3750 Series Switches &#8211; Release Notes</a></li>
<li><a href="http://feed43.com/5222646710236843.xml">Cisco Catalyst 3750-E Series Switches &#8211; Release Notes</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.dest-unreach.be/2009/04/14/turning-webpage-updates-into-rss-feeds/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenID</title>
		<link>http://blog.dest-unreach.be/2009/03/31/openid</link>
		<comments>http://blog.dest-unreach.be/2009/03/31/openid#comments</comments>
		<pubDate>Tue, 31 Mar 2009 19:27:52 +0000</pubDate>
		<dc:creator>Niobos</dc:creator>
				<category><![CDATA[Networking & Security]]></category>
		<category><![CDATA[links]]></category>
		<category><![CDATA[OpenID]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.dest-unreach.be/?p=967</guid>
		<description><![CDATA[Up until now, I logged into my blog using the standard username/password. Since my blog is hosted as a vhost, setting up SSL (https) is a pain: You either need a dedicated IP:port per ssl-vhost, or need to work with certificates that list multiple domains (Update 2009-04-18: SNI). Running SSL on a non-standard port works [...]]]></description>
			<content:encoded><![CDATA[<p>Up until now, I logged into my blog using the standard username/password. Since my blog is hosted as a <a href="http://httpd.apache.org/docs/2.2/vhosts/">vhost</a>, setting up <a href="http://en.wikipedia.org/wiki/Secure_Sockets_Layer">SSL</a> (https) is a pain: You either need a dedicated IP:port per ssl-vhost, or need to work with certificates that list multiple domains (<em>Update 2009-04-18</em>: <a href="http://en.wikipedia.org/wiki/Server_Name_Indication">SNI</a>). Running SSL on a non-standard port works pretty well, but most firewalls don&#8217;t like that. Conclusion: the only widely available way to log into my blog is over plain http. Needless to say, I don&#8217;t like my password going in plaintext over the Internet.</p>
<p><span id="more-967"></span>After doing some research, I learned that <a href="http://openid.net/">OpenID</a> is capable of doing just that (an much more). The concept behind OpenID is fairly simple. Note that I&#8217;m cutting corners here.</p>
<ul>
<li>A website wants to be able to identify who you are. The normal way to do this is to prompt the user for an identifier (name, nickname, email-address, handle, &#8230;) and a proof that he owns that identifier (usually a password).</li>
<li>The user provides the website with his OpenID identifier (usually in the form of a website-address). Note that only an identifier is supplied, no proof yet.</li>
<li>The original website (called relying party in OpenID jargon) surfs to the provided website (OpenID identifier) and asks that site (called the OpenID provider) to verify that the user actually owns this website.</li>
<li>The OpenID provider verifies the user in whatever way it wants (username/password, SSL-certificate, retinal scan, &#8230;) and asserts to the relying party that the current user does (or does not) own the specified website.</li>
<li>The original website accepts this assertion as a proof that the user owns the identifier.</li>
</ul>
<p>The big difference is that the verification happens at <em>another</em> website than the login. This website <em>can</em> use SSL, even if the original website can&#8217;t. <a href="http://dev.aol.com/article/2007/openid_primer_for_php">AOL&#8217;s developer network</a> has a more detailed, but still simplified, explanation on OpenID. True geeks can just read <a href="http://openid.net/developers/specs/">the specs</a>.</p>
<p>I currently use <a href="https://www.myopenid.com/">myOpenID</a> as provider. They provide a detailed audit log, and allow fairly detailed settings. To test things out,  I used the <a href="http://openidenabled.com/resources/openid-test/checkup">checkup tool at openidenabled.com</a>. To actually make things work, I&#8217;m using the <a href="http://wordpress.org/extend/plugins/openid/">OpenID plugin</a> for <a href="http://wordpress.org/">WordPress</a>, together with its compation plugin <a href="http://wordpress.org/extend/plugins/xrds-simple/">XRDS-Simple</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dest-unreach.be/2009/03/31/openid/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Remap keys under Windows</title>
		<link>http://blog.dest-unreach.be/2009/03/27/remap-keys-under-windows</link>
		<comments>http://blog.dest-unreach.be/2009/03/27/remap-keys-under-windows#comments</comments>
		<pubDate>Fri, 27 Mar 2009 17:42:10 +0000</pubDate>
		<dc:creator>Niobos</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[gvim]]></category>
		<category><![CDATA[links]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://blog.dest-unreach.be/?p=941</guid>
		<description><![CDATA[My previous system was a Linux-box. I made some adjustments to my keyboard in order to make it &#8220;better&#8221;. Since I use Vim a lot (apologies to Emacs-fans), the escape-key is doing overtime. On a normal keyboard however, the escape-key is located at the top left. Other keys are very near the main keyboard, but [...]]]></description>
			<content:encoded><![CDATA[<p>My previous system was a Linux-box. I made some adjustments to my keyboard in order to make it &#8220;better&#8221;. Since I use Vim a lot (apologies to Emacs-fans), the escape-key is doing overtime. On a normal keyboard however, the escape-key is located at the top left. Other keys are very near the main keyboard, but are hardly used. I almost never use the CapsLock key at all. So I switched both keys around, giving the CapsLock key the escape-function and the other way around.</p>
<p>Under Linux, you can remap keys using <a href="http://www.xfree86.org/4.0.2/xmodmap.1.html">xmodmap</a>. It seems that Windows has a similar feature, although much less documented. Here is a short summary of <a href="http://www.usnetizen.com/fix_capslock.php">this article</a>.</p>
<p><span id="more-941"></span>Windows has two levels to change the keyboard. The system-level is configured through the   [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] registry key; the user-level one is located at [HKEY_CURRENT_USER\Keyboard Layout].</p>
<p>By adding (or editing) the &#8220;Scancode Map&#8221; value of type Binary Value, one can control the mapping of scancodes. Since we are at a scancode level, this operation is preformed very early in the stack (VMware only gets to see the scancodes after this mapping).</p>
<p>The content of the value is a bit of a mistery:</p>
<ul>
<li>It must start with 8 bytes of 0&#215;00</li>
<li>The next byte indicates how many mappings are following, PLUS 1</li>
<li>The mappings themselves, 4 bytes each. First 2 bytes indicate the new scancode to map to; the next 2 bytes indicate the original scancode to map from.</li>
<li>It must end with 4 bytes of 0&#215;00</li>
</ul>
<p>For my examle the binary value ended up being (line breaks are for clarity only):</p>
<blockquote>
<pre>00 00 00 00 00 00 00 00
03
3a 00 01 00
01 00 3a 00
00 00 00 00</pre>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.dest-unreach.be/2009/03/27/remap-keys-under-windows/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Useful things to do with Bluetooth</title>
		<link>http://blog.dest-unreach.be/2009/03/08/useful-things-to-do-with-bluetooth</link>
		<comments>http://blog.dest-unreach.be/2009/03/08/useful-things-to-do-with-bluetooth#comments</comments>
		<pubDate>Sun, 08 Mar 2009 12:01:21 +0000</pubDate>
		<dc:creator>Niobos</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Bluetooth]]></category>
		<category><![CDATA[links]]></category>
		<category><![CDATA[MacOSX]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://blog.dest-unreach.be/?p=902</guid>
		<description><![CDATA[I just found a very nice post describing nice things to do with Bluetooth. By using the Proximity tool, my MacBook Pro can monitor the precense of my cell phone. Proximity will run an AppleScript when a selected device enters and/or leaves Bluetooth range. Most  phones are class 2 Bluetooth devices, which gives a range [...]]]></description>
			<content:encoded><![CDATA[<p>I just found a <a href="http://www.technocrat.ca/?p=44">very nice post</a> describing nice things to do with <a href="http://en.wikipedia.org/wiki/Bluetooth">Bluetooth</a>. By using the <a href="http://reduxcomputing.com/" class="broken_link" rel="nofollow">Proximity</a> tool, my MacBook Pro can monitor the precense of my cell phone. <a href="http://reduxcomputing.com/" class="broken_link" rel="nofollow">Proximity</a> will run an <a href="http://www.macosxautomation.com/applescript/">AppleScript</a> when a selected device enters and/or leaves Bluetooth range. Most  phones are class 2 Bluetooth devices, which gives a range of 10m (outdoors). This allows you to automatically lock your desktop when you leave and unlock when you come back.</p>
<p><span id="more-902"></span>Here are the scripts I ended up using on my Leopard (10.5) setup. When entering proximity:</p>
<blockquote>
<pre>tell application "System Events"
    tell security preferences
        set require password to wake to false
    end tell
end tell
#try
#    tell application id "com.apple.ScreenSaver.Engine" to quit
#end try</pre>
</blockquote>
<p>When leaving proximity:</p>
<blockquote>
<pre>tell application "System Events"
    tell security preferences
        set require password to wake to true
    end tell
end tell
tell application id "com.apple.ScreenSaver.Engine" to activate</pre>
</blockquote>
<p>I combined these scripts with the ones that I use when the MacBook <a href="http://blog.dest-unreach.be/2008/12/03/securing-ssh-agent-on-macosx">goes to sleep and wakes up</a>. I added &#8220;killall Proximity&#8221; to the sleep-script and &#8220;open /Applications/Utilities/Proximity.app&#8221; to the wakeup-script. This way, the proximity is checked right after wakeup.</p>
<h3>Update 2009-10-29</h3>
<p>The unlock-script doesn&#8217;t seem to work on Snow Leopard (10.6)&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dest-unreach.be/2009/03/08/useful-things-to-do-with-bluetooth/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

