All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mohan Sundaram <mohan.tux@gmail.com>
To: lartc@vger.kernel.org
Subject: Re: [LARTC] Problem with multiple ADSL lines
Date: Fri, 12 Oct 2007 07:12:31 +0000	[thread overview]
Message-ID: <470F1B8F.9010406@vsnl.com> (raw)
In-Reply-To: <1196d7620710111354p5301336cue87ae26926a587ac@mail.gmail.com>

Kostas Flokos wrote:
> Hi Mohan,
> 
> Thanks a lot for your reply. I haven't tried it yet, but I have no 
> doubts it will work.
> 
> However, if you have time, could you please explain to me why a request 
> received from IP1 by host H1, having as default route IP2, can not be 
> routed through IP1; I have a routing table saying that the route to IP1 
> is through the proper eth card.
> I have used tcpdump to check the packets coming/in/out from the systems 
> and it seems that there is a packet going from ADSL1 to H1, but nothing 
> on the other way... it seems like H1 doesn't know what to do with it.
> 
Does the packet from H1 reach the Linux box? Coming to think of it, you 
must have a route on each of the ADSL routers that shows 192.168.0.0/24 
as reachable thro' the Linux box. Think this is ok else packet will not 
reach H1. Similarly, the host H1 must've the Linux box as default gateway.
> Could you please explain (or point me to URLs explaining that) why it 
> will change if I set the modems to bridge mode? 
Not all ADSL modems support bridging. Please check that out first.
> I still want to do NAT, 
> will it change if I do it from the Linux router now?
> 
Most routers NAT with their external IP and user normally has no 
control. Thus if you receive a request on ADSL1_IP which goes to H1 and 
the reply goes out thro' ISP2, the src of the reply will be ADSL2_IP due 
to natting. The initiator will only accept a reply with src ADSL1_IP.

If you set the modems to bridge mode, you can do the NATting on the 
Linux box where you can NAT with ADSL1_IP and still send the packet out 
thro' ISP2. Linux has a great deal of flexibility here.
> I also do not understand what you imply with
> "3. Source NAT rules use ISP1_IP and routing rule redirects it to link
> connected to ISP2. Flip similarly for ISP1."
> Could you be a bit more descriptive?
Linux Router config:
	Dst NAT http on ADSL1_IP goes to H1
	Dst NAT http on ADSL2_IP goes to H2

	Source NAT src H1 to ADSL1_IP
	Source NAT src H2 to ADSL2_IP

	ip rule add from ADSL1_IP table ADSL2_rules
	ip rule add from ADSL2_IP table ADSL1_rules

	ADSL1_rules default gw is ISP1. ADSL2_rules default gw is ISP2

H1 receives all requests that come on ADSL1_IP. The reply from H1 for 
request arriving on ADSL1 goes out thro' ISP2 as desired but with the 
right source IP i.e. ADSL1_IP.

 From your mail, it seemed like you were wanting to do this. Your 
original config was sending replies out thro' the same i/f it arrived on.
> 
> Forgive me for being a bit ignorant of all that; possibly I'm trying to 
> understand too much without basic technical background on routing, etc.
>
We were all there at a point of time. No need to apologize. It may also 
not be true that you do not know. We may be failing in communication too.
> One more time, thanks a lot for your help.
You are welcome.
> Regards,
> Kostas
> 
> On 10/12/07, *Mohan Sundaram* <mohan.tux@gmail.com 
> <mailto:mohan.tux@gmail.com>> wrote:
> 
>     Kostas Flokos wrote:
>      > Hi all,
>      > I have managed to setup a Fedora 7 box with 3 ethernet cards and two
>      > ADSL modem/routers from different suppliers as LARTC recommends. I am
>      > able to direct traffic for specific internal IPs either to one or the
>      > other ADSL line. However, I am faced with two problems I am
>     struggling
>      > for the solution:
>      >
>      > 1. I have opened a few ports on the ADSL router/firewalls to talk to
>      > internal hosts; say when someone hits http://myADSL1_IP I would
>     redirect
>      > him to 192.168.0.10 <http://192.168.0.10> <http://192.168.0.10>;
>     while if someone hits
>      > http://myADSL2_IP I would redirect him to 192.168.0.20
>     <http://192.168.0.20>
>      > <http://192.168.0.20>.
>     This is your ADSL router(s) config.
>      > If I have rules such as the following all works well:
>      >    ip rule add from 192.168.0.10 <http://192.168.0.10>
>     <http://192.168.0.10> table ADSL1_rules
>      >    ip rule add from 192.168.0.20 <http://192.168.0.20>
>     <http://192.168.0.20> table ADSL2_rules
>     These are rules on your linux machine to send traffic back on the same
>     link they came from.
>      > Unfortunately, if I want to do the reverse it does not work. I can't
>      > have a host prefer one ADSL line, but still receive traffic from the
>      > other ADSL line.
>     This can be done by switching the rule table above. Obviously NAT is
>     being used. However, this will break. You cannot initiate a connection
>     to one IP and match the reply or ack for that connection from another
>     IP. TCP/IP basics. Assymetric routing works when no address translations
>     take place.
>      > It may sound weird, but I only want to have one host
>      > reply to any of the two IPs, either from ISP1 or ISP2. With the
>     current
>      > configuration I can't. It works ok the default ISP of the host, but
>      > can't make it to work for the other.
>     One way of doing this would be:
>     1. Set the routers to bridge mode.
>     2. Assign the ISP IPs to the NICs.
>     3. Source NAT rules use ISP1_IP and routing rule redirects it to link
>     connected to ISP2. Flip similarly for ISP1.
> 
>     Let us hope your ISP2 does not filter out traffic having source outside
>     his subnet when it arrives from within.
> 
>     Mohan
>     _______________________________________________
>     LARTC mailing list
>     LARTC@mailman.ds9a.nl <mailto:LARTC@mailman.ds9a.nl>
>     http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc
> 
> 
> 
> 
> -- 
> bus-email: kflokos@upcom.eu <mailto:kflokos@upcom.eu>
> priv-email: kflokos@gmail.com <mailto:kflokos@gmail.com>
> web: http://www.upcom.eu
> GSM: +30-693-8415038
> 
> ************************************************************************
> This message and all of its attachments should be regarded as
> confidential. If you have received this email in error please notify the
> sender and destroy it immediately. Statements of intent shall only
> become binding when confirmed in hard copy by an authorised signatory.
> ************************************************************************

_______________________________________________
LARTC mailing list
LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

      parent reply	other threads:[~2007-10-12  7:12 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-11 20:54 [LARTC] Problem with multiple ADSL lines Kostas Flokos
2007-10-12  3:33 ` Mohan Sundaram
2007-10-12  6:13 ` Kostas Flokos
2007-10-12  7:12 ` Mohan Sundaram [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=470F1B8F.9010406@vsnl.com \
    --to=mohan.tux@gmail.com \
    --cc=lartc@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.