Всем привет.
Уже раза два-три сталкивался с проблемой маршрутизации на линуксовом сервере.
Вдруг ни с того ни с сего, линукс пытается ко всем IP-адресам найти MAC-адреса через ARP-запросы не смотря на то, в какой подсети находится этот адрес.
Я просмотрел отчеты разных команд, отвечающих за сеть - все как должно быть, но сеть не работает.
Вот сейчас опять таже проблема образовалась.
# ifconfig
eth0 Link encap:Ethernet HWaddr 22:5e:6d:e0:ec:69
inet addr:10.1.10.27 Bcast:10.1.10.31 Mask:255.255.255.240
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:184336163 errors:0 dropped:0 overruns:0 frame:0
TX packets:194773342 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:16476583446 (16.4 GB) TX bytes:16857644986 (16.8 GB)eth0:1 Link encap:Ethernet HWaddr 22:5e:6d:e0:ec:69
inet addr:192.168.254.52 Bcast:192.168.254.63 Mask:255.255.255.240
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:18461800 errors:0 dropped:0 overruns:0 frame:0
TX packets:18461800 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1173944616 (1.1 GB) TX bytes:1173944616 (1.1 GB)
# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 22:5e:6d:e0:ec:69 brd ff:ff:ff:ff:ff:ff
inet 10.1.10.27/28 brd 10.1.10.31 scope global eth0
inet 192.168.254.52/28 brd 192.168.254.63 scope global eth0:1
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.1.10.17 0.0.0.0 UG 0 0 0 eth0
10.1.10.16 0.0.0.0 255.255.255.240 U 0 0 0 eth0
192.168.254.48 0.0.0.0 255.255.255.240 U 0 0 0 eth0
# ip route show table all
default via 10.1.10.17 dev eth0
10.1.10.16/28 dev eth0 proto kernel scope link src 10.1.10.27
192.168.254.48/28 dev eth0 proto kernel scope link src 192.168.254.52
broadcast 10.1.10.16 dev eth0 table local proto kernel scope link src 10.1.10.27
local 10.1.10.27 dev eth0 table local proto kernel scope host src 10.1.10.27
broadcast 10.1.10.31 dev eth0 table local proto kernel scope link src 10.1.10.27
broadcast 127.0.0.0 dev lo table local proto kernel scope link src 127.0.0.1
local 127.0.0.0/8 dev lo table local proto kernel scope host src 127.0.0.1
local 127.0.0.1 dev lo table local proto kernel scope host src 127.0.0.1
broadcast 127.255.255.255 dev lo table local proto kernel scope link src 127.0.0.1
broadcast 192.168.254.48 dev eth0 table local proto kernel scope link src 192.168.254.52
local 192.168.254.52 dev eth0 table local proto kernel scope host src 192.168.254.52
broadcast 192.168.254.63 dev eth0 table local proto kernel scope link src 192.168.254.52
unreachable default dev lo table unspec proto kernel metric 4294967295 error -101
unreachable default dev lo table unspec proto kernel metric 4294967295 error -101
# traceroute -nI 10.4.10.10
traceroute to 10.4.10.10 (10.4.10.10), 30 hops max, 60 byte packets
1 10.1.10.27 2998.733 ms !H 2998.706 ms !H 2998.711 ms !H
# ping 10.4.10.10
PING 10.4.10.10 (10.4.10.10) 56(84) bytes of data.
From 10.1.10.27 icmp_seq=1 Destination Host Unreachable
From 10.1.10.27 icmp_seq=2 Destination Host Unreachable
From 10.1.10.27 icmp_seq=3 Destination Host Unreachable
From 10.1.10.27 icmp_seq=4 Destination Host Unreachable
From 10.1.10.27 icmp_seq=5 Destination Host Unreachable
В это же самое время в другой сессии на этом сервере:
# tcpdump -ni eth0 -vvs2000 host 10.4.10.10
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 2000 bytes
21:07:03.740745 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.4.10.10 tell 10.1.10.27, length 28
21:07:04.737552 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.4.10.10 tell 10.1.10.27, length 28
21:07:05.737609 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.4.10.10 tell 10.1.10.27, length 28
21:07:06.739356 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.4.10.10 tell 10.1.10.27, length 28
21:07:07.737532 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.4.10.10 tell 10.1.10.27, length 28