<?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>bløgg.no</title>
	<atom:link href="http://bl0gg.ruberg.no/feed/" rel="self" type="application/rss+xml" />
	<link>http://bl0gg.ruberg.no</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Fri, 25 Feb 2011 14:38:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Reaching multiple instances of the same IP address</title>
		<link>http://bl0gg.ruberg.no/2011/02/reaching-multiple-instances-of-the-same-ip-address/</link>
		<comments>http://bl0gg.ruberg.no/2011/02/reaching-multiple-instances-of-the-same-ip-address/#comments</comments>
		<pubDate>Thu, 24 Feb 2011 18:01:06 +0000</pubDate>
		<dc:creator>bjorn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[comp]]></category>
		<category><![CDATA[iproute2]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[VLAN]]></category>

		<guid isPermaLink="false">http://bl0gg.ruberg.no/?p=76</guid>
		<description><![CDATA[A friend recently presented me with the following challenge: Configure a system through which several appliances, all of them having an identical, non-routable, default IP configuration, can be reached simultaneously. All appliances are preconfigured with an IP address of 192.168.1.1 and they had no routing configuration enabled. Yet they should all be reachable over the [...]]]></description>
			<content:encoded><![CDATA[<p>A friend recently presented me with the following challenge: Configure a system through which several appliances, all of them having an identical, non-routable, default IP configuration, can be reached simultaneously. All appliances are preconfigured with an IP address of 192.168.1.1 and they had no routing configuration enabled. Yet they should all be reachable over the Internet. The diagram below shows the basic infrastructure.</p>
<p><img class="alignright size-medium wp-image-77" style="margin-left: 5px" src="http://bl0gg.ruberg.no/wp-content/uploads/2011/02/modem-oppsett-300x246.png" alt="" width="300" height="246" /></p>
<p>For the server (the nice grey cabinet to the left) to reach all those systems at the same time, a VLAN setup was required, so we set up a VLAN trunk to a nearby switch. Then the different appliances were connected to different un-tagged switch ports in dedicated VLANs &#8211; the first appliance was connected to a switch port in VLAN 10, the next to a switch port in VLAN 11, etc. Corresponding VLAN interfaces were configured on the server, and a local IP address was configured on each. To keep a minimum level of sanity, I configured the VLAN interface on vlan10 as 192.168.1.10, while vlan11 got 192.168.1.11, etc. To avoid too much confusion on the switch, I also set the MAC address on each VLAN interface to distinct values.</p>
<p>Next step was to configure correct IP routing using iproute2:<br />
<code># VLAN 10<br />
/sbin/ip link add link eth1 name eth1.10 type vlan id 10<br />
/sbin/ip link set dev eth1.10 down<br />
/sbin/ip link set dev eth1.10 address 00:04:de:ad:be:10<br />
/sbin/ip link set dev eth1.10 up<br />
/sbin/ip addr add local 192.168.1.10/24 brd 192.168.1.255 dev eth1.10<br />
/sbin/ip route add 192.168.1.0/24 dev eth1.10 proto kernel scope link src 192.168.1.10 table 10<br />
/sbin/ip rule add from 192.168.1.10 lookup 10 prio 1010<br />
# VLAN 11<br />
/sbin/ip link add link eth1 name eth1.11 type vlan id 11<br />
/sbin/ip link set dev eth1.11 down<br />
/sbin/ip link set dev eth1.11 address 00:04:de:ad:be:11<br />
/sbin/ip link set dev eth1.11 up<br />
/sbin/ip addr add local 192.168.1.11/24 brd 192.168.1.255 dev eth1.11<br />
/sbin/ip route add 192.168.1.0/24 dev eth1.11 proto kernel scope link src 192.168.1.11 table 11<br />
/sbin/ip rule add from 192.168.1.11 lookup 11 prio 1011</code></p>
<p>At this point I could reach the different appliances from the different source IPs:<br />
<code># ping -I 192.168.1.10 192.168.1.1 -c1<br />
PING 192.168.1.1 (192.168.1.1) from 192.168.1.10 : 56(84) bytes of data.<br />
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.119 ms</code></p>
<p>Snooping with <a href="http://www.tcpdump.org/">tcpdump</a> on the different VLAN interfaces, also showing the MAC addresses, confirmed that the pings were reaching the correct appliance.</p>
<p>Then I set up corresponding IP addresses on the outside interface (eth0). The 10.0.0.195 address matches the device in VLAN 10, 10.0.0.196 matches VLAN 11 and so on. The outside IP addresses are official IP addresses, but I&#8217;ve changed them to protect the innocent.</p>
<p><code>/sbin/ip addr add local 10.0.0.195/24 dev eth0<br />
/sbin/ip rule add to 10.0.0.195 fwmark 10 table 10<br />
/sbin/ip rule add fwmark 10 lookup 10<br />
/sbin/ip addr add local 10.0.0.196/24 dev eth0<br />
/sbin/ip rule add to 10.0.0.196 fwmark 11 table 11<br />
/sbin/ip rule add fwmark 11 lookup 11</code></p>
<p>To make sure the packets were being identified correctly all the way through, they were tagged upon reaching the outside interface, based on the IP on which they arrived.</p>
<p>So far so good, now it was time for iptables to show its powers:<br />
<code># VLAN 10<br />
/sbin/iptables -t mangle -A PREROUTING -i eth0 -d 10.0.0.195 -j MARK --set-mark 10<br />
/sbin/iptables -t nat -A PREROUTING -i eth0 -d 10.0.0.195 -j DNAT --to-destination 192.168.1.1<br />
/sbin/iptables -A FORWARD -m mark --mark 10 -j ACCEPT<br />
/sbin/iptables -t nat -A POSTROUTING -m mark --mark 10 -j SNAT --to-source 192.168.1.10<br />
# VLAN 11<br />
/sbin/iptables -t mangle -A PREROUTING -i eth0 -d 10.0.0.196 -j MARK --set-mark 11<br />
/sbin/iptables -t nat -A PREROUTING -i eth0 -d 10.0.0.196 -j DNAT --to-destination 192.168.1.1<br />
/sbin/iptables -A FORWARD -m mark --mark 11 -j ACCEPT<br />
/sbin/iptables -t nat -A POSTROUTING -m mark --mark 11 -j SNAT --to-source 192.168.1.11</code></p>
<p>The above commands maps the outside addresses on eth0 to the corresponding VLANs on the inside. Note that every incoming packet is destination NATed (DNAT) to 192.168.1.1 while they are being source NATed (SNAT) based on the VLAN to which they are mapped. As the appliances were not able to route traffic, all communication had to look like it happened on the local network only.</p>
<p><a href="http://bl0gg.ruberg.no/wp-content/uploads/2011/02/modem-mapping.png"><img class="alignnone size-full wp-image-92" src="http://bl0gg.ruberg.no/wp-content/uploads/2011/02/modem-mapping.png" alt="" width="453" height="88" /></a></p>
<p>Now I expected to be able to access each appliance from the outside, but it turned out that only one appliance could be reached. tcpdumping on each VLAN interface confirmed that traffic from the outside reached each appliance, and the appliance responded, but the response never came all the way back. This was rather puzzling as nothing appeared in any log. However, my colleagues reminded me about <a href="http://lartc.org/howto/lartc.kernel.html">rp_filter</a>, which dropped weird traffic without logging anything. Thus, the key that unlocked everything was this:<br />
<code>echo 0 &gt; /proc/sys/net/ipv4/conf/all/rp_filter<br />
echo 0 &gt; /proc/sys/net/ipv4/conf/eth1.10/rp_filter<br />
echo 0 &gt; /proc/sys/net/ipv4/conf/eth1.11/rp_filter</code></p>
<p>And voila &#8211; from the outside world, we were able to reach every single appliance on the inside, all with the same unroutable RFC1918 address.</p>
]]></content:encoded>
			<wfw:commentRss>http://bl0gg.ruberg.no/2011/02/reaching-multiple-instances-of-the-same-ip-address/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Path MTU discovery ICMP messages</title>
		<link>http://bl0gg.ruberg.no/2011/02/path-mtu-discovery-icmp-messages/</link>
		<comments>http://bl0gg.ruberg.no/2011/02/path-mtu-discovery-icmp-messages/#comments</comments>
		<pubDate>Thu, 24 Feb 2011 13:30:21 +0000</pubDate>
		<dc:creator>bjorn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://bl0gg.ruberg.no/?p=72</guid>
		<description><![CDATA[This is more for my own reference&#8230; After configuring my ADSL modem to run i bridge mode, it seems I&#8217;m running into a few path MTU issues. To identify any path MTU messages, I&#8217;ve been analyzing the traffic on the outside interface looking for path MTU issues using the following tcpdump syntax: tcpdump -n -s0 [...]]]></description>
			<content:encoded><![CDATA[<p>This is more for my own reference&#8230; After configuring my ADSL modem to run i bridge mode, it seems I&#8217;m running into a few path MTU issues. To identify any path MTU messages, I&#8217;ve been analyzing the traffic on the outside interface looking for path MTU issues using the following tcpdump syntax:</p>
<p><code>tcpdump -n -s0 -i ppp0 'icmp[icmptype] != icmp-echo and icmp[icmptype] != icmp-echoreply'</code></p>
<p>Update: Of course, this exact syntax is documented on <a href="http://www.tcpdump.org/tcpdump_man.html">tcpdump&#8217;s own site</a>&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://bl0gg.ruberg.no/2011/02/path-mtu-discovery-icmp-messages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Avoid hotlinking with Varnish</title>
		<link>http://bl0gg.ruberg.no/2009/10/avoid-hotlinking-with-varnish/</link>
		<comments>http://bl0gg.ruberg.no/2009/10/avoid-hotlinking-with-varnish/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 18:54:46 +0000</pubDate>
		<dc:creator>bjorn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[comp]]></category>
		<category><![CDATA[Varnish]]></category>

		<guid isPermaLink="false">http://bl0gg.ruberg.no/?p=64</guid>
		<description><![CDATA[There&#8217;s a quite a few articles on how to configure Apache to avoid hotlinking, so that material on your web server isn&#8217;t used on remote sites (at least not without your knowing). This is how to do the same with Varnish. The example suggests that you forbid hotlinking to anything under http://www.example.com/fun/. The code will [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s a quite a few articles on how to <a href="http://kim.biyn.com/Linux/how_to_prevent_hotlinking_images_on_apache_server_using_mod_rewrite">configure Apache to avoid hotlinking</a>, so that material on your web server isn&#8217;t used on remote sites (at least not without your knowing).</p>
<p>This is how to do the same with Varnish. The example suggests that you forbid hotlinking to anything under <code>http://www.example.com/fun/</code>. The code will of course need to be added to whatever else exists in vcl_recv.</p>
<p><code>sub vcl_recv {<br />
 &nbsp; if (req.http.host == "www.example.com" &amp;&amp;<br />
 &nbsp; req.url ~ "^/fun/" &amp;&amp;<br />
 &nbsp; (req.http.referer &amp;&amp; req.http.referer !~ "^http://www.example.com/")) {<br />
 &nbsp; &nbsp; error 403 "No hotlinking please";<br />
 &nbsp; }<br />
}</code></p>
]]></content:encoded>
			<wfw:commentRss>http://bl0gg.ruberg.no/2009/10/avoid-hotlinking-with-varnish/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spanning-tree on Linksys srw2008</title>
		<link>http://bl0gg.ruberg.no/2009/07/spanning-tree-on-linksys-srw2008/</link>
		<comments>http://bl0gg.ruberg.no/2009/07/spanning-tree-on-linksys-srw2008/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 16:40:21 +0000</pubDate>
		<dc:creator>bjorn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[comp]]></category>
		<category><![CDATA[Linksys]]></category>

		<guid isPermaLink="false">http://bl0gg.ruberg.no/?p=60</guid>
		<description><![CDATA[After finally admitting defeat I had to boot into Windows for managing my Linksys SRW2008 switch through its WebView, the reason being I could not find out how to enable regular spanning-tree on the switch. Having enabled it through its IE-specific web UI, I logged in to the (rather poorly documented) CLI afterwards to check [...]]]></description>
			<content:encoded><![CDATA[<p>After finally admitting defeat I had to boot into Windows for managing my Linksys SRW2008 switch through its WebView, the reason being I could not find out how to enable regular spanning-tree on the switch.</p>
<p>Having enabled it through its IE-specific web UI, I logged in to the (rather poorly documented) <a href="http://twistylife.blogspot.com/2008/12/secret-cli-of-srw2016-switch.html">CLI</a> afterwards to check what had changed in the config. And the single, magic configuration line that enabled spanning-tree on the switch was this one:</p>
<p><code>spanning-tree</code></p>
<p>*sigh*</p>
]]></content:encoded>
			<wfw:commentRss>http://bl0gg.ruberg.no/2009/07/spanning-tree-on-linksys-srw2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GeoIP and MySQL</title>
		<link>http://bl0gg.ruberg.no/2009/06/geoip-and-mysql/</link>
		<comments>http://bl0gg.ruberg.no/2009/06/geoip-and-mysql/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 09:16:58 +0000</pubDate>
		<dc:creator>bjorn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[comp]]></category>
		<category><![CDATA[GeoIP]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://bl0gg.ruberg.no/?p=36</guid>
		<description><![CDATA[For my own and possibly others&#8217; reference, these are quick notes on how to use GeoIP data from MaxMind in their new split file formats. Older tutorials describe using the GeoIP data from a time when they were one file, it seems now MaxMind have split into two files. The files are split into Location [...]]]></description>
			<content:encoded><![CDATA[<p>For my own and possibly others&#8217; reference, these are quick notes on how to use GeoIP data from MaxMind in their new split file formats. Older tutorials describe using the GeoIP data from a time when they were one file, it seems now MaxMind have split into two files.</p>
<p>The files are split into Location and Blocks, so we create two tables to accommodate this:</p>
<blockquote>
<pre>CREATE TABLE location (
 LocId INT(8) NOT NULL,
 PRIMARY KEY (LocId),
 country CHAR(2),
 region VARCHAR(255),
 city VARCHAR(255),
 postalCode VARCHAR(255),
 latitude DECIMAL(20,17),
 longitude DECIMAL(20,17),
 metroCode VARCHAR(50),
 areaCode VARCHAR(50)
) ENGINE=INNODB;
CREATE TABLE blocks (
 startIpNum INT(10) NOT NULL,
 EndIpNum INT(10) NOT NULL,
 LocId INT(8) NOT NULL,
 FOREIGN KEY (LocID) REFERENCES location(LocId) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=INNODB;</pre>
</blockquote>
<p>Now it&#8217;s time to import the data from the files. Since LocId is a foreign key to the <code>blocks</code> table, <code>location</code> must be inserted first.</p>
<blockquote><p><code>mysql&gt; LOAD DATA LOCAL INFILE '/root/GeoLiteCity_20090601/GeoLiteCity-Location.csv' INTO TABLE location FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' (LocId, country, region, city, postalCode, latitude, longitude, metroCode, areaCode);<br />
Query OK, 248276 rows affected, 13 warnings (9.65 sec)<br />
Records: 248277  Deleted: 0  Skipped: 1  Warnings: 9<br />
mysql&gt; LOAD DATA LOCAL INFILE '/root/GeoLiteCity_20090601/GeoLiteCity-Blocks.csv' INTO TABLE blocks FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' (startIpNum, EndIpNum, LocId);<br />
Query OK, 4132041 rows affected, 65535 warnings (15 min 20.44 sec)<br />
Records: 4132041  Deleted: 0  Skipped: 0  Warnings: 2739156</code></p></blockquote>
<p>That done, we try a select.</p>
<blockquote>
<pre>mysql&gt; select A.country from location A
  JOIN blocks B on A.LocId = B.LocId
  AND 404232216 &gt;= startIpNum AND 404232216 &lt;= EndIpNum;
+---------+
| country |
+---------+
| US      |
+---------+
1 row in set (2 min 3.58 sec)</pre>
</blockquote>
<p>As I had no indexes yet, the query took some time. So let&#8217;s add them:</p>
<blockquote><p><code>mysql&gt; CREATE INDEX startIp_ind ON blocks (startIpNum);<br />
Query OK, 4132041 rows affected (9 min 22.23 sec)<br />
Records: 4132041  Duplicates: 0  Warnings: 0<br />
mysql&gt; CREATE INDEX endIp_ind ON blocks (endIpNum);<br />
Query OK, 4132041 rows affected (9 min 22.33 sec)<br />
Records: 4132041  Duplicates: 0  Warnings: 0<br />
mysql&gt; CREATE INDEX LocId_ind ON location (LocId);<br />
Query OK, 248276 rows affected (4.08 sec)<br />
Records: 248276  Duplicates: 0  Warnings: 0</code></p></blockquote>
<p>And voila:</p>
<blockquote>
<pre>mysql&gt; select A.country from location A
  JOIN blocks B on A.LocId = B.LocId
  AND 404232216 &gt;= startIpNum AND 404232216 &lt;= EndIpNum;
+---------+
| country |
+---------+
| US      |
+---------+
1 row in set (0.55 sec)</pre>
</blockquote>
<p>Also, a better SQL query could&#8217;ve been more efficient, but hey &#8211; this is for illustrative purposes.</p>
]]></content:encoded>
			<wfw:commentRss>http://bl0gg.ruberg.no/2009/06/geoip-and-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ikke autorisert personer!</title>
		<link>http://bl0gg.ruberg.no/2009/01/ikke-autorisert-personer/</link>
		<comments>http://bl0gg.ruberg.no/2009/01/ikke-autorisert-personer/#comments</comments>
		<pubDate>Tue, 27 Jan 2009 18:18:14 +0000</pubDate>
		<dc:creator>bjorn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[comp]]></category>
		<category><![CDATA[sikkerhet]]></category>
		<category><![CDATA[språktabber]]></category>

		<guid isPermaLink="false">http://www.xn--blgg-hra.no/?p=25</guid>
		<description><![CDATA[I dag ble jeg gjort oppmerksom på den flotte oversettelsen på de nye selvbetjeningssidene for (blant annet) å søke om visum til USA (med min utheving): Er hjemmesiden sikker og privat? Ja. Denne hjemmesiden blir operert av den Amerikanske myndigheten, og det benyttes teknologi som gjør at ikke autorisert personer får tilgang til informasjonen du [...]]]></description>
			<content:encoded><![CDATA[<p>I dag ble jeg gjort oppmerksom på den flotte oversettelsen på <a href="http://https://esta.cbp.dhs.gov/esta/WebHelp/helpScreen_no.htm#Is%20this%20Web%20site%20secure%20and%20private?">de nye selvbetjeningssidene for (blant annet) å søke om visum til USA</a> (med min utheving):</p>
<blockquote><p>Er hjemmesiden sikker og privat?</p>
<p>Ja. Denne hjemmesiden blir operert av den Amerikanske myndigheten, og det benyttes teknologi <strong>som gjør at ikke autorisert personer får tilgang til informasjonen du legger inn og ser på</strong> . I tillegg opererer denne hjemmesiden ut i fra de lover og regler som den Amerikanske Stats lov om personvern. Denne Personvernsbekreftelsen forsikrer deg om at ditt personvern vil bli ivaretattinformation.</p></blockquote>
<p>Så da burde jo alt være i orden.</p>
<p>Oppdatering &#8211; Kollega Knut viste meg popup-en han fikk da han gikk inn på de samme sidene. Med de forutsetningene burde de fleste muligheter være dekket.</p>
<p><img src="http://dietzel.no/knut/tmp/esta.png" border="0" /></p>
]]></content:encoded>
			<wfw:commentRss>http://bl0gg.ruberg.no/2009/01/ikke-autorisert-personer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Remote syslogging with OpenWRT Kamikaze 8.09</title>
		<link>http://bl0gg.ruberg.no/2009/01/remote-syslogging-with-openwrt-kamikaze/</link>
		<comments>http://bl0gg.ruberg.no/2009/01/remote-syslogging-with-openwrt-kamikaze/#comments</comments>
		<pubDate>Mon, 12 Jan 2009 18:44:13 +0000</pubDate>
		<dc:creator>bjorn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[comp]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OpenWRT]]></category>

		<guid isPermaLink="false">http://www.xn--blgg-hra.no/?p=12</guid>
		<description><![CDATA[For Kamikaze 8.09 (RC1) the documentation on remote syslogging is a bit inaccurate or outdated &#8211; but this ticket pointed me in the right direction. Add the following to /etc/config/system: log_ip 10.20.30.40 Reboot your unit and watch the logs roll in. Verify by checking what syslog is up to: root@OpenWRT:~# ps -ef &#124; grep syslog [...]]]></description>
			<content:encoded><![CDATA[<p>For Kamikaze 8.09 (RC1) the documentation on remote syslogging is a bit <a href="https://dev.openwrt.org/ticket/2162">inaccurate</a> or <a href="http://wiki.openwrt.org/OpenWrtDocs/KamikazeHowto#head-9cf33e8a42bd9aed23ee61496bd85707723d6104">outdated</a> &#8211; but <a href="https://dev.openwrt.org/ticket/2162">this ticket</a> pointed me in the right direction. Add the following to /etc/config/system:</p>
<blockquote><p>log_ip 10.20.30.40</p></blockquote>
<p>Reboot your unit and watch the logs roll in. Verify by checking what syslog is up to:</p>
<blockquote><p>root@OpenWRT:~# ps -ef | grep syslog<br />
87 root      1928 S    syslogd -C16 -L -R 10.20.30.40</p></blockquote>
<p>Now, that said, I also found how to set the name servers (for /etc/resolv.conf) the <a href="http://downloads.openwrt.org/kamikaze/docs/openwrt.html#x1-80001.2.1">correct way</a> &#8211; adding an option entry under a suitable interface definition in /etc/config/network. Note that for several DNS servers the IPs should be space separated, like this:</p>
<blockquote><p>option &#8216;dns&#8217; &#8217;10.0.0.1 10.0.0.2&#8242;</p></blockquote>
<p>This creates an /etc/resolv.conf looking like this one:</p>
<blockquote><p>nameserver 10.0.0.1<br />
nameserver 10.0.0.2</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://bl0gg.ruberg.no/2009/01/remote-syslogging-with-openwrt-kamikaze/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VLAN woes</title>
		<link>http://bl0gg.ruberg.no/2009/01/vlan-woes/</link>
		<comments>http://bl0gg.ruberg.no/2009/01/vlan-woes/#comments</comments>
		<pubDate>Fri, 09 Jan 2009 16:30:00 +0000</pubDate>
		<dc:creator>bjorn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[comp]]></category>
		<category><![CDATA[Linksys]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OpenWRT]]></category>
		<category><![CDATA[VLAN]]></category>

		<guid isPermaLink="false">http://www.xn--blgg-hra.no/?p=3</guid>
		<description><![CDATA[I&#8217;ve been planning to do this for a long time and now I&#8217;m finally there. My home network now consists of two virtual host servers (one Xen and one KVM) and a firewall between them, all nodes understanding VLANs. On top of this, add a small but powerful Linksys switch and a Linksys wireless access [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been planning to do this for a long time and now I&#8217;m finally there. My home network now consists of two virtual host servers (one Xen and one KVM) and a firewall between them, all nodes understanding VLANs. On top of this, add a <a href="http://www.linksys.com/servlet/Satellite?c=L_Product_C2&amp;childpagename=US%2FLayout&amp;cid=1153780852984&amp;pagename=Linksys%2FCommon%2FVisitorWrapper&amp;lid=5298495123B11">small but powerful Linksys switch</a> and a Linksys wireless access point running <a href="http://ww.openwrt.org/">OpenWRT</a> Kamikaze 8.09 (RC1). Among other things, this setup should facilitate testing Munin and other stuff without breaking the current functionality too much.</p>
<p>I got great help from <a href="http://renial.net/weblog/2007/02/27/xen-vlan/">this article</a> on tweaking VLANs on the Xen host, and <a href="http://blog.loftninjas.org/2008/08/11/enterprise-networking-with-kvm-and-libvirt/">this article</a> on VLANs with kvm. Thanks!</p>
]]></content:encoded>
			<wfw:commentRss>http://bl0gg.ruberg.no/2009/01/vlan-woes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

