I've posted parts of this problem before, and thanks to the folks who have made suggestions. However, I'm still stuck.
I'm a relative newbie with Linux trying to set up a gateway box with three NICs so I can masquerade the ip addresses of a DMZ and Internal network similar to the description in the IPCHAINS HOWTO. At this point, I've just set up three networks with reserved addresses around the gateway box while I work out the routing. But for reasons I cannot work out, two of the NICs (eth1 and eth2) in the gateway box are behaving bizarrely. I can ping them from "inside" the gateway box, and I can also ping them from the network attached to eth0. However, I cannot ping them from the networks attached directly to the NICs. It seems to me that there must be some Truly Stoooopid error I've made in a simple configuration, but I can't find it and would *greatly* appreciate any help. This is driving me nuts. Here's my network topology: External Network (BAD) | Test Client box 192.168.1.2 | ||HUB|| | eth1| (will be the external address eventually) --------------- | 192.168.1.1| | | |GATEWAY BOX |eth0 ----------------------------------- | |192.168.2.1 | (DMZ) | | | |192.168.3.1 | | --------------- | | eth2 | | | ||HUB|| ||HUB|| | | | | Internal Network (GOOD) | | | ------------- ------------- laptop |WWW/ mail server | ------------- ------------- 192.168.3.2 192.168.2.2 I'm running Debian (potato) on a scavenged P75 box. I've got an Intel EtherExpress Pro 10/100 PCI NIC at eth0, and two Intel EntherExpress Pro/10+ ISA NICs at eth1 and eth2. I believe I've successfully configured the ISA NICs via isapnptools; the PCI NIC was found automagically during the Debian installation. Here's the ifconfig output: eth0 Link encap:Ethernet HWaddr 00:A0:C9:E6:97:49 inet addr:192.168.2.1 Bcast:192.168.2.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:33 errors:0 dropped:0 overruns:0 frame:0 TX packets:16 errors:0 dropped:0 overruns:6 carrier:0 collisions:0 txqueuelen:100 Interrupt:9 Base address:0xfcc0 eth1 Link encap:Ethernet HWaddr 00:AA:00:BD:AE:A1 inet addr:192.168.1.1 Bcast:192.168.1.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 txqueuelen:100 Interrupt:5 Base address:0x200 eth2 Link encap:Ethernet HWaddr 00:AA:00:BD:B0:90 inet addr:192.168.3.1 Bcast:192.168.3.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 txqueuelen:100 Interrupt:10 Base address:0x220 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:3924 Metric:1 RX packets:38 errors:0 dropped:0 overruns:0 frame:0 TX packets:38 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 The NICs' LEDs indicate that they're connected and responding to traffic on their networks, and when I stuck the ISA NICs into a Windoze box, they worked fine. So I believe the NICs are OK except for some idiotic configuration error. Here's what happens: - 192.168.2.2 can ping 192.168.1.1 and 192.168.3.1 - 192.168.1.2 can't ping 192.168.1.1 - 192.168.3.2 can't ping 192.168.3.1 - 192.168.2.2 can't ping 192.168.1.2 or 192.168.3.2 Here's my routing table: Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2 192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.3.0 192.168.3.1 255.255.255.0 UG 0 0 0 eth2 192.168.2.0 192.168.2.1 255.255.255.0 UG 0 0 0 eth0 192.168.1.0 192.168.1.1 255.255.255.0 UG 0 0 0 eth1 IPforwarding is on. The only clue I have is that eth1 and eth2 both report an error "multicast setup failed" during boot (presumably when they're ifconfig'd) as well as when I ifconfig 'em from the command line. Here's the relevant part of dmesg: eth0: Intel EtherExpress Pro 10/100 at 0xfcc0, 00:A0:C9:E6:97:49, IRQ 9. Board assembly 689661-003, Physical connectors present: RJ45 Primary interface chip i82555 PHY #1. General self-test: passed. Serial sub-system self-test: passed. Internal registers self-test: passed. ROM checksum self-test: passed (0x24c9f043). Receiver lock-up workaround activated. id: 0x24 io: 0x200 eth1: Intel EtherExpress Pro/10 ISA at 0x200, 00:aa:00:bd:ae:a1, IRQ 5, 10BaseT. eth1: multicast setup failed. eth1: multicast setup failed. eth1: multicast setup failed. eth1: multicast setup failed. id: 0xa4 io: 0x220 eth2: Intel EtherExpress Pro/10 ISA at 0x220, 00:aa:00:bd:b0:90, IRQ 10, 10BaseT. eth2: multicast setup failed. eth2: multicast setup failed. eth2: multicast setup failed. eth2: multicast setup failed. Is there something else I need to do in /etc/isapnp.conf? Here's mine (which is just what pnpdump recommended): # $Id: pnpdump.c,v 1.21 1999/12/09 22:28:33 fox Exp $ # Release isapnptools-1.21 (library isapnptools-1.21) # # This is free software, see the sources for details. # This software has NO WARRANTY, use at your OWN RISK # # For details of the output file format, see isapnp.conf(5) # # For latest information and FAQ on isapnp and pnpdump see: # http://www.roestock.demon.co.uk/isapnptools/ # # Compiler flags: -DREALTIME -DNEEDSETSCHEDULER -DABORT_ONRESERR # (for library: -DREALTIME # -DNEEDSETSCHEDULER -DABORT_ONRESERR) # # Trying port address 0273 # Board 1 has serial identifier 0f 00 bd ae a1 30 10 d4 25 # Board 2 has serial identifier 65 00 bd b0 90 30 10 d4 25 # (DEBUG) #(READPORT 0x0273) (ISOLATE PRESERVE) (IDENTIFY *) (VERBOSITY 3) (CONFLICT (IO FATAL)(IRQ FATAL)(DMA FATAL)(MEM FATAL)) # or WARNING # Card 1: (serial identifier 0f 00 bd ae a1 30 10 d4 25) # Vendor Id INT1030, Serial Number 12431009, checksum 0x0F. # Version 1.0, Vendor version 0.0 # ANSI string -->Intel EtherExpress(TM) PRO Adapter <-- # # Logical device id INT1030 # Device capable of taking part in boot process # Device supports I/O range check register # Device supports vendor reserved register @ 0x3b # Device supports vendor reserved register @ 0x3c # Device supports vendor reserved register @ 0x3d # Device supports vendor reserved register @ 0x3f # # Edit the entries below to uncomment out the configuration required. # Note that only the first value of any range is given, this may be changed if required # Don't forget to uncomment the activate (ACT Y) when happy (CONFIGURE INT1030/12431009 (LD 0 # Logical device decodes 10 bit IO address lines # Minimum IO base address 0x0200 # Maximum IO base address 0x0390 # IO base alignment 16 bytes # Number of IO addresses required: 16 (ACT N) (IO 0 (SIZE 16) (BASE 0x0200) (CHECK)) # IRQ 3, 5, 9, 10 or 11. # High true, edge sensitive interrupt (by default) (INT 0 (IRQ 5 (MODE +E))) (NAME "INT1030/12431009[0]{Intel EtherExpress(TM) PRO Adapter }") (ACT Y) )) # End tag... Checksum 0x00 (OK) # Card 2: (serial identifier 65 00 bd b0 90 30 10 d4 25) # Vendor Id INT1030, Serial Number 12431504, checksum 0x65. # Version 1.0, Vendor version 0.0 # ANSI string -->Intel EtherExpress(TM) PRO Adapter <-- # # Logical device id INT1030 # Device capable of taking part in boot process # Device supports I/O range check register # Device supports vendor reserved register @ 0x3b # Device supports vendor reserved register @ 0x3c # Device supports vendor reserved register @ 0x3d # Device supports vendor reserved register @ 0x3f # # Edit the entries below to uncomment out the configuration required. # Note that only the first value of any range is given, this may be changed if required # Don't forget to uncomment the activate (ACT Y) when happy (CONFIGURE INT1030/12431504 (LD 0 # Logical device decodes 10 bit IO address lines # Minimum IO base address 0x0200 # Maximum IO base address 0x0390 # IO base alignment 16 bytes # Number of IO addresses required: 16 (ACT N) (IO 0 (SIZE 16) (BASE 0x0220) (CHECK)) # IRQ 3, 5, 9, 10 or 11. # High true, edge sensitive interrupt (by default) (INT 0 (IRQ 10 (MODE +E))) (NAME "INT1030/12431504[0]{Intel EtherExpress(TM) PRO Adapter }") (ACT Y) )) # End tag... Checksum 0x00 (OK) (VERIFYLD) # Returns all cards to the "Wait for Key" state (WAITFORKEY) Does anyone see what the problem is here? Arrgh!! TIA!! Stan