
EDIT: решено
похоже, что переключение статических определений MAC в сочетании с отображением vif/0 и vif/0 статически на eth0 и eth1 (в domU, согласноhttp://tomclegg.net/xen-eth0-переименован) сделал это.
Я устраняю эту странную проблему (по крайней мере, для меня) на моем Xen DomU.
Вот базовая схема:
-------- ------------- | | | КСЕН д0 | | А | | --------- | | | | | ксен дУ| | -------- -------------
Хост A — это несвязанная машина с IP 213.226.13x.yyy/24
XEN d0 — гипервизор с IP 213.226.13x.zzz/24
XEN dU — гостевая ОС (debian etch). Я пытаюсь настроить ее так, чтобы она видела шлюз, у него IP 213.226.13x.jjj/24.
Шлюз — 213.226.13x.1.
Все машины находятся в одной подсети. Проблема в том, что ОС gues не может пинговать шлюз, но может пинговать dom0 и хост A без проблем.
dom0 и хост A могут пинговать друг друга, шлюз и гостя.
Что я пробовал на хосте А:
ARP-пинг
$ arping -c 1 -i eth0 213.226.13x.1
АРПИНГ 213.226.13x.1 60 байт из 00:02:b3:e8:30:7e (213.226.13x.1): индекс=0 время=224.113 мкс ...
(как ни странно, arping -c 1 -i eth0 00:02:b3:e8:30:7e не работает).
Широковещательный пинг
$ пинг -б 213.226.13x.255
ВНИМАНИЕ: пинг широковещательного адреса PING 213.226.13x.255 (213.226.13x.255) 56(84) байт данных. 64 байта из 213.226.13x.18: icmp_seq=1 ttl=64 время=0,463 мс 64 байта из 213.226.13x.28: icmp_seq=1 ttl=64 время=0,478 мс (DUP!) ...
То же самое в гостевой ОС xen не возвращает никаких результатов (и arping, и ping -b).
Вывод $ iptables -L на обоих хостах, хосте A и гостевой системе xen, одинаков (ноль правил):
Цепочка ВХОД (политика ПРИНЯТЬ) целевой prot opt источник назначение Цепь ВПЕРЕД (политика ПРИНЯТЬ) целевой prot opt источник назначение Цепочка ВЫХОД (политика ПРИНЯТЬ) целевой prot opt источник назначение
На данный момент я исключил следующее:
поврежденное физическое соединение - XEN dom0 также не будет работать, что не соответствует действительности.
брандмауэр на шлюзе — мои ARP-пинги все равно будут проходить?
брандмауэр на гостевой системе xen - iptables -L не имеет правил
проблема с маршрутизацией — не уверен насчет этого, но я не смогу пинговать хост A и dom0 с испорченной таблицей маршрутизации, не так ли?
Любая помощь будет очень ценна.
EDIT1: дополнительная информация
Я не использую скрипты моста Xen, вместо этого использую network-dummy с вручную созданным br-eth1 для eth1, который является интерфейсом для локальной сети. eth0 — это мост, созданный установкой XEN для интерфейса eth0 (насколько мне известно, переименован в peth0).
Вот как выглядит /etc/network/interfaces на dom0:
# Сетевой интерфейс обратной связи авто ло iface lo inet петля обратной связи авто eth0 iface eth0 inet статический адрес 213.226.13x.zzz сетевая маска 255.255.255.0 шлюз 213.226.13x.1 авто eth1 iface eth1 inet руководство авто br-eth1 iface br-eth1 inet статический адрес 192.168.1.11 сетевая маска 255.255.255.0
И "brctl show" (при выключенном domU)..
имя моста идентификатор моста интерфейсы с поддержкой STP br-eth1 8000.000423d0d059 нет eth1 eth0 8000.000423d0d058 нет peth0
EDIT2: дополнительная информация
Конфигурация XEN для domU:
# # Загрузчик + ядро + размер памяти # загрузчик = '/usr/lib/xen-3.2-1/bin/pygrub' ядро = '/boot/vmlinuz-2.6.18-5-xen-686' ramdisk = '/boot/initrd.img-2.6.18-5-xen-686' память = '3072' vcpus = '4' # # Дисковое устройство(а). # корень = '/dev/sda1 ro' диск = [ 'phy:/dev/vg_main/domain-disk,sda1,w', 'phy:/dev/vg_main/domain-swap,sda2,w', ] # # Имя хоста # имя = '...' # # Нетворкинг # виф = [ 'ip=213.226.13x.jjj,mac=00:16:3E:83:0B:BC,мост=eth0', 'ip=192.168.1.12,mac=00:16:3E:83:0B:AC,мост=br-eth1', ] # # Поведение # on_poweroff = 'уничтожить' on_reboot = 'перезагрузка' on_crash = 'перезапуск'
решение1
- Покажите ваш скрипт моста/маршрутизации XEN (который фактически предоставляет сеть для domU).
- В чем разница в выводе tcpdump на внешнем интерфейсе dom0 при отправке ping-запросов на хост A и шлюз из domU?