All of lore.kernel.org
 help / color / mirror / Atom feed
From: Joel Newkirk <firewalldude@newkirk.us>
To: ro0ot <ro0ot@phreaker.net>
Cc: netfilter@lists.netfilter.org
Subject: Re: iptables with policy routing
Date: Sat, 13 Nov 2004 02:45:04 -0500	[thread overview]
Message-ID: <4195BB80.5060702@newkirk.us> (raw)
In-Reply-To: <41939AD2.602@phreaker.net>

ro0ot wrote:
> Hi,
> 
> Below is my Linux firewall network configuration: -
> 

> iptables -t nat -A POSTROUTING -s 172.16.0.1 -j SNAT --to-source 1.1.1.10
> iptables -t nat -A POSTROUTING -s 192.168.0.1 -j SNAT --to-source 2.2.2.10
> 
> 
> Below is my split access routing for multiple providers: -
> 
> # First ISP
> ip route add 1.1.1.8/30 dev eth0 src 1.1.1.10 table 1
> ip route add default via 1.1.1.9 table 1
> 
> # Second ISP
> ip route add 2.2.2.8/30 dev eth1 src 2.2.2.10 table 2
> ip route add default via 2.2.2.9 table 2
> 
> #
> ip rule add from 1.1.1.8/30 lookup 1
> ip rule add from 2.2.2.8/30 lookup 2
> 
> # My default choice of gateway
> ip route add default via 1.1.1.9


> When I perform a traceroute from a workstation with the IP address of 
> 192.168.0.1 and gateway 192.168.0.254, I can see the result of the 
> traceroute going through the 1.1.1.9 gateway, why?  It suppose to SNAT 
> to 2.2.2.10 via 2.2.2.9 gateway.

Happens because your default gateway is 1.1.1.9.  2.2.2.9 is only chosen 
when the source IP is 2.2.2.8/30.  Problem is, the routing decision is 
made BEFORE iptables->nat->POSTROUTING changes the source IP.  You will 
have to key your routing rules on the private IPs, like so:

ip rule add from 172.16.0.0/24 lookup 1
ip r a from 192.168.0.0/24 lookup 2

(I've gone through various configurations of a linux gateway router 
connecting multiple private networks to three T1s: bridge and plain 
router, load-balanced and source-routed, and with shaping/routing based 
on fwmarks)

j



> Regards,
> ro0ot
> 
> 
> 
> 



  reply	other threads:[~2004-11-13  7:45 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-11-11 17:01 iptables with policy routing ro0ot
2004-11-13  7:45 ` Joel Newkirk [this message]
2004-11-14 17:58   ` ro0ot

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=4195BB80.5060702@newkirk.us \
    --to=firewalldude@newkirk.us \
    --cc=netfilter@lists.netfilter.org \
    --cc=ro0ot@phreaker.net \
    /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.