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

Re: arp who-has problem[solved]



tomfi napsal(a):
> Hi, i dont know why bud my debian router dont reply on arp requests...
> have you any Idea what is wrong?
> Situation:
>
> # ip addr show dev eth1
>  3: eth1: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc htb qlen 1000
>     link/ether 00:50:8b:60:77:ed brd ff:ff:ff:ff:ff:ff
>     inet 192.168.1.1/24 brd 192.168.1.255 scope global eth1
>     inet 172.17.178.1/24 brd 172.17.178.255 scope global eth1:1
>     inet6 fe80::250:8bff:fe60:77ed/64 scope link
>        valid_lft forever preferred_lft forever
>
> # tcpdump -i eth1 -n net 192.168.1.0/24
> tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
> listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes
> 20:36:55.378542 arp who-has 192.168.1.1 (00:50:8b:60:77:ed) tell
> 192.168.1.169
> 20:36:55.378828 arp reply 192.168.1.1 is-at 00:50:8b:60:77:ed
>
> # tcpdump -i eth1 -n net 172.17.178.0/24
> tcpdump: verbose output suppressed, use -v or -vv for full protocol
> decode
> listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes
> 20:34:06.854972 arp who-has 172.17.178.1 tell 172.17.178.12
> 20:34:07.854536 arp who-has 172.17.178.1 tell 172.17.178.12
> 20:34:08.859466 arp who-has 172.17.178.1 tell 172.17.178.12
> 20:34:09.855324 arp who-has 172.17.178.1 tell 172.17.178.12
> 20:34:10.854781 arp who-has 172.17.178.1 tell 172.17.178.12
>
> First IP is well replied, second never.
> Thanks for any help.
>
> 	Tomfi
>
>

For archival collection:
The problem can be very easy investigated via ip route command...
if there is no route to some network, then router dont respond to arp
requests from that network.

decision procedure:
$ ip route
172.16.0.0/24 dev eth0  proto kernel  scope link  src 172.16.0.2
192.168.1.0/24 dev eth1  proto kernel  scope link  src 192.168.1.1
172.17.178.0/24 dev eth1  proto kernel  scope link  src 172.17.178.1
default via 172.16.0.1 dev eth0
#here is everything ok... route to network 172.17.178.0/24 is known.
#problem was that I´v forgot about policy routing:
$ ip rule
0:      from all lookup local
32765:  from all lookup main
32766:  from 172.17.178.0/24 lookup 200
32767:  from all lookup default
#you see that everything from 172.17.178.0/24 goes to table 200
$ ip route show table 200
default via 192.168.254.1 dev pobocka1
#you see missing route to network 172.17.178.0/24 .... so solution is
#this command: ip route add 172.17.178.0/24 via 172.17.178.1 table 200
$ ip route show table 200
172.17.178.0/24 via 172.17.178.1 dev eth1
default via 192.168.254.1 dev pobocka1


172.17.178.0/24 via 172.17.178.1 dev eth1 <---------



Im apologize for stupid question :)
	Tomfi



Reply to: