On absolutely standard ubuntu-server linux distro running only BIND cache, sometimes i see non-link-local ip addresses in the arp/nei table and there is no way to communicate with those entries
After googling for most of the morning, i did not find similar problem, so i think it might be something wrong with my setup.
The setup is very simple:
1 network interface, with 1 vlan (eth0.264
) with 1 ip address, and 1 default gateway - nothing else
(for the question - i am replacing my ip addresses with 9.9.9.9
, my subnet with 9.9.9.0/24
and the example entry with 9.17.100.131
)
# uname -a
Linux space 3.0.0-16-server #28-Ubuntu SMP Fri Jan 27 18:03:45 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
# ip a li
4: eth0.264@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
link/ether 00:30:48:d5:c2:70 brd ff:ff:ff:ff:ff:ff
inet 9.9.9.13/24 brd 9.9.9.255 scope global eth0.264
inet6 fe80::230:48ff:fed5:c270/64 scope link
valid_lft forever preferred_lft forever
# ip rule li
0: from all lookup local
32766: from all lookup main
32767: from all lookup default
# ip ro li
default via 9.9.9.1 dev eth0.264 metric 100
9.9.9.0/24 dev eth0.264 proto kernel scope link src 9.9.9.13
# ip neigh show 9.17.100.131
9.17.100.131 dev eth0.264 INCOMPLETE
# arp -n 9.17.100.131
9.17.100.131 (incomplete) eth0.264
# sysctl net.ipv4.conf.all.accept_redirects
net.ipv4.conf.all.accept_redirects = 0
# strange route cache stuff
# ip ro show cache 9.17.100.131
9.17.100.131 dev eth0.264 src 9.9.9.13
cache <redirected> ipid 0x05cb
9.17.100.131 from 9.9.9.13 dev eth0.264
cache <redirected> ipid 0x05cb
# ip ro flush cache
# ip ro show cache 9.17.100.131
# ping 9.17.100.131
PING 9.17.100.131 (9.17.100.131) 56(84) bytes of data.
^C
--- 9.17.100.131 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms
# ip ro show cache 9.17.100.131
9.17.100.131 from 9.9.9.13 dev eth0.264
cache <redirected> ipid 0x06cb
9.17.100.131 dev eth0.264 src 9.9.9.13
cache <redirected> ipid 0x06cb
# arp -d 9.17.100.131
SIOCDARP(dontpub): Network is unreachable
(of course 9.17.100.131
is reachable from the next server 9.9.9.14
, and 9.9.9.14
's weird arp entries are reachable from 9.9.9.13
.. etc)
ip nei flush
does not remove the entry,
also arp -s
refuses to set it (like it should):
# arp -s 9.17.100.132 00:11:22:33:44:55
SIOCSARP: Network is unreachable
# arp -d 9.17.100.131
SIOCDARP(dontpub): Network is unreachable
I have 3 servers, with the same ubuntu version and running the same processess(only BIND), all of them experience the whole-world-is-link-local syndrome
after reboot
, it works for a couple of days and then it starts adding those non-link-local entries.
some usage statistics:
eth0.264 ~ 1000 pps udp traffic
load average 0.03
processes - rsyslogd, named, snmpd, sshd
Any ideas will be greatly appreciated.