I have a fairly simple network setup at home based off my DSL modem.
Here is a quick schematic (Same as my early post)

[netgear router]
[Freebsd router]
[Wireless router]
[Linux Workstation]

Ok, so i have this setup. All the routers get an IP through DHCP from
the previous router. This seems to working fine. Normally the
following setup occurs:

netgear router is whatever the modem wants it to be to outside
netgear router is to my network.

The NIC in my freeBSD router connected to the netgear router is
The NIC in my freeBSD router connected to the Wireless router is

My wireless router gets an IP of from the FreeBSD router.
To my linux workstation, the wireless router has an IP of

My linux workstation gets an IP of

Those are the typical IP assignments my network gets. I can get
online from a console on the FreeBSD box fine (can ping anything,
browse web, etc.). On the linux workstation, I can ping the wireless
router at fine and access the setup page via HTTP. I can
ping the FreeBSD router and I can ping the netgear router. Once I go
beyond my local network, packets never make it back to the linux
workstation. To try and figure out why the packets never make it back,
here is a capture from tethereal on my freebsd router while I try and
ping www.yahoo.com:

0.000000 -> DNS Standard query A
5.007482 -> DNS Standard query A
10.016726 -> RIPv1 Response

So the linux box is querying the proper DNS address like normal
(linux box is, but is getting routed through the
wireless router at, and it seems the packets are
reaching the DNS address and the DNS is even sending back a response
(I let this go on for awhile and for each query I got a RIPv1 Response
like above).

The response is coming in, and the netgear router ( is
sending back the query response, only with a destination address of

Now this so far I have figured out, but I need some help in figuring
out why this is happening and what I can do to fix it.