3 Nics - Dual (Tripe) Homed Host
Steven N. Fettig
freebsd at stevenfettig.com
Mon May 10 07:55:50 PDT 2004
Travis Troyer wrote:
> I have a FreeBSD system that acts as a NAT Gateway, currently
> providing on LAN with access to the Internet. I have added a third
> NIC, connected to a second LAN. The second LAN does not need internet
> access, but I would like it to be able to communicate with the first
> LAN. I have tried reading various sources, but have not found
> anything dealing with this situation. I would appreciate any help.
> Below is a diagram of my current setup and the output of ifconfig.
>
> Internet
> |
> [ xl0: DHCP assigned ]
> Router
> | |
> [ xl1: 10.0.0.1] [ xl3: 192.168.1.10]
> 10.0.0.0/24 LAN 192.168.1.0/24 LAN
>
> Output of ifconfig:
> xl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
> options=8<VLAN_MTU>
> inet 24.33.126.252 netmask 0xffffff00 broadcast 255.255.255.255
> ether 00:60:97:74:35:b0
> media: Ethernet autoselect (10baseT/UTP)
> status: active
> xl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
> options=b<RXCSUM,TXCSUM,VLAN_MTU>
> inet 10.0.0.1 netmask 0xffffff00 broadcast 10.0.0.255
> ether 00:01:02:37:93:eb
> media: Ethernet autoselect (100baseTX <full-duplex>)
> status: active
> xl2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
> options=b<RXCSUM,TXCSUM,VLAN_MTU>
> inet 192.168.1.10 netmask 0xffffff00 broadcast 192.168.1.255
> ether 00:01:02:cc:63:d2
> media: Ethernet autoselect (100baseTX <full-duplex>)
> status: active
> lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
> inet 127.0.0.1 netmask 0xff000000
>
Travis,
Although I have been dealing with routing for years, I can't claim I
really understand it well, so my advice may not be so intelligent, but
here's a stab at it anyway:
I think what you want to do is to bridge both LAN's. You need to tell
your gateway that in order to get to 10.0.0.0/24 from 192.168.1.0/24,
you need to tell the routing tables that the route to 10.0.0.0/24 is via
xl1 and vice versa.
route add 10.0.0.0/24 -interface xl1
and vice versa:
route add 192.168.1.0/24 -interface xl2
In the handbook, it says
(http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/network-bridging.html):
<--begin quote-->
19.5.4 Enabling the Bridge
Add the line:
net.link.ether.bridge=1
to /etc/sysctl.conf to enable the bridge at runtime, and the line:
net.link.ether.bridge_cfg=if1,if2
to enable bridging on the specified interfaces (replace if1 and if2 with
the names of your two network interfaces). If you want the bridged
packets to be filtered by ipfw(8), you should add:
net.link.ether.bridge_ipfw=1
as well.
For FreeBSD 5.2-RELEASE and later, use instead the following lines:
net.link.ether.bridge.enable=1
net.link.ether.bridge.config=if1,if2
net.link.ether.bridge.ipfw=1
<--end quote-->
I am not sure if this will work, though, because I'm not sure what
effect (if any) it would have on the NAT from the 192.168.1.0/24
network. You might want to first try this approach while NAT and the
firewall are turned off. I have a similar situation that I want to
test, so I'd be curious if you succeed and how.
Steve Fettig
More information about the freebsd-questions
mailing list