arp request to a different subnet

Joel Hammer Joel
Mon May 17 11:29:07 PDT 2004


I will ask the question up front, then give the long, sorry story if more
details are needed to figure this out:
Question:
How can I get an arp request to be transmitted across a gateway to a
different subnet?
This is the arp request:
arp who-has 192.168.1.3 tell 192.168.0.2       
No answer is received.

OK. Now all the details:

I have a gateway and two workstations on different subnets.

Gateway: 192.168.1.6
         192.168.0.6

Linux workstation: 192.168.0.2
XP workstation   : 192.168.1.3

The Gateway pings both, the Linux workstation pings the gateway but not the
Xp workstation.

The XP workstation can send packets to the linux workstation, asking for DNS
information,for example, but the linux workstation can't find the XP workstation. The
Linux workstation broadcasts:
arp who-has 192.168.1.3 tell 192.168.0.2

But there is never any answer. These packets are getting to the gateway, but
are not getting transferred over to the subnet which has the XP workstation.

The arp table for the linux workstation shows:
192.168.1.3             ether  {incomplete}

When I fixed this arp table up, with:
arp -s 192.168.1.3   00:D0:29:5C:7A:13
The arp table looks like this:
192.168.1.3             ether   00:D0:29:5C:7A:13   CM  eth0

and all is well. The XP workstation can now interact properly with the
linux workstation.

The routing table of the gateway looks like this:
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use
Iface
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         192.168.0.2     0.0.0.0         UG    1      0        0 eth0

I do not have ipchains enabled in the kernel of the gateway (it is an
intranet, so I trust all my machines). IP forwarding is enabled.

This is the output of ifconfig for the gateway:

eth0      Link encap:Ethernet  HWaddr 00:20:78:17:5F:F9
          inet addr:192.168.0.6  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
          RX packets:4043627 errors:0 dropped:0 overruns:0 frame:9
          TX packets:5573901 errors:61 dropped:0 overruns:0 carrier:135
          collisions:85994 txqueuelen:100
          Interrupt:11 Base address:0xdc00

eth1      Link encap:Ethernet  HWaddr 00:50:BA:51:05:A4
          inet addr:192.168.1.6  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
          RX packets:2765345 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2096722 errors:5405 dropped:0 overruns:0 carrier:10616
          collisions:266927 txqueuelen:100
          Interrupt:10 Base address:0xe000                    

Question, rephrased a little bit: Why doesn't the gateway send the arp request from the linux
workstation to the subnet with the XP workstation?

This isn't an emergency. I can solve this problem by manually adjusting the
arp table at boot time, but, it would be nice to do this properly.

Thanks,
Joel



 





More information about the Linux-users mailing list