linux - Why ARP requests a non-local address? -
i have linux virtual server 2 nics.
eth0 <ip1> eth1 <ip2>
arp_filter
turned on , rp_filter
set 2(loose mode).
policy-routing configured following:
table t1 default via <gw> dev eth0 src <ip1> 127.0.0.0/8 dev lo <lan> dev eth0 src <ip1> table t2 default via <gw> dev eth1 src <ip2> 127.0.0.0/8 dev lo <lan> dev eth1 src <ip2> ip rule add <ip1> table t1 ip rule add <ip2> table t2
after that, can ping
both binding floatingips of <ip1>
, <ip2>
outside. ping -i eth1 <some_domain>
dosen't work. tcpdump
shows when ping eth1
outside, linux directly asks mac
of outside address, incorrect because not in same lan
.
here tcpdump
data:
root@rm-2:~# tcpdump -i eth1 arp tcpdump: verbose output suppressed, use -v or -vv full protocol decode listening on eth1, link-type en10mb (ethernet), capture size 65535 bytes 17:53:08.696191 arp, request who-has 172.30.250.119 tell 172.30.248.2, length 46 17:53:08.728482 arp, request who-has 172.30.251.144 tell 172.30.251.138, length 46 17:53:09.447252 arp, request who-has 61.135.169.125 tell 172.30.251.43, length 28 17:53:09.551514 arp, request who-has 172.30.250.127 tell 172.30.248.2, length 46 17:53:09.698076 arp, request who-has 172.30.250.119 tell 172.30.248.2, length 46 17:53:09.859046 arp, request who-has 172.30.248.246 tell 172.30.248.245, length 46 17:53:10.446009 arp, request who-has 61.135.169.125 tell 172.30.251.43, length 28 17:53:10.477104 arp, request who-has 172.30.250.128 tell 172.30.248.2, length 46
as can see, 61.135.169.125
foreign address, bug or something?
edit
output of route
: // 172.30.248.1 gw
destination gateway genmask flags metric ref use iface default 172.30.248.1 0.0.0.0 ug 0 0 0 eth0
Comments
Post a Comment