[NTLUG:Discuss] routing concept
terry
trryhend at gmail.com
Sat Mar 1 19:27:25 CST 2008
On Sat, Mar 1, 2008 at 7:18 PM, terry <trryhend at gmail.com> wrote:
>
> On Sat, Mar 1, 2008 at 12:39 PM, Richard <ntlug at rain4us.net> wrote:
> >
> > On Fri, Feb 29, 2008 at 4:03 PM, Richard <ntlug at rain4us.net> wrote:
> > > > I'm struggling with a routing concept and I'm wondering what the
> > > > best way to implement this would be.
> > > >
> > > > I have an internet connection that has been assigned a SINGLE ip
> > > > address with a class C addreses. Then I have a /29 subnet being
> > > > routed TO that single ip address on the class C subnet.
> >
> > [best viewed with a non-proportional based font]
> >
> > ______
> > \ | |
> > I \4.2.2.1 4.2.2.3| |
> > S |--------------------| |eth1
> > P | eth0| |------
> > / | |
> > | |
> > hdlc0| |
> > To ISP#1<-----------|______|
> >
> >
> >
> > Let me see if I can explain this better. Let's say that I've been given
> > a real world IP address of 4.2.2.3 for a real world address with a gateway
> > of 4.2.2.1. Getting that bound is easy and works.
> >
> >
> > Now let's say that the ISP is routing 5.2.2.0/29 to me. (That leaves
> > me with the IP address range 5.2.2.0 - 5.2.2.7) Those ip addresses will
> > be routed THROUGH 4.2.2.3. This means that I am going to have to bind the
> > 5.2.2.0/29 subnet SOMEWHERE in the Linux box. Now If I just bind an IP
> > address like 5.2.2.1 as a secondary IP address on ETH0 (eth0:1), what am I
> > going to have to do to get the packets to route properly? I'm wondering
> > if I'll have to set the default route of eth0:1 to be the 4.2.2.3 address.
> >
> > My other thoughts is that I'm going to have to have a different nic
> > (whether
> > physical or virtual) onto which to bind the addresses.
> >
> >
> > ________________
> > \ | |
> > I \4.2.2.1 4.2.2.3|5.2.2.1 |10.x.x.x
> > S |--------------------|-------- |---------
> > P | eth0|eth0:1 |eth1
> > # / |(eth0:x) |
> > 2 / | ?Default route |
> > | for eth0:x ? |
> > | |
> > hdlc0| |
> > To ISP#1<-----------|________________|
>
>
> eth0 [probably] does not need a default route
>
>
>
> >
> > Now comes iptables, DNAT and SNAT. I am going to guess that all of my
> > firewall
> > rules will be based on the eth0:x interfaces (and their associated IP
> > address).
> > The thing is, when adding dead gateway detection
> > ( http://www.ssi.bg/~ja/ ) into the mix, how do I handle ensuring that the
> > outgoing packets have the proper SNAT address? The eth0 interface will
> > need to
> > be the one to participate in DGD since it is THAT route that would be
> > the route
> > that is critical if it were down, yet netfilter will be source NATing
> > the packets
> > from the 'internal' (eth0:x 5.2.2.x) segment. When the kernel makes a
> > routing
> > decision of which SNAT interface to use (hdlc0 or eth0:X) the answer can
> > never
> > be considered correct because eth0:X will ALWAYS be up...because it's local!
> >
> > Maybe I'm stuck in some circular logic...or don't have a proper grasp on
> > this.
> > I've come to regard ntlug as one of the BEST place for competent support
> > so I
> > gravitate here to resolve my issues. However, I realize that there may be a
> > better place for me to discuss this issue? If anyone can refer me to such a
> > place, I'd be grateful.
> >
> > NOTES:
> >
> > * 4.2.2.1, 4.2.2.2, and 4.2.2.3 are the old GTE (now verizon) dns server
> > addresses and are NOT my addresses. 5.2.2.x is..well something I pulled
> > out of
> > thin air.
> >
> > * Other links of interest..
> > **
> > http://www.experts-exchange.com/Networking/Linux_Networking/Q_21828553.html
> > ** http://lartc.org/howto/lartc.rpdb.multiple-links.html
> > **
> > http://www.experts-exchange.com/Networking/Linux_Networking/Q_21828553.html
> >
> > {It would be nice to have an email client that understood pmwiki
> > formatting! :)}
> >
> > By the way, Patrick, thanks again for pmwiki - I live and die by the
> > documentation
> > I can keep in there.
> >
> >
> >
> >
> > --
>
> You probably want something like:
>
>
> ifconfig eth0:0 192.168.1.5
> ifconfig eth0:1 192.168.1.6
> ifconfig eth0:2 192.168.1.7
> ifconfig eth0:3 192.168.1.8
> ifconfig eth0:4 192.168.1.9
> iptables -t nat -A PREROUTING -d 5.2.2.1 -p tcp -m tcp -j DNAT -o eth0
> --to-destination 192.168.1.5
> iptables -t nat -A PREROUTING -d 5.2.2.2 -p tcp -m tcp -j DNAT -o eth0
> --to-destination 192.168.1.6
> iptables -t nat -A PREROUTING -d 5.2.2.3 -p tcp -m tcp -j DNAT -o eth0
> --to-destination 192.168.1.7
> iptables -t nat -A PREROUTING -d 5.2.2.4 -p tcp -m tcp -j DNAT -o eth0
> --to-destination 192.168.1.8
> iptables -t nat -A PREROUTING -d 5.2.2.5 -p tcp -m tcp -j DNAT -o eth0
> --to-destination 192.168.1.9
>
>
> --
> <><
>
Or maybe:
ptables -t nat -A PREROUTING -p tcp -d 5.2.2.1 --dport 21 -j DNAT -o
eth0 --to-destination 192.168.1.5
ptables -t nat -A PREROUTING -p tcp -d 5.2.2.2 --dport 80 -j DNAT -o
eth0 --to-destination 192.168.1.6
ptables -t nat -A PREROUTING -p tcp -d 5.2.2.3 --dport 25 -j DNAT -o
eth0 --to-destination 192.168.1.7
etc... ?
--
<><
More information about the Discuss
mailing list