LINUX.ORG.RU
решено ФорумAdmin

Проблема с сетью

 ,


0

3

Помогите решить проблему с сетью, уже незнаю что делать.

Есть сервак с Debian 7 (wheeze) и Xen 4.1 где создан hvm domU с Windows 2003 R2.

Проблема заключается в том что в винде сетевой интерфейс отправляет пакеты, но не получает ни одного ответа и проблема точно не в файерволе. Вся конфигурация 100% рабочая для squeeze, но на данном железе нет возможности его использовать.

Сеть настроена через bridge, который прописан в /etc/network/interfaces так:

auto br1
iface br1 inet static
        bridge_ports eth1
        address 192.168.181.1
        netmask 255.255.255.0
        network 192.168.181.0
        broadcast 192.168.181.255

Соответственно brctl show:

bridge name     bridge id               STP enabled     interfaces
br1             8000.fc751664844e       no              eth1
                                                        vif17.0

В ifconfig видно что пакеты ходят туда и обратно:

vif17.0   Link encap:Ethernet  HWaddr fe:ff:ff:ff:ff:ff  
          inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:72 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3924 errors:0 dropped:2 overruns:0 carrier:0
          collisions:0 txqueuelen:32 
          RX bytes:12879 (12.5 KiB)  TX bytes:310591 (303.3 KiB)

Но винда ничего не получает. В логах ничего не заметил, но обратил винмание на то, что по сравнению со squeeze, в данном случае не создается сетевой интерфейс tapX.0 в dom0. Может ли проблема заключаться в этом, или в Xen 4.1 все изменилось?

Подскажите куда копать.

★★

Может ктонибудь ответить у кого есть debian wheezy и xen 4.1 с hvm доменом с виндой?

static ★★
() автор топика
Ответ на: комментарий от static

есть)
cat /etc/network/interfaces

auto lo
iface lo inet loopback

# The primary network interface
auto eth2
allow-hotplug eth0
#NetworkManager#iface eth2 inet dhcp

auto xenbr0
iface xenbr0 inet dhcp
##iface eth2 inet dhcp
    bridge_ports eth2
grep vif winxp
vif winxp
vif = [ 'bridge=xenbr0' ]

darkenshvein ★★★★★
()
Ответ на: комментарий от darkenshvein

Конфиг виртуалки (win 2003 x86):

name = "termsrv"
kernel = "/usr/lib/xen-4.1/boot/hvmloader"
device_model = "/usr/lib/xen-4.1/bin/qemu-dm"
builder = "hvm"

memory = 1024
disk = [ 'phy:/dev/parsec/xen-termsrv00,hda,w' ]
boot = "c"
vif = ['bridge=br1, mac=7f:e6:6a:3e:27:16, model=e1000']
acpi = 1
apic = 1
usb = 1
usbdevice = 'tablet'

vnc = 1
vnclisten = '192.168.182.1'
vncpasswd = 'password'
sdl = 0

on_poweroff = 'destroy'
on_reboot = 'restart'
on_crash = 'restart'

Причем в vif пробовал не указывать model=e1000, пробовал rtl8139. Все одно и тоже.

static ★★
() автор топика
Ответ на: комментарий от static

На счет того что я писал в перовом посте, про отсутствие tapX.0 в dom0. Похоже всетаки не в этом дело. Он не создавался потому что в винде были установлены паравиртуальные драйверы. Сейчас переставил винду без них, появился интерфейс vifX.0-emu.

vif1.0    Link encap:Ethernet  HWaddr fe:ff:ff:ff:ff:ff  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:32 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

vif1.0-emu Link encap:Ethernet  HWaddr fe:ff:ff:ff:ff:ff  
          inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:43 errors:0 dropped:0 overruns:0 frame:0
          TX packets:258 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:7443 (7.2 KiB)  TX bytes:17548 (17.1 KiB)

И в brctl он добавляется:

bridge name     bridge id               STP enabled     interfaces
br1             8000.fc751664844e       no              eth1
                                                        vif1.0
                                                        vif1.0-emu

Но винда ведет себя точно также. Причем что с паравиртуальными драйверами, что без них.

static ★★
() автор топика
Ответ на: комментарий от static

ну-с, тут либо так:
vif = ['bridge=br1' , 'mac=7f:e6:6a:3e:27:16' , 'model=e1000' ]
либо так:
vif = [ bridge='br1' , mac= '7f:e6:6a:3e:27:16', model='e1000' ]
на эти ошибки не ругается?
И советую сначала попытаться поднять с дефолтными значениями, без всяких маков, динамикой.

darkenshvein ★★★★★
()
Ответ на: комментарий от darkenshvein

Причём здесь Лужков, Юрий Михайлович? Казалось бе...

Притом, что без вставленного конфига у ТС могла быть проблема, когда гостевая система 64 бита и в конфиге интерфейса было бы указано:

type=ioemu

dgeliko ★★
()
Ответ на: комментарий от darkenshvein

ЗАРАБОТАЛО :))))

vif = [ 'bridge=br1'] - при таком определении.

Причем что самое странное:

['bridge=br1','mac=7f:e6:6a:3e:27:16'] - домен не стартует. Судя по логам, поведение такое же как и в squeeze. То что разделено при помощи ' является описанием разных интерфейсов (т.е. 1й, 2й и т.д).

['bridge=br1,mac=7f:e6:6a:3e:27:16'] - стартует, но сеть не работает.

[bridge='br1',mac='7f:e6:6a:3e:27:16'] - сразу вылетает с ошибкой синтаксиса.

Получается что правильный вариант это ['bridge=br1,mac=7f:e6:6a:3e:27:16'], но тут явный явный баг.

Сейчас попробую разные варианты и отпишусь.

static ★★
() автор топика
Ответ на: комментарий от darkenshvein

Очень странно.

Если взять мак из диапазона который использует xen (например - 00:16:3e:34:85:72), то сеть работает нормально!

Попробовал еще такой вариант, 00:16:3e:34:85:72 - тоже нормально :)

Больше вариантов не пробовал, но получается что баг был при указании мака 7f:e6:6a:3e:27:16. Я его брал с какогото online генератора.

В общем спасибо огромное всем, а особенно darkenshvein :) Теперь хоть выспаться можно будет :)

static ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.