Назад | Перейти на главную страницу

странная проблема с мостом в KVM

на 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