Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 16 Oct 2002 20:22:58 -0700
From:      "Lucky Green" <shamrock@cypherpunks.to>
To:        <freebsd-questions@FreeBSD.ORG>
Subject:   Dual NICs, can only connect to one at time
Message-ID:  <002e01c2758c$7f8cf290$6501a8c0@VAIO650>

next in thread | raw e-mail | index | archive | help
I have a box with both an external and internal NIC. The external NIC is
connected to an ADSL adapter serving a block of globally routable static
IP addresses while the internal NIC is connected to a hub served by a
NAT/DHCP server. The idea here is that this way the box can offer
different services on the outside vs. the inside. The machine should not
route packets and is not configured as a router.

Unfortunately, with the external NIC enabled, the internal NIC cannot be
pinged from the inside.

A similar setup worked perfectly fine when an USB Ethernet adapter was
used as the internal NIC. Only after switching to a PCI card as the
internal NIC did this problem manifest. (The new card has been tested
and works fine when used by itself).

I am using FreeBSD 4.6.2.

From rc.conf:
# External static IP via 3COM card
ifconfig_xl0="inet 208.201.229.161  netmask 255.255.255.0"
hostname="cheesy.dhs.org"
defaultrouter="208.201.229.1"

# Internal IP reserved from DHCP pool via D-Link card
ifconfig_rl0="inet 192.168.0.103 netmask 255.255.255.0"

The above gives an ifconfig of:
2# ifconfig
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 192.168.0.103 netmask 0xffffff00 broadcast 192.168.0.255
        inet6 fe80::205:5dff:fe34:8133%rl0 prefixlen 64 scopeid 0x1
        ether 00:05:5d:34:81:33
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
xl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=3<rxcsum,txcsum>
        inet 208.201.229.161 netmask 0xffffff00 broadcast
208.201.229.255
        inet6 fe80::250:4ff:fed1:8a4a%xl0 prefixlen 64 scopeid 0x2
        ether 00:50:04:d1:8a:4a
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
[...]

Even though both interfaces are up, 208.201.229.161 cannot be accessed
from the outside. Though 208.201.229.161 can be accessed from the
inside.

Removing xl0 from rc.conf and changing the rl0 config to
ifconfig_rl0="DHCP"
allows the internal NIC to be pinged.

Just removing xl0 while leaving rl0 in the static configuration caused
both interface to not respond to pings.

For completeness, here is the ifconfig when rl0 is using DHCP:
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet6 fe80::205:5dff:fe34:8133%rl0 prefixlen 64 scopeid 0x1
        inet 192.168.1.103 netmask 0xffffff00 broadcast 192.168.1.255
        ether 00:05:5d:34:81:33
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active

What am I missing?

Thanks,
--Lucky


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?002e01c2758c$7f8cf290$6501a8c0>