Dave -- To get anywhere with this, I think you need to articulate your networking scheme in a bit more detail. Because you haven't, the rest of this response is really a guess.

As I understand it (remembering your message from yesterday as well as this one), you want to use the eth1 interface on this computer to daisy-chain a series of other computers, each with 2 eth* interfaces. You seem to want all of these computers to get their IP addresses from the D-Link router by DHCP.

This won't work ... or at least it will not work in any simple way. To see the issues involved, let's use the simplest variant of your idea, namely

D-Link <------->(eth0)-PC1-(eth1)<---x---->(eth0)PC2

(The diagram should be self-explanatory, except perhaps that the "x" indicates use of a crossover cable.) Assume for the moment that the network the D-Link serves is 192.168.1.0/24, and that eth0 on PC1 gets a DHCP address assignment on that network.

Now ... what addresses *should* eth1 on PC1 and eth0 on PC2 get? These interfaces are not on the same network as the D-Link and eth0-PC1. So if they get 192.168.1.0/24 addresses (the only ones the D-Link knows how to provide), they will have routing problems galore.

First, how does the D-Link route traffic to them? Either the D-Link would need to have static routes via PC1-eth0's IP address to these 2 addresses (probably no way to do that), or PC1 would have to proxy-arp them (doable with LEAF).

Second, how does PC2 route traffic to the D-Link (and via it, the Internet)? Well, it would need to know that PC1-eth1's IP address is its route to the D-Link (doable but tricky) or PC1 would have to proxy-arp the D-Link's IP address (also doable).

Third, how does PC2 route traffic to other hosts connected on the LAN side to the D-Link switch? This is the same problem as the second item, and it requires more proxy-arp'ing or more intricate static routes.

The more natural way to do this would be to recognize that the connection between PC1 and PC2 is a distinct network from the network that connects PC1 to the D-Link. Call it 192.168.2.0/30 . Assign addresses to PC1-eth1 and PC2-eth0 statically and tell PC2 that PC1-eth1's IP address is its default gateway. On PC1, you either NAT the PC2 network or (somehow) tell the D-Link that PC1 is its route to this other network.

This all gets messy. It gets even worse when you extend the daisy chain, because each link in the chain adds more proxy arp'ing or static route'ing or whatever to the process. Is it worth the effort to avoid the cost of a cheap hub?

Were I facing the underlying problem you (seem to) have, I would do one of two things:

1. Buy a cheap 100 Mbps hub (or switch, or 10 Mbps, depending on how rich or poor I was feeling that day and what was on sale) and attach it directly to the D-Link (most hubs have uplink port for this, or use a crossover cable).

2. If solution 1 created some problem, I would still buy the hub, but put it on PC1-eth1. Then I'd connect all the other computers to the LAN through this connection. Use a separate network, have PC1 act as the DHCP server for it, and have it NAT that LAN to the "outer" LAN.

The problem with even trying to get the D-Link to assign addresses to interfaces on the "far" side of PC1 is that a DHCP lease supplies more than an IP address. It includes, minimally, a netmask, a broadcast address, and a default gateway (and it may include a lot of other stuff). With the wiring plan you propose, PC2 and any PC?s beyond it would not know their routes to the default gateway if they only got information from the D-Link.

Finally, to answer your actual question more directly ... when pump (or any DHCP client I am familiar with) requests a DHCP lease, it does so using a broadcast packet sent out on the interface itself. So there is no way even to request a lease for eth1 from a DHCP server connected to eth0.

And a teminology issue: on your system, probably both eth0 and eth1 are *initialized* (that is, the relevant NIC module has created each interface). What you are trying to do is *configure* the interface (assign it an IP address). This is just a clarification of terminology, but the terminology is pretty standard in the Linux world.

At 12:20 AM 6/10/2003 -0500, [EMAIL PROTECTED] wrote:
How does one initialize both eth0 *and* eth1 ?
The docs are unclear.

I have a DHCP server (D-link 704 router/switch) upstream
of eth0, and I want the computer(s) downstream on eth1 to use
the same DHCP server.

So far, the computer in question is connecting to the
DHCP server and to the internet just fine.   I want to connect
another computer to this one, via the eth1 and a crossover cable.
The module for eth1 is loading fine during bootup.  But I can't
seem to initialize it fully.

---------------------------------------------------------------

My network interfaces has this:
        # /etc/network/interfaces -- configuration file for LEAF network
        auto lo
        iface lo inet loopback
        auto eth0
        iface eth0 inet dhcp

My Pump configuration file (/etc/pump.conf  ) has this:
        retries 3
        script "/etc/pump.shorewall"
        device eth0 {
        }

My Pump default config file (/etc/default/pump) has this:
        IFACES=eth0






-------------------------------------------------------
This SF.net email is sponsored by:  Etnus, makers of TotalView, The best
thread debugger on the planet. Designed with thread debugging features
you've never dreamed of, try TotalView 6 free at www.etnus.com.
------------------------------------------------------------------------
leaf-user mailing list: [EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/leaf-user
SR FAQ: http://leaf-project.org/pub/doc/docmanager/docid_1891.html

Reply via email to