configure tap0 usando virt-manager para conexión inalámbrica en puente

8

Después de 3 días, finalmente tengo invitados kvm trabajando en la red a través de la red inalámbrica (enlace a continuación, ¡gracias!):

Mi red es 192.168.1.0/24

en el anfitrión:

sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
sudo tunctl -t tap0
sudo ip link set tap0 up
sudo ip addr add 192.168.1.25/24 dev tap0
sudo route add -host 192.168.1.30 dev tap0
sudo parprouted wlan0 tap0

en el invitado:

auto eth0
iface eth0 inet static
  address 192.168.1.30
  netmask 255.255.255.0
  network 192.168.1.0
  broadcast 192.168.1.255
  gateway 192.168.1.25

y comenzar el invitado:

sudo kvm /path/to/guest.img -net nic,macaddr=DE:AD:BE:EF:90:26 -net tap,ifname=tap0,script=no

Esto funciona muy bien y puedo hacer ping a la red local e Internet de un lado a otro entre los invitados.

Pero, ¿cómo agrego esta configuración a la configuración xml del invitado para poder iniciar el invitado a través de virt-manager con la misma configuración agradable?

árbitro:

DaveO
fuente

Respuestas:

1

intenta seguir esto: libwirtwiki - tap invitado

y arregle /etc/libvirt/qemu/example.xml

<interface type='ethernet'>
  <mac address='26:c7:a9:96:a7:7a'/>
  <target dev='tap0'/>
  <model type='virtio'/>
  <script path='no'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>

en mi caso funciona

MecaT
fuente
0

Creo que está intentando configurar una red puenteada de manera indirecta creando dispositivos táctiles, etc. En Linux puede crear un dispositivo de puente virtual para una interfaz física utilizando cambios de configuración simples. Una vez hecho esto, las máquinas virtuales KVM pueden configurarse para usar este dispositivo de puente virtual para conectarse a una LAN normal como si estuvieran directamente conectadas a ella. Da la ilusión de que todas las máquinas virtuales y la máquina base / host están conectadas a LAN directamente.

Si eso es lo que desea, modifique su / etc / sysconfig / network-scripts / ifcfg-eth0 (suponiendo que eth0 es el dispositivo de red host que tiene IP en la red 192.168.1.0/24 en su caso) para tener líneas

DEVICE=eth0
TYPE=Ethernet
BRIDGE=br0

entre otras líneas de configuración. Copie ifcfg-eth0 en ifcfg-br0 donde ifcfg-br0 debe diferir de ifcfg-eth0 en las líneas mencionadas a continuación

DEVICE=br0
TYPE=Bridge

Ahora, cuando use 'reinicio de red de servicio', tendrá que conectar las interfaces de red br0 y eth0 y su IP LAN en el rango 192.168.1.0/24 parecería estar asignada a br0. Ahora todo lo que tiene que hacer es editar la configuración de VM y pedirle que se conecte usando la red br0.

Saurabh Barjatiya
fuente
gracias Saurabh, pero esta forma redonda se debe a que las interfaces inalámbricas no admiten puentes normales, como lo haría con una interfaz eth0 con cable.
DaveO
¡Uy! Culpa mía. No sabía que el puente no funciona para interfaces inalámbricas como lo hacen para cableado.
Saurabh Barjatiya, el
En lugar de puentear. También puede configurar una red inalámbrica completa con su propio DHCP y usar un rango de IP privado no utilizado. Luego, para hacer que esta red inalámbrica se conecte al exterior, puede usar NAT de origen / destino en la máquina que tiene conexión inalámbrica y por cable. Si las máquinas virtuales inalámbricas no tienen ningún servidor, solo la fuente PAT lo haría. Si es necesario conectarse a máquinas virtuales inalámbricas desde el resto de la red, entonces debería hacerlo el combo NAT de origen y destino.
Saurabh Barjatiya
0

¿Qué hay de malo en usar macvtap ? Esto es completamente indoloro y no requiere ninguna configuración adicional en el host.

Selección de macvtap en virt-manager

Michael Hampton
fuente
3
Macvlan / macvtap es ideal para interfaces cableadas, pero parece que no funciona en interfaces inalámbricas, según mi propia experiencia y la experiencia de leer en línea.
lgaggini
2
@lgaggini No se puede tender un puente a las interfaces inalámbricas debido a que el AP rechazará las direcciones MAC de las máquinas virtuales. En ese caso, simplemente haces otra cosa.
Michael Hampton