Here is my setup:

[ROUTER (netgear rp614)]
[Linux Workstations]

The freebsd router will eventually be a firewall and I want my
wireless behind that. I keep the netgear router plugged into the dsl
modem so it can take care of logging in to my isp and it also gives me
a point outside of my firewall which i can plug into and test the
security of my firewall from outside my network.

Currently, I have only one Linux workstation hooked up and no firewall
(ipfiltering, etc) enabled on the freebsd router. It is a clean
freebsd install and I have yet to even recompile the kernel with the
firewall features.

I have each router acting as a DHCP server to the next. This setup
works fine when I take the FreeBSD router out of the configuration

Now, the netgear router works fine, and my freebsd router gets online
no problem. However, when I plug my wireless linksys router into the
freebsd router (I have two linksys lne100tx NICs in the freebsd box,
dc0 goes to internet, dc1 goes to internal network), the wireless
router gets a DHCP lease from the freebsd router and everything looks
good, however the linux workstation cannot get out to the internet. I
can ping the wireless router it is connect to and access the setup
page via HTTP, i can ping the freebsd router, and i can ping the
netgear router, only I cannot access the netgear routers setup page
via HTTP (Something I could do when the freebsd router is out of the
loop) and i cannot ping anything beyond the netgear router.

To test, I took out the wireless router and connected the linux
workstation directly to the freebsd router and tried to get a dhcp
lease from it, only it would not get one. I am not sure how to
troubleshoot this part. I usually use the command dhcpcd eth0 on my
linux box to get a lease from my wireless router and this works no
problem, using the same command when connected to the freebsd router,
it just hung for about 2 or 3 minutes and then went back to the
command prompt, but did not bring eth0 up (i.e. ifconfig only showed

For this reason, I believe my problem is with my DHCP configuration on
the FreeBSD router. Could be something else I guess, because my
wireless router gets a lease from it no problem, only i still can't
get online. It just seems strange that my Linux box doesn't get a
lease when I hook it straight into the freebsd router but it gets a
lease fine from the wireless router.

Here is my dhcpd.conf :
--------------begin dhcpd.conf-----------------------
# dhcpd.conf

option domain-name-servers,;

default-lease-time 3600;
max-lease-time 86400;

# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.

# ad-hoc DNS update scheme - set to "none" to disable dynamic DNS
ddns-update-style none;

subnet netmask {
option routers;
---------------------end dhcpd.conf---------------------------

here is my rc.conf:
---------------------begin rc.conf----------------------------

# -- sysinstall generated deltas -- # Sun May 23 03:08:18 2004
# Created: Sun May 23 03:08:18 2004
# Enable network daemons for user convenience.
# Please make all changes to this file, not to /etc/defaults/rc.conf.
# This file now contains just the overrides from
ifconfig_dc1="inet netmask broadcast"

---------------------end rc.conf--------------------------------

the output of ifconfig (dc0 is to the internet, dc1 is to internal

--------------begin ifconfig output------------------------------

dc0: flags=8843 mtu 1500
inet6 fe80::203:6dff:fe14:e036%dc0 prefixlen 64 scopeid 0x1
inet netmask 0xffffff00 broadcast
ether 00:03:6d:14:e0:36
media: Ethernet autoselect (100baseTX )
status: active
dc1: flags=8843 mtu 1500
inet netmask 0xffffff00 broadcast
inet6 fe80::203:6dff:fe00:1ba9%dc1 prefixlen 64 scopeid 0x2
ether 00:03:6d:00:1b:a9
media: Ethernet autoselect (100baseTX )
status: active
plip0: flags=8810 mtu 1500
lo0: flags=8049 mtu 16384
inet netmask 0xff000000
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4

---------------------end ifconfig output------------------------------

and finally output of netstat -rn on the freebsd router
netstat -r was run after a lease was obtained by the wireless router
which was connected at dc1:

----------------------begin netstat -rn
Routing tables

Destination Gateway Flags Refs Use Netif
default UGS 0 27 dc0 UH 1 0 lo0
192.168.0 link#1 UC 0 0 dc0 00:09:5b:11:0b:1e UHLW 1 5 dc0
939 UGHS 0 0 lo0
192.168.2 link#2 UC 0 0 dc1 00:0c:41:71:58:1d UHLW 0 6 dc1

Destination Gateway Flags
Netif Expire
::1 ::1 UH
fe80::%dc0/64 link#1 UC
fe80::203:6dff:fe14:e036%dc0 00:03:6d:14:e0:36 UHL
fe80::%dc1/64 link#2 UC
fe80::203:6dff:fe00:1ba9%dc1 00:03:6d:00:1b:a9 UHL
fe80::%lo0/64 fe80::1%lo0 U
fe80::1%lo0 link#4 UHL
ff01::/32 ::1 U
ff02::%dc0/32 link#1 UC
ff02::%dc1/32 link#2 UC
ff02::%lo0/32 ::1 UC

-----------------------end netstat -rn

My wireless router likes to be on the linux workstation
side, which is why i gave to dc1 on my freebsd router.
Seems to be a little backwards (since the netgear is but
I don't think it should matter as long as there are no conflicts which
there are not.

I have been using variety of unix flavored OSes for awhile now,
however I am very new to routing and network design. I think I gave
most of the pertinant information, let me know if you need anything
else and I will post it. I appreciate any help you may be able to