[LARTC] Routing with SNAT

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I've been having some problems recently with regards to getting a
particular configuration setup. Excuse me if this has been asked before
but I couldn't think of a way to search for this type of question. What
I have is this: a wireless NAP that does PPPoE, an ARM netwinder running
debian, an Intel box running RedHat/Windows. I'm currently using DSL and
get a static IP via PPPoE. What I want to do is this:

- I want the wireless NAP to connect to my DSL (ARM pppoe just isn't
there yet).
- I want the netwinder right behind the NAP and fully open to the
internet (this is achieved using the NAP's DMZ feature)
- The netwinder will run netfilter doing my packet filtering, NAT, and
traffic shaping
- The netwinder will also be connected to a hub
- All machines behind the netwinder will connect to the hub and use the
netwinder's NAT to gain net

Let's say my static ip is 1.2.3.4. The NAP's local address is
192.168.123.254. The netwinder's interface to the NAP (eth0) is
192.168.123.1. The netwinder's hub interface (eth1) is 192.168.1.1. The
netwinder's default route is 192.168.123.254. All other machines
connected to the hub are in the network 192.168.1.0/24 and have the
default route 192.168.1.1. On the netwinder I use netfilter to do SNAT
using the following rule:

-t nat -A POSTROUTING -s 192.168.1.0/255.255.255.0 -o eth0 -j SNAT --to
1.2.3.4

What works:

-The netwinder can see both local nets .123 and .1 as well as the
outside internet
-All machines behind the netwinder get one way communication outwards.
Example:

On the intel machine which has address 192.168.1.2 I try to ping 2.3.4.5
(an outside IP). I have root access on 2.3.4.5 so I put the ethernet
interface into promiscuous mode and run "tcpdump -i eth0 -p icmp". On
the netwinder I put eth0 into promiscuous mode and do the same. What I
see is that the netwinder sees the outgoing ICMP requests with my static
ip (1.2.3.4). 2.3.4.5 sees the request coming from 1.2.3.4 and sends
replies. The netwinder never sees the replies. What I've gathered is
that the netwinder needs to broadcast that it is the route for 1.2.3.4
so that these return packets get past the NAP and routed to the
netwinder. In my searching I haven't found how to do this. Can anyone
let me know how this might be achieved or let me know the proper way to
get this working? Thanks!

-Ti Leggett
leggett@eecs.tulane.edu






[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux