Andrew,
        Thanks for the suggestion. What I did not mention clearly is I need to do 
SNAT for multiple IP to a single interfaces. So depending on what 
interface it goes across, it's IP gets changed base on the interface.

So my example of
Public IP <-----> 10.0.1.10 <-----> 192.168.1.10
Public IP <-----> 10.0.2.10 <-----> 192.168.1.10

Is really
Public IP <-----> 10.0.1.10 <-----> 192.168.1.10
Public IP <-----> 10.0.2.10 <-----> 192.168.1.10
Public IP <-----> 10.0.1.11 <-----> 192.168.1.11
Public IP <-----> 10.0.2.11 <-----> 192.168.1.11
Public IP <-----> 10.0.1.12 <-----> 192.168.1.12
Public IP <-----> 10.0.2.12 <-----> 192.168.1.12
Public IP <-----> 10.0.1.13 <-----> 192.168.1.13
Public IP <-----> 10.0.2.13 <-----> 192.168.1.13
Public IP <-----> 10.0.1.14 <-----> 192.168.1.14
Public IP <-----> 10.0.2.14 <-----> 192.168.1.14

And there are a few more. These are just examples.

So I have not tried what you mentioned. Will it work for more than one 
IP per interface? So far based on what I have seen if you use the 
interface name, you can only have a single IP address translated?

I am not sure if what I am thinking or want to do is possible. At least 
not with the iptables I am using, 1.2.4. I do not think 1.2.5 or 1.2.6 
has the functionality I am looking for either.

Please excuse my ignorance with iptables if that assumption is 
completely wrong.


[EMAIL PROTECTED] wrote:

>>-----Original Message-----
>>From: William L. Thomson Jr. [mailto:[EMAIL PROTECTED]]
>>Sent: Thursday, March 14, 2002 4:22 AM
>>To: [EMAIL PROTECTED]
>>Subject: NAT questions while attempting to load balance
>>
>>
>>To begin with I apologize for not having had enough time to properly 
>>search through the archives for previous answers to my question(s).
>>
>>
>>My scenario is I have two seperate SDSL lines through different 
>>providers. Each comes with their own block of public IP's. I have not 
>>contacted each ISP to request that they route for my other 
>>ISP's block.
>>
>>I am to small to ask for something like that. They will most 
>>likely say no.
>>
>>I had hoped to be able to load balance traffic both incoming and 
>>outgoing through the two lines, but am losing hope that it 
>>can be done.
>>
>>I have tried several different scenarios but believe my 
>>current one is 
>>the only solution.
>>
>>I have two DNS servers, and each server is so to speak, dedicated to 
>>each line. If you talk to dns 1 it will return public ip's 
>>for line 1. 
>>If you talk to dns 2 it will return public ip's for line 2.
>>
>>So here is where my nat problem lies. Here is a diagram to 
>>express what 
>>I am trying to do.
>>
>>
>>SDSL Router 1 ----- |      |       |      |----DNS1
>>                     |Linux |       |      |----DNS2
>>                     |      |-------|Switch|----DB
>>                  |Router|       |      |----FTP
>>SDSL Router 2 ----- |      |       |      |----WWW
>>
>>So if someone was using line 1 and communicating with the www 
>>server it 
>>would be double nat'ed.
>>
>>Public IP <-----> 10.0.1.10 <-----> 192.168.1.10
>>
>>If someone was using line 2 and communicating with the www server it 
>>would be double nat'ed.
>>
>>Public IP <-----> 10.0.2.10 <-----> 192.168.1.10
>>
>>
>>I have no problem doing the Destination nat'ing. It's the 
>>source I have 
>>a problem with.
>>
>>I need to be able to translate 192.168.1.10 into both 10.0.1.10 and 
>>10.0.2.10.
>>
>>I was hoping to do the translation based on the interface, 
>>but that is 
>>were my problem lies.
>>
>>So far I have not been able to map the source IP to an 
>>outgoing interface.
>>
>>Here is what I have
>>
>>iptables -t nat -I POSTROUTING -s 192.168.1.10 -j SNAT 
>>--to-source 10.0.1.10
>>
>>iptables -t nat -I POSTROUTING -s 192.168.1.10 -j SNAT 
>>--to-source 10.0.2.10
>>
>>
>>I would like to use something along the lines of
>>
>>iptables -t nat -I POSTROUTING -i eth1 -s 192.168.1.10 -j SNAT 
>>--to-source 10.0.1.10
>>
>>iptables -t nat -I POSTROUTING -i eth2 -s 192.168.1.10 -j SNAT 
>>--to-source 10.0.2.10
>>
>>
> 
> Try this
> 
> iptables -t mangle -A PREROUTING -p tcp -m state --state NEW -i eth1 -j MARK
> --set-mark 0x1
> iptables -t mangle -A PREROUTING -p tcp -m state --state NEW -i eth2 -j MARK
> --set-mark 0x2
> ...
> iptables -t nat -A POSTROUTING -m mark --mark 1 -j SNAT --to-source
> 10.0.1.10
> iptables -t nat -A POSTROUTING -m mark --mark 2 -j SNAT --to-source
> 10.0.2.10
> 
> HTH
> 
> Regards,
> 
> Andrew Kozachenko
> 
> 
> 
> 


-- 
Sincerely,
William L. Thomson Jr.
Support Group
Obsidian-Studios Inc.
439 Amber Way
Petaluma, Ca. 94952
Phone   707.766.9509
Fax 
707.766.8989
http://www.obsidian-studios.com


Reply via email to