[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

virtio bridge no funciona al pasar de Debian Jessie a Debian Stretch



Tengo una máquina Debian, en la que uso KVM para correr una viejo XP que usa un software que usamos, usaba una interfaz de red Virtio con drivers versión 0.1-100 el cual corría sobre una Debian Jessie.

Decidí actualizar a Stretch (9.11) pues necesitaba correr una aplicación más moderna que me interesaba, hice el tipico apt-get update, apt-get ugprade y apt-get dist-upgrade aparentemente todo termino con normalidad, posteriormente un apt-get autoremove

El caso es que el interfaz red que usaba el XP virtualizado dejó de funcionar, lo primero que hice fue bajar los virtio drivers 0.1-171 (estable) y actualizarlo en el XP, pero seguía sin funcionar, el interfaz aparentemente levanta, envía paquetes pero no recibe.

Cambié de bridge (virtio) a e1000 e instalé el driver en el XP y funciona correctamente, pero como cuando hice pruebas con iperf ví que el rendimiento de red era mejor con virtio, sigo intentando con el driver para-virtualizado.

He estado viendo tutoriales y guías, así como problemas relacionados, y aparentemente la configuración es correcta, lo curioso es que compruebo que efectivamente los paquetes salen pero aparentemente no vuelven al XP, lo he comprobado haciendo un ping a un router cisco y activando el debug ip icmp, con lo que voy viendo que se reciben los paquetes con IP origen la IP del XP.

Configuración del host:

/etc/network/interfaces:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet manual

auto br0
iface br0 inet static
        address 192.168.0.99
        network 192.168.0.0
        netmask 255.255.255.0
        broadcast 192.168.0.255
        gateway 192.168.0.1

        bridge_ports eth0
        bridge_stp off
        bridge_fd 0

        bridge_maxwait 5

----------------------------------------------------------

#ifconfig

br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.99  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::fab1:56ff:feac:263b  prefixlen 64  scopeid 0x20<link>
        ether f8:b1:56:ac:26:3b  txqueuelen 1000  (Ethernet)
        RX packets 303656  bytes 389521494 (371.4 MiB)
        RX errors 0  dropped 292  overruns 0  frame 0
        TX packets 172191  bytes 31328267 (29.8 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether f8:b1:56:ac:26:3b  txqueuelen 1000  (Ethernet)
        RX packets 312922  bytes 396777313 (378.3 MiB)
        RX errors 0  dropped 252  overruns 0  frame 0
        TX packets 184775  bytes 35006703 (33.3 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 20  memory 0xf7100000-f7120000

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 96  bytes 6748 (6.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 96  bytes 6748 (6.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

vnet1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::fc54:ff:fe40:d62d  prefixlen 64  scopeid 0x20<link>
        ether fe:54:00:40:d6:2d  txqueuelen 1000  (Ethernet)
        RX packets 1281  bytes 94213 (92.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 627  bytes 125283 (122.3 KiB)
        TX errors 0  dropped 995 overruns 0  carrier 0  collisions 0

---------

aquí el proceso en ejecución ps aux | grep qemu

root      3325  9.1  8.7 3076588 2158784 ?     Sl   01:07   3:37 qemu-system-x86_64 -enable-kvm -name guest=WinXP-RawDisk,debug-threads=on -S - object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-7-WinXP-RawDisk/master-key.aes -machine pc-1.1,accel=kvm,usb=off,dump-guest-core=off -cpu SandyBridge,+monitor,+tm2,+est,+vmx,+osxsave,+smx,+ss,+vme,+dtes64,+abm,+ht,+ds,+pbe,+tm,+pdcm,+pdpe1gb,+ds_cpl,+movbe,+xtpr,+acpi,+fma -m 2048 -realtime mlock=off -smp 4,sockets=4,cores=1,threads=1 -uuid 1c955ad7-999d-a120-629e-027698586e1b -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/domain-7-WinXP-RawDisk/monitor.sock,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=localtime -no-shutdown -boot strict=on -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -device ahci,id=sata0,bus=pci.0,addr=0x6 -drive file=/dev/sda2,format=raw,if=none,id=drive-virtio-disk1,cache=none,aio=native -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x8,drive=drive-virtio-disk1,id=virtio-disk1,bootindex=1 -drive file=/w2003/virtio-win-0.1.171.iso,format=raw,if=none,id=drive-ide0-1-0,readonly=on -device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -fsdev local,security_model=mapped,id=fsdev-fs0,path=/root/Descargas,readonly -device virtio-9p-pci,id=fs0,fsdev=fsdev-fs0,mount_tag=jose,bus=pci.0,addr=0x7 -netdev tap,fd=26,id=hostnet0,vhost=on,vhostfd=28 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:40:d6:2d,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -device usb-tablet,id=input0,bus=usb.0,port=1 -vnc 127.0.0.1:1 -device VGA,id=video0,vgamem_mb=16,bus=pci.0,addr=0x2 -device intel-hda,id=sound0,bus=pci.0,addr=0x4 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -device virtio-balloon-pci,id=balloon0,bus=pci .0,addr=0x5 -msg timestamp=on

--------

cat WinXP-RawDisk.xml
<domain type='kvm' id='7'>
  <name>WinXP-RawDisk</name>
  <uuid>1c955ad7-999d-a120-629e-027698586e1b</uuid>
  <memory unit='KiB'>2097152</memory>
  <currentMemory unit='KiB'>2097152</currentMemory>
  <vcpu placement='static'>4</vcpu>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-1.1'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <cpu mode='custom' match='exact'>
    <model fallback='forbid'>SandyBridge</model>
    <vendor>Intel</vendor>
    <feature policy='require' name='monitor'/>
    <feature policy='require' name='tm2'/>
    <feature policy='require' name='est'/>
    <feature policy='require' name='vmx'/>
    <feature policy='require' name='osxsave'/>
    <feature policy='require' name='smx'/>
    <feature policy='require' name='ss'/>
    <feature policy='require' name='vme'/>
    <feature policy='require' name='dtes64'/>
    <feature policy='require' name='abm'/>
    <feature policy='require' name='ht'/>
    <feature policy='require' name='ds'/>
    <feature policy='require' name='pbe'/>
    <feature policy='require' name='tm'/>
    <feature policy='require' name='pdcm'/>
    <feature policy='require' name='pdpe1gb'/>
    <feature policy='require' name='ds_cpl'/>
    <feature policy='require' name='movbe'/>
    <feature policy='require' name='xtpr'/>
    <feature policy='require' name='acpi'/>
    <feature policy='require' name='fma'/>
  </cpu>
  <clock offset='localtime'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/bin/kvm</emulator>
    <disk type='block' device='disk'>
      <driver name='qemu' type='raw' cache='none' io='native'/>
      <source dev='/dev/sda2'/>
      <backingStore/>
      <target dev='vdb' bus='virtio'/>
      <alias name='virtio-disk1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/w2003/virtio-win-0.1.171.iso'/>
      <backingStore/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
      <alias name='ide0-1-0'/>
      <address type='drive' controller='0' bus='1' target='0' unit='0'/>
    </disk>
    <controller type='usb' index='0' model='piix3-uhci'>
      <alias name='usb'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
    </controller>
    <controller type='ide' index='0'>
      <alias name='ide'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='sata' index='0'>
      <alias name='sata0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </controller>
    <controller type='pci' index='0' model='pci-root'>
      <alias name='pci.0'/>
    </controller>
    <filesystem type='mount' accessmode='mapped'>
      <source dir='/root/Descargas'/>
      <target dir='jose'/>
      <readonly/>
      <alias name='fs0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </filesystem>
    <interface type='bridge'>
      <mac address='52:54:00:40:d6:2d'/>
      <source bridge='br0'/>
      <target dev='vnet1'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/3'/>
      <target port='0'/>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/3'>
      <source path='/dev/pts/3'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <input type='tablet' bus='usb'>
      <alias name='input0'/>
      <address type='usb' bus='0' port='1'/>
    </input>
    <input type='mouse' bus='ps2'>
      <alias name='input1'/>
    </input>
    <input type='keyboard' bus='ps2'>
      <alias name='input2'/>
    </input>
    <graphics type='vnc' port='5901' autoport='yes' listen='127.0.0.1'>
      <listen type='address' address='127.0.0.1'/>
    </graphics>
    <sound model='ich6'>
      <alias name='sound0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </sound>
    <video>
      <model type='vga' vram='16384' heads='1' primary='yes'/>
      <alias name='video0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </memballoon>
  </devices>
  <seclabel type='none' model='none'/>
  <seclabel type='dynamic' model='dac' relabel='yes'>
    <label>+0:+0</label>
    <imagelabel>+0:+0</imagelabel>
  </seclabel>
</domain>

--------------------------

Visto todo, ¿algun sugerencia de por donde atacar el problema?

Gracias de antemano.


Reply to: