<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Conning the Mark: Multiwan connections using IPTables, MARK, CONNMARK and iproute2</title>
	<atom:link href="http://nerdboys.com/2006/05/05/conning-the-mark-multiwan-connections-using-iptables-mark-connmark-and-iproute2/feed/" rel="self" type="application/rss+xml" />
	<link>http://nerdboys.com/2006/05/05/conning-the-mark-multiwan-connections-using-iptables-mark-connmark-and-iproute2/</link>
	<description>Tech tips, news and reviews</description>
	<lastBuildDate>Sat, 04 Feb 2012 15:08:34 -0700</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
	<item>
		<title>By: Multiwan connections addendum &#124; JoJoSOHO</title>
		<link>http://nerdboys.com/2006/05/05/conning-the-mark-multiwan-connections-using-iptables-mark-connmark-and-iproute2/comment-page-1/#comment-21</link>
		<dc:creator>Multiwan connections addendum &#124; JoJoSOHO</dc:creator>
		<pubDate>Thu, 10 Sep 2009 05:52:16 +0000</pubDate>
		<guid isPermaLink="false">http://jojosoho.com/2006/05/05/conning-the-mark-multiwan-connections-using-iptables-mark-connmark-and-iproute2/#comment-21</guid>
		<description>[...] That&#8217;s Neat! &#160;&#160; Conning the Mark: Multiwan connections using IPTables, MARK, CONNMARK and iproute2 [...]</description>
		<content:encoded><![CDATA[<p>[...] That&#8217;s Neat! &nbsp;&nbsp; Conning the Mark: Multiwan connections using IPTables, MARK, CONNMARK and iproute2 [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: GGruendgens</title>
		<link>http://nerdboys.com/2006/05/05/conning-the-mark-multiwan-connections-using-iptables-mark-connmark-and-iproute2/comment-page-1/#comment-18</link>
		<dc:creator>GGruendgens</dc:creator>
		<pubDate>Mon, 22 May 2006 19:50:00 +0000</pubDate>
		<guid isPermaLink="false">http://jojosoho.com/2006/05/05/conning-the-mark-multiwan-connections-using-iptables-mark-connmark-and-iproute2/#comment-18</guid>
		<description>Jonathan,&lt;br/&gt;&lt;br/&gt;Thank you very much for your explaination. That clarifies a lot. Strangely, the passage at the end of this section of the LARTC article somehow escaped my attention. (But even if I had heeded that passage, I could probably not have grasped its meaning as fully as I can in the lights of your kind comments.)</description>
		<content:encoded><![CDATA[<p>Jonathan,</p>
<p>Thank you very much for your explaination. That clarifies a lot. Strangely, the passage at the end of this section of the LARTC article somehow escaped my attention. (But even if I had heeded that passage, I could probably not have grasped its meaning as fully as I can in the lights of your kind comments.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan &#38; Karen Ng</title>
		<link>http://nerdboys.com/2006/05/05/conning-the-mark-multiwan-connections-using-iptables-mark-connmark-and-iproute2/comment-page-1/#comment-20</link>
		<dc:creator>Jonathan &#38; Karen Ng</dc:creator>
		<pubDate>Mon, 15 May 2006 18:02:00 +0000</pubDate>
		<guid isPermaLink="false">http://jojosoho.com/2006/05/05/conning-the-mark-multiwan-connections-using-iptables-mark-connmark-and-iproute2/#comment-20</guid>
		<description>GGruendgens,&lt;br/&gt;&lt;br/&gt;Thank you for your comment and the link.  You bring up some interesting points.  In fact, we started our original research with the same article you mentioned.  However, I believe the difference is highlighted in this quote from the LARTC article:&lt;br/&gt;&lt;br/&gt;&lt;i&gt;&lt;br/&gt;&quot;It will work for all processes running on the router itself, and for the local network, if it is masqueraded. If it is not, then you either have IP space from both providers [...] you will want to add rules selecting which provider to route out from based on the IP address of the machine in the local network.&quot;&lt;br/&gt;&lt;/i&gt;&lt;br/&gt;&lt;br/&gt;In our setup, we have several servers behind the router/fw on the local LAN.  Each of these servers have corresponding &quot;external&quot; IP addresses provided by the respective two ISPs.  Depending on which ISP, the router has bound to its own interfaces these external IP addresses and DNATs/SNATs them accordingly to/from our servers so that to the outside world, it appears that our servers all have external IP addresses with ports open on the services desired.  This is useful so that if we wanted to host two identical services (say Web servers) using two different external IPs, we could.&lt;br/&gt;&lt;br/&gt;Here&#039;s an illustration:&lt;br/&gt;&lt;br/&gt;&lt;b&gt;ISP 1&lt;/b&gt;:&lt;br/&gt;123.234.1.10 --maps-to--&gt; router&#039;s eth1&lt;br/&gt;         123.234.1.11 --router-DNATs-to--&gt; server 1, port 1494&lt;br/&gt;         123.234.1.12 --router-DNATs-to--&gt; server 2, port 25,80&lt;br/&gt;         123.234.1.13 --router-DNATs-to--&gt; server 3, port 80&lt;br/&gt;&lt;br/&gt;&lt;b&gt;ISP 2&lt;/b&gt;:&lt;br/&gt;216.111.1.10 --maps-to--&gt; router&#039;s eth2&lt;br/&gt;         216.111.1.11 --router-DNATs-to--&gt; server 1, port 1494&lt;br/&gt;         216.111.1.12 --router-DNATs-to--&gt; server 2, port 25&lt;br/&gt;&lt;br/&gt;Router has local LAN address 172.16.1.1&lt;br/&gt;Server 1 has local LAN address 172.16.1.131&lt;br/&gt;Server 2 has local LAN address 172.16.1.130&lt;br/&gt;Server 3 has local LAN address 172.16.1.140&lt;br/&gt;&lt;br/&gt;Now because most of these servers have two external IPs (i.e. users can access the service via either provider) and because they map to only ONE internal IP, there is no way for the router to tell which interface to send SNATed packets back out.  The only thing it can do is consult the default routing table which would have a default gateway, or at best (as the article suggests) consult a rule in the routing policy database that says essentially &quot;if the packet originates &lt;b&gt;FROM&lt;/b&gt; 172.16.1.x, send it out according to routing table {&lt;i&gt;aaaa&lt;/i&gt;}&quot;, where &lt;i&gt;aaaa&lt;/i&gt; is the routing table for &lt;b&gt;one&lt;/b&gt; of the providers.&lt;br/&gt;&lt;br/&gt;This latter part actually works (sometimes) but only insomuch as receiving packets from one provider and sending a reply packet out via another provider.  However, this is less than desirable, as the whole point of this is to handle the situation when one of the providers might be down.  Also, many ISPs will not let you send a packet with a source address other than one of their own.&lt;br/&gt;&lt;br/&gt;Thus, in our situation, it is not possible to do what we want to do without connection marking.&lt;br/&gt;&lt;br/&gt;Hope that helps to clarify things.&lt;br/&gt;&lt;br/&gt;BTW, if you haven&#039;t already, you may also wish to read &lt;a href=&quot;http://jojosoho.com/2006/05/08/multiwan-connections-addendum/&quot; rel=&quot;nofollow&quot;&gt;the addendum article&lt;/a&gt; I also posted which clarifies a few additional details.&lt;br/&gt;&lt;br/&gt;Jonathan.</description>
		<content:encoded><![CDATA[<p>GGruendgens,</p>
<p>Thank you for your comment and the link.  You bring up some interesting points.  In fact, we started our original research with the same article you mentioned.  However, I believe the difference is highlighted in this quote from the LARTC article:</p>
<p><i><br />&#8220;It will work for all processes running on the router itself, and for the local network, if it is masqueraded. If it is not, then you either have IP space from both providers [...] you will want to add rules selecting which provider to route out from based on the IP address of the machine in the local network.&#8221;<br /></i></p>
<p>In our setup, we have several servers behind the router/fw on the local LAN.  Each of these servers have corresponding &#8220;external&#8221; IP addresses provided by the respective two ISPs.  Depending on which ISP, the router has bound to its own interfaces these external IP addresses and DNATs/SNATs them accordingly to/from our servers so that to the outside world, it appears that our servers all have external IP addresses with ports open on the services desired.  This is useful so that if we wanted to host two identical services (say Web servers) using two different external IPs, we could.</p>
<p>Here&#8217;s an illustration:</p>
<p><b>ISP 1</b>:<br />123.234.1.10 &#8211;maps-to&#8211;> router&#8217;s eth1<br />         123.234.1.11 &#8211;router-DNATs-to&#8211;> server 1, port 1494<br />         123.234.1.12 &#8211;router-DNATs-to&#8211;> server 2, port 25,80<br />         123.234.1.13 &#8211;router-DNATs-to&#8211;> server 3, port 80</p>
<p><b>ISP 2</b>:<br />216.111.1.10 &#8211;maps-to&#8211;> router&#8217;s eth2<br />         216.111.1.11 &#8211;router-DNATs-to&#8211;> server 1, port 1494<br />         216.111.1.12 &#8211;router-DNATs-to&#8211;> server 2, port 25</p>
<p>Router has local LAN address 172.16.1.1<br />Server 1 has local LAN address 172.16.1.131<br />Server 2 has local LAN address 172.16.1.130<br />Server 3 has local LAN address 172.16.1.140</p>
<p>Now because most of these servers have two external IPs (i.e. users can access the service via either provider) and because they map to only ONE internal IP, there is no way for the router to tell which interface to send SNATed packets back out.  The only thing it can do is consult the default routing table which would have a default gateway, or at best (as the article suggests) consult a rule in the routing policy database that says essentially &#8220;if the packet originates <b>FROM</b> 172.16.1.x, send it out according to routing table {<i>aaaa</i>}&#8221;, where <i>aaaa</i> is the routing table for <b>one</b> of the providers.</p>
<p>This latter part actually works (sometimes) but only insomuch as receiving packets from one provider and sending a reply packet out via another provider.  However, this is less than desirable, as the whole point of this is to handle the situation when one of the providers might be down.  Also, many ISPs will not let you send a packet with a source address other than one of their own.</p>
<p>Thus, in our situation, it is not possible to do what we want to do without connection marking.</p>
<p>Hope that helps to clarify things.</p>
<p>BTW, if you haven&#8217;t already, you may also wish to read <a href="http://jojosoho.com/2006/05/08/multiwan-connections-addendum/" rel="nofollow">the addendum article</a> I also posted which clarifies a few additional details.</p>
<p>Jonathan.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: GGruendgens</title>
		<link>http://nerdboys.com/2006/05/05/conning-the-mark-multiwan-connections-using-iptables-mark-connmark-and-iproute2/comment-page-1/#comment-19</link>
		<dc:creator>GGruendgens</dc:creator>
		<pubDate>Sat, 13 May 2006 20:55:00 +0000</pubDate>
		<guid isPermaLink="false">http://jojosoho.com/2006/05/05/conning-the-mark-multiwan-connections-using-iptables-mark-connmark-and-iproute2/#comment-19</guid>
		<description>Since I am completely new to the art of Linux network configuration, I found this description very interesting and very instructive. But http://lartc.org/lartc.html#LARTC.RPDB.MULTIPLE-LINKS describes an apparently simpler solution to an apparently identical problem. Admittedly, I did not understand much of this latter description (on lartc.org), but I assume it works for the problem it has been devised. Is there a difference between the two problems which I am missing?</description>
		<content:encoded><![CDATA[<p>Since I am completely new to the art of Linux network configuration, I found this description very interesting and very instructive. But <a href="http://lartc.org/lartc.html#LARTC.RPDB.MULTIPLE-LINKS" rel="nofollow">http://lartc.org/lartc.html#LARTC.RPDB.MULTIPLE-LINKS</a> describes an apparently simpler solution to an apparently identical problem. Admittedly, I did not understand much of this latter description (on lartc.org), but I assume it works for the problem it has been devised. Is there a difference between the two problems which I am missing?</p>
]]></content:encoded>
	</item>
</channel>
</rss>

