[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: need help with configuring ethernet cards



I have no experience with D-link card, sorry.
But I might give you a intro to Linux network device and IP setup.
(This text is valid for 2.0.x kernels)
If you can't get your network to function if you follow the steps outlined
below, mail a transcript of your tries.

Cheers,
/Karl

-------------------------------------------------------------------------------
Karl Hammar		Aspö Data		karl@kalle.csb.ki.se
Lilla Aspö 2340		+46 173 140 57
S-742 94 Östhammar				Professional Linux Solutions
Sweden			+46 70 511 97 84 (mobile)
-------------------------------------------------------------------------------

	The steps to set up Linux networking:

	1, load the drivers for each interface
	2, tell the drivers/interfaces their IP numbers
	3, tell IP where to route packets
	4, use it (also application level stuff like nameserver, hostname etc.)

	1, load the drivers:
	--------------------
	The manual way to do the thing is:

# insmod 3c509			# well I have a 3com card also, it'll become eth0
# insmod 8390			# ne needs this
# insmod ne io=0x320,0x340	# you have to specify all cards, eth1 and eth2

	Note, you must specify all ne cards at once, with one insmod line

	And I can verify the action by
	a, checking the kernel logs (you might also get this after the insmods)

# tail /var/log/kern.log
.....
Apr 17 16:01:21 opal kernel: eth0: 3c509 at 0x300 tag 1, BNC port, address  00 20 af c0 89 80, IRQ 5. 
Apr 17 16:01:21 opal kernel: 3c509.c:1.16 2/3/98 becker@cesdis.gsfc.nasa.gov 
Apr 17 16:01:34 opal kernel: ne.c:v1.10 9/23/94 Donald Becker (becker@cesdis.gsfc.nasa.gov) 
Apr 17 16:01:34 opal kernel: NE*000 ethercard probe at 0x320: 00 80 ad 75 37 27 
Apr 17 16:01:34 opal kernel: eth1: NE2000 found at 0x320, using IRQ 12. 
Apr 17 16:01:34 opal kernel: NE*000 ethercard probe at 0x340: 00 80 ad 75 34 9c 
Apr 17 16:01:34 opal kernel: eth2: NE2000 found at 0x340, using IRQ 11. 

	b, checking /proc/net/dev

# cat /proc/net/dev 
Inter-|   Receive                  |  Transmit
 face |packets errs drop fifo frame|packets errs drop fifo colls carrier
    lo:      0    0    0    0    0        0    0    0    0     0    0
  eth0:      0    0    0    0    0        0    0    0    0     0    0
  eth1:      0    0    0    0    0        0    0    0    0     0    0
  eth2:      0    0    0    0    0        0    0    0    0     0    0

	2, set IP numbers:
	------------------
	Is done with ifconfig:

# ifconfig eth0 192.168.93.3
# ifconfig eth1 172.16.241.4 netmask 255.255.255.0 broadcast 172.16.241.255
# ifconfig eth2 10.12.86.209 netmask 255.255.240.0 broadcast 10.12.95.255

	Notes:
	a, if you have ip number ranges like the original class A, B or C you don't have
	   to specify the netmask nor broadcast
	b, if you specify a netmask you must specify the broadcast (else it will be wrong)
	c, for a table of different subnets, see RFC1878, it's very handy

	Verify it with:

# ifconfig
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Bcast:127.255.255.255  Mask:255.0.0.0
          UP BROADCAST LOOPBACK RUNNING  MTU:3584  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          Collisions:0 

eth0      Link encap:Ethernet  HWaddr 00:20:AF:C0:89:80  
          inet addr:192.168.93.3  Bcast:192.168.93.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          Collisions:0 
          Interrupt:5 Base address:0x300 

eth1      Link encap:Ethernet  HWaddr 00:80:AD:75:37:27  
          inet addr:172.16.241.4  Bcast:172.16.241.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          Collisions:0 
          Interrupt:12 Base address:0x320 

eth2      Link encap:Ethernet  HWaddr 00:80:AD:75:34:9C  
          inet addr:10.12.86.209  Bcast:10.12.95.255  Mask:255.255.240.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          Collisions:0 
          Interrupt:11 Base address:0x340 

	3, tell IP where to route packets:
	----------------------------------
	It is done with route:

# route add -net 192.168.93.0
# route add -net 172.16.241.0
# route add -net 10.12.80.0

	And verify it with:

# route -n		# same as netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.93.0    *               255.255.255.0   U     0      0        0 eth0
172.16.241.0    *               255.255.255.0   U     0      0        0 eth1
10.12.80.0      *               255.255.240.0   U     0      0        0 eth2
127.0.0.0       *               255.0.0.0       U     0      0        0 lo

	It is easy to misspell the net address, as seen in theese mistakes:

# route add -net 10.12.0.0
SIOCADDRT: Network is unreachable
# route add -net 10.12.0.0 eht2
SIOCADDRT: Operation not supported by device
# route add -net 10.12.0.0 eth2
SIOCADDRT: Invalid argument

	If you want a route to a net not matching your ifconfigs check out theese:

	a, you must specify the device if the destination
	   is on a directly connected cable

# route add -net 10.0.0.0 eth0

	b, you must specify the netmask if net don't match a class A, B or C net

# route add -net 10.12.0.0 netmask 255.255.0.0 eth1

	c, you must specify gw if on the other side of a router

# route add -net 192.168.12.0 gw 172.16.241.32

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.93.0    *               255.255.255.0   U     0      0        0 eth0
172.16.241.0    *               255.255.255.0   U     0      0        0 eth1
192.168.12.0    172.16.241.32   255.255.255.0   UG    0      0        0 eth1
10.12.80.0      *               255.255.240.0   U     0      0        0 eth2
10.12.0.0       *               255.255.0.0     U     0      0        0 eth1
127.0.0.0       *               255.0.0.0       U     0      0        0 lo
10.0.0.0        *               255.0.0.0       U     0      0        0 eth0

	Notes:
	a, as you can see the routes are sorted after netmasks,
	   the more specific first
	b, the net 10.0.0.0 contains 10.12.0.0 which contains 10.12.80.0
	   this is ok, since IP chooses a more specific route over a less
	   specific one

	Automate the above by editing /etc/init.d/network, /etc/modules and
	/etc/modutils/*

	4, use it:
	----------

	cd /etc and edit resolv.conf, host.conf, nsswitch.conf, networks and hosts if you get
	tired of ip numbers

$ ping xxx
# sendmail -bq
...

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

On Fri, 16 Apr 1999, Michael Nielson wrote:

> Hello All,
> 
> I'm in the process of resurrecting a 486 to be used as a firewall to
> enable multiple machines here on my home lan to access a single cable
> modem via IP masquerading.  I'm having some problems getting my ethernet
> cards working so I'm hoping that you'll help me out a bit.  (I'm new to
> Debian and Linux, but not new to UNIX in general.)
> 
> After doing a base install of slink 2.1.9-1999-03-03, I added two D-Link
> DE-220PCT cards to the system.  I used the D-Link setup program to set
> the IRQ and base addresses to unique values.
> 
> Next, I added alias entries to /etc/modutils/aliases to configure these
> cards use the ne driver since my understanding is that they are
> NE2000-compatible.  Upon reboot, ifconfig does indeed recognize the
> cards as eth0 and eth1.  However, I'm unable to get either of the cards
> to talk to other machines on the net.  I notice that after doing:
> 
>    ifconfig eth0 <ip address> netmask <netmask>
> 
> ... the "netstat -rn" command does not report an entry for the card. 
> This seems odd to me.  I've tried manually to establish a reasonable
> "netstat -rn" entry for it by invoking various forms of the route
> command, but to no avail.  In the end, I can ping the IP address for the
> card itself, but I can't ping anything out on the network.
> 
> Does anyone have any suggestions?  Anyone have experience with using 
> DE-220PCT NIC cards?  Or maybe since I'm new to Debian I'm just missing
> something obvious when it comes to configuring new drivers on the
> system.
> 
> Thanks much,
> 
> Mike Nielson
> mcnielson@home.com
> 
> 
> --  
> To UNSUBSCRIBE, email to debian-firewall-request@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
> 


Reply to: