Red de conocimiento informático - Conocimiento del nombre de dominio - Entra, entra, siéntate, hazme un favor. Está bien si no sabes la respuesta.

Entra, entra, siéntate, hazme un favor. Está bien si no sabes la respuesta.

Los tres métodos de conexión de red de VMware y los dos métodos de conexión de red de qemu implementan el método de comunicación de Internet de la máquina virtual <---> máquina virtual host <--->.

Configuración de Internet para las tres conexiones de red de VMware:

1 Puente de red:

Usar vmnet0 por defecto

Cambiar la ip de la máquina virtual. Configúrelo en una IP no utilizada en el mismo segmento de red que el host, y el resto es igual que el host:

Por ejemplo, la IP del host es 10. La máscara de red, la transmisión, la puerta de enlace y el dns Todos son iguales que el host y se puede implementar una máquina virtual<-- -->Máquina virtual del host<---->Comunicación por Internet.

2.

2:

Usar vmnet8 de forma predeterminada

Configure la máquina virtual para que use dhcp para acceder a Internet y seleccione "obtener IP automáticamente" para Windows, Linux abre el servicio dhcp para alojar la página de inicio

También puede configurarlo manualmente:

La configuración de IP es el mismo segmento de red que vmnet8. y la configuración de la puerta de enlace es la misma que la del host. La configuración de DNS es la misma que la del host.

Por ejemplo, vmnet8 ip:172.16.249.1 gw:172.16.249.2

Configuración de la máquina virtual: ip:172.16.249.100 gw:

3. :

Utilice vmnet1 de forma predeterminada

Configure la IP de la máquina virtual en el mismo segmento de red que vmnet1, configure la puerta de enlace a la IP de vmnet1, las otras configuraciones son las mismas que vmnet1 y la configuración de dns es la misma que la del host

Por ejemplo, vmnet1 IP :172.16.245.1

Configuración de la máquina virtual: IP :172.16.245.100 puerta de enlace :172.16.245.1

Esto permitirá que los hosts de la máquina virtual se comuniquen, pero la máquina virtual de Internet aún no puede comunicarse

Comunicación entre la máquina virtual e Internet:

1. Habilite enrutamiento de host

2. Configure iptables. Convertir el host en un servidor nat

1. echo 1 >/proc/sys/net/ipv4/ip_forward Hacer que el host tenga función de enrutamiento

2.245.0/24 -j MASQUERADE Host Inicio

Esta regla significa que la IP de origen del paquete de datos de 172.16.245.0/24 se disfraza como la IP de eth0, para que la máquina virtual pueda comunicarse con Internet

Si la interfaz de red es ppp+ o pppoe, debe cambiarla a -o pppoe

. Por supuesto, -s 172.16.245.0/24 también debe modificarse según la situación real

Host Home

Dos formas para que Qemu acceda a Internet:

Red en modo de usuario:

Este método es muy simple para que una máquina virtual acceda a Internet. Es similar a nat en VMware. Cuando se inicia qemu, agregue el parámetro -user-net y la máquina virtual podrá hacerlo. comunicarse con Internet. Agregue el parámetro user-net cuando se inicie qemu y luego use dhcp en la máquina virtual para comunicarse con Internet, pero este método es inconveniente para que la máquina virtual se comunique con el host.

tap/tun network:

Este método es más complicado que el modo de usuario, pero es fácil después de configurar la máquina virtual <--> Comunicación con el host de la VM por Internet

Este método es similar a la configuración pura del host de VMware. qemu utiliza el dispositivo tun/tap para agregar una pieza al host. El dispositivo tap agregará un dispositivo de red virtual (tun0) al host, que luego se puede configurar como una tarjeta de red real.

Primero, el kernel debe admitir dispositivos tap/tuns:

Controlador de dispositivo --->

Soporte de red --->

[M] Compatibilidad con el controlador de dispositivo TUN/TAP genérico

Si el kernel actual no lo admite, puede simplemente recompilar el módulo correspondiente para incluirlo, lo cual es muy simple:

Cambiar El archivo de configuración actual del kernel va al directorio del código fuente del kernel:

[root@LFS ~]#cp /boot/config-[kernel-version] /usr/src/linux

[ root@LFS ~]#cd /usr/src/linux

Configure el kernel y seleccione el módulo (M) para TUN/TAP, como se muestra en la figura anterior: www.host0y.com

[root@LFS ~]#make menuconfig

Solo recompila el módulo (M), no el kernel (*). Kernel (*) no compatible:

[root@LFS ~]#make module

Después de la compilación, puede encontrar tun en /usr/src/linux/drivers/net. :

[root@LFS net]#ls -l /usr/src/linux/drivers/net/nets/tun.ko linux/drivers/net/tun.ko

-rw-r--r-- 1 raíz raíz 11116 23 de marzo, 20:29 /usr/src/linux/drivers/net/tun.ko

[root@LFS net]#

cp a la ubicación apropiada en el directorio del módulo del kernel actual:

[root@LFS net]#cp /usr/src/linux/drivers/net/tun.ko /lib/ modules /`uname -r`/kernel/drivers/net

Restablecer las dependencias del módulo:

[root@LFS net]#depmod

Cargar ahora :

[root@LFS net]#modprobe tun

Compruébalo:

[root@LFS net]#lsmod |grep tun

tun 8704 0

[root@LFS net]#

OK. Se agregó con éxito soporte para módulos especiales sin tener que volver a compilar todo el kernel

Si su tarjeta xx no es compatible con el kernel y puede compilarse en un módulo, pero tiene miedo de que ocurran problemas si vuelve a compilar el kernel, puedes usar este método. Este método compila solo los módulos que necesitas y luego los instala manualmente en las ubicaciones apropiadas.

www.H0STOY.com

Hacer esto también es más rápido que compilar el kernel completo y no causa ningún daño al sistema, por lo que puedes usar tarjetas XX. ^_^

Tres puntos a tener en cuenta:

1. El código fuente del kernel debe ser coherente con la versión actual del kernel; de lo contrario, el módulo compilado no se ejecutará.

2. Tenga en cuenta que solo cree módulos (compilar módulos), no haga module_install (instalar módulos automáticamente en /lib/modules)

3. Antes de cargar el módulo recién compilado, depmod debe. de lo contrario, modprobe no podrá encontrarlo

De hecho, si usa el archivo de configuración del kernel actual (/boot/config-[kernel-version]) y simplemente agrega los módulos requeridos sin hacer Para cualquier otro cambio, make module_install no debería tener ningún problema.

Pero el método más seguro es la instalación manual, y es mejor que lo controles tú mismo :-)

Bien, volvamos al problema de Internet de qemu

Si Use udev para administrar dispositivos (las distribuciones del kernel 2.6.x generalmente usan udev), luego, después de modprobe tun, el directorio /dev/net se creará automáticamente y se creará un dispositivo tun.

[root@LFS net]#ls -l /dev/net/tun

lrwxrwxrwx 1 raíz raíz 6 25 de marzo 15:35 /dev/net/tun -> .. ./tun

lrwxrwxrwx 1 raíz raíz 6 25 de marzo 15:35 /dev/net/tun -> ....

[root@LFS net]#

Si lamentablemente no lo ves, entonces debes hacerlo manualmente

[root@LFS ~]#mkdir /dev/net

H0stoy.com p>

[root@LFS ~]#mknod /dev/net/tun c 10 200

OK, el equipo relevante está listo y se requiere un script de inicialización tun/tap:

/etc/qemu-ifup:

#! /bin/sh

/sbin/ifconfig $1 172.20.0.1

Luego otorgue permiso de ejecución a qemu-ifup x en /etc.

Este script solo puede ser ejecutado por el usuario root. Si un usuario normal necesita usar qemu, debe cambiarlo a sudo /sbin/ifconfig.... Luego configure los permisos relacionados con sudo.

Después de iniciar qemu, agregará un dispositivo de red virtual (tun0) al host:

[root@LFS ~]#ifconfig tun0

tun0 Link encap :Ethernet HWaddr 0A3:8A:5D:97:CD

inet addr:172.20.0.1 Bcast:172.20.255.255 Mask:255.255.0.0

ARRIBA TRANSMISIÓN EJECUTANDO MULTICAST MTU:1500 Métrica :1

Paquete RX: 0 errores:0 descartado:0 desbordamientos:0 :0

Paquete TX: 0 errores:0 descartado:0 desbordamientos:0 transportista:0 < / p>

colisiones:0 txqueuelen:500

Bytes RX: 0 (0.0 b) Bytes TX:0 (0.0 b)

[root@LFS ~]#

Ahora puede iniciar qemu para configurar los parámetros de red de la máquina virtual de la misma manera que un host VMware únicamente: