Messages in this thread | | | From | "Matthias Barnutz" <> | Date | Mon, 21 Apr 1997 21:44:07 +0200 | Subject | bridging and arp |
| |
Hello!
I encountered a problem with the bridging functions of the kernel (2.0.25) and ARP.
What I want is the following: A linux box (maniac) has two ethernet cards (NE2000 and 3COM 3c509) and should bridge every protocol between the two networks. Additionally, maniac should act as printserver for (at least) on side of the network (eth0).
So I first configured maniac as if it only had one network adapter and configured routing. It worked fine for computers connected to eth0. Then I issued the following commands:
> ifconfig eth1 up > ifconfig eth0 promisc > ifconfig eth1 promisc > brcfg -ena
From now on, bridging is working, but it is not possible to get an ip connection. While pinging maniac, tcpdump showed why:
root@emil:~ > tcpdump -e tcpdump: listening on eth0 19:21:33.780623 0:40:5:2f:28:0 0:0:1b:3c:d8:bc ip 98: emil.figge.uni-dortmund.de > maniac.figge.uni-dortmund.de: icmp: echo request 19:21:33.780623 0:0:1b:3c:d8:bc 0:0:1b:3c:d8:bc ip 98: maniac.figge.uni-dortmund.de > emil.figge.uni-dortmund.de: icmp: echo reply
Look at the MAC addresses. maniac has 00:00:1b:3c:d8:bc, emil has 00:40:05:2f:28:00. In the reply, maniac inserted the wrong MAC address (his own), but the correct IP address. Maniac doesn't matter what the arp cache says, if it's empty, or if there's a correct entry: Maniac just uses his own MAC address.
Is this a known problem? Is it a bug in the kernel? Is there a solution? I don't want to use 2.1.x kernel, if possible. And: routing is not an alternative.
If you need more information (output of ifconfig, routing table, kernel configuration), just email me.
Greetings,
Matthias Barnutz
| |