на Centos 6.5 у меня есть мост сеть подключен к eth4 и моей виртуальной машине (Centos6,5), работающий на KVM, также подключен к этому интерфейсу (vnet0)
bridge name bridge id STP enabled interfaces
network 8000.588d090ee15e no eth4
vnet0
ВМ имеет IP-адрес 10.99.9.10 и размещает IP-адрес 10.99.9.2 на eth2
ВМ может обмениваться данными снаружи и доступна с других хостов, но не от Хозяина где он работает.
пингуется другой хост (10.99.9.3) из ВМ, и он отлично работает tcpdump показывает
пинг 10.99.9.3 -c 3
tcpdump -n icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
02:06:52.701448 IP 10.99.9.10 > 10.99.9.3: ICMP echo request, id 44807, seq 1, length 64
02:06:52.701896 IP 10.99.9.3 > 10.99.9.10: ICMP echo reply, id 44807, seq 1, length 64
02:06:53.701434 IP 10.99.9.10 > 10.99.9.3: ICMP echo request, id 44807, seq 2, length 64
02:06:53.701904 IP 10.99.9.3 > 10.99.9.10: ICMP echo reply, id 44807, seq 2, length 64
02:06:54.701117 IP 10.99.9.10 > 10.99.9.3: ICMP echo request, id 44807, seq 3, length 64
02:06:54.701489 IP 10.99.9.3 > 10.99.9.10: ICMP echo reply, id 44807, seq 3, length 64
Но если я пинговать тот же хост 10.99.9.2
пинг 10.99.9.2 -c 3
PING 10.99.9.2 (10.99.9.2) 56 (84) байтов данных.
Начиная с 10.99.9.10 icmp_seq = 1 целевой хост недоступен
Начиная с 10.99.9.10 icmp_seq = 2 Целевой хост недоступен
Начиная с 10.99.9.10 icmp_seq = 3 Целевой хост недоступен
--- 10.99.9.2 статистика ping --- 3 пакета передано, 0 получено, +3 ошибки, 100% потеря пакетов, время 3001 мс конвейер 3
Для меня странно, что tcpdump -n icmp ничего не показывает !!
В чем может быть причина такого поведения, даже если что-то блокирует, почему tcpdump не показывает даже запрос ICMP в tcpdump.
У меня только один интерфейс внутри виртуальной машины, а tcpdump выполняется только на доступном интерфейсе eth0
это потому, что ваш ARP может не получать MAC-адрес хоста, поскольку вы фильтруете только ICMP в tcpdump, он не будет отображать поиск ARP, удалите ICMP и попробуйте
tcpdump -n arp
если ты видишь только ARP, запрос у кого есть и нет ответа, тогда есть другая проблема с вашей сетью и исправьте ее, а пока, чтобы увидеть ICMP в tcpdump, попробуйте отредактировать кеш arp, используя
arp -s IP MAC
и проверить
arp -a
это не решит проблему с вашей сетью, но может показать ICMP в tcpdump