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

Xen-машина может видеть других в подсети, но не на шлюзе

РЕДАКТИРОВАТЬ: решено

похоже, что переключение статических определений MAC в сочетании со статическим отображением vif / 0 и vif / 0 на eth0 и eth1 (в domU, согласно http://tomclegg.net/xen-eth0-renamed) сделал это.

Я устраняю эту странную проблему (ну, по крайней мере, для меня) на моем xen domU.

Вот базовый макет:

-------- -------------
|      | | XEN  d0   |
|  A   | | --------- |
|      | | | xen dU| |
-------- -------------

Хост 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 могут пинговать друг друга, шлюз и гость.

Что я пробовал на хосте A:

ARP ping

$ arping -c 1 -i eth0 213.226.13x.1

ARPING 213.226.13x.1
60 bytes from 00:02:b3:e8:30:7e (213.226.13x.1): index=0 time=224.113 usec
...

(как ни странно, arping -c 1 -i eth0 00: 02: b3: e8: 30: 7e не работает).

Широковещательный пинг

$ ping -b 213.226.13x.255

WARNING: pinging broadcast address
PING 213.226.13x.255 (213.226.13x.255) 56(84) bytes of data.
64 bytes from 213.226.13x.18: icmp_seq=1 ttl=64 time=0.463 ms
64 bytes from 213.226.13x.28: icmp_seq=1 ttl=64 time=0.478 ms (DUP!)
...

То же самое на гостевой системе xen не возвращает никаких результатов (как arping, так и ping -b).

$ iptables -L вывод на обоих хостах A и xen-гостях одинаковый (нулевые правила):

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Вещи, которые я исключил на этот раз:

повреждена физическая ссылка - XEN dom0 также не будет работать, что не так.

брандмауэр на шлюзе - мои запросы ARP все равно проходят?

брандмауэр на гостевой системе xen - iptables -L не имеет правил

проблема с маршрутизацией - не уверен в этом, но я бы не смог пинговать хост A и dom0 с испорченной таблицей маршрутизации, не так ли?

Любая помощь очень ценится

EDIT1: дополнительная информация

Я не использую сценарии моста xen, вместо этого network-dummy с вручную созданным br-eth1 для eth1, который является интерфейсом для локальной сети. eth0 - это мост, созданный установкой XEN для интерфейса eth0 (переименованный в peth0 AFAIK).

Вот как выглядит / etc / network / interfaces на dom0:

# The loopback network interface
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
  address 213.226.13x.zzz
  netmask 255.255.255.0
  gateway 213.226.13x.1

auto eth1
iface eth1 inet manual

auto br-eth1
iface br-eth1 inet static
  address 192.168.1.11
  netmask 255.255.255.0

И "brctl show" (при выключенном domU) ..

bridge name bridge id       STP enabled interfaces
br-eth1     8000.000423d0d059   no      eth1
eth0        8000.000423d0d058   no      peth0

EDIT2: дополнительная информация

Конфигурация XEN для domU:

#
#  Bootloader + kernel + memory size
#
bootloader  = '/usr/lib/xen-3.2-1/bin/pygrub'
kernel      = '/boot/vmlinuz-2.6.18-5-xen-686'
ramdisk     = '/boot/initrd.img-2.6.18-5-xen-686'
memory      = '3072'
vcpus       = '4'

#
#  Disk device(s).
#
root        = '/dev/sda1 ro'
disk        = [
                  'phy:/dev/vg_main/domain-disk,sda1,w',
                  'phy:/dev/vg_main/domain-swap,sda2,w',
              ]


#
#  Hostname
#
name        = '...'

#
#  Networking
#
vif = [
        'ip=213.226.13x.jjj,mac=00:16:3E:83:0B:BC,bridge=eth0',
        'ip=192.168.1.12,mac=00:16:3E:83:0B:AC,bridge=br-eth1',
]

#
#  Behaviour
#
on_poweroff = 'destroy'
on_reboot   = 'restart'
on_crash    = 'restart'
  1. Покажите свой сценарий моста / маршрута xen (который фактически обеспечивает сеть для domU).
  2. Какая разница в выводе tcpdump на внешнем интерфейсе dom0 при эхо-запросе хоста A и шлюза от domU?