Cómo configurar redes para Linux en vmware
vmware tiene tres métodos de conexión de red para configurar el Internet:
1.bridge:
Usa vmnet0 de forma predeterminada
Establece la IP de la máquina virtual en el mismo segmento de red que el host y no la utilices. él. ip, el resto es igual que el host:
Por ejemplo, si la ip del host es 10.70.54.31, configure la ip de la máquina virtual en 10.70.54.22. máscara de red, transmisión, puerta de enlace y dns son todos iguales que el host para implementar la máquina virtual<----->Máquina virtual host<---->Internet 1.
2. /p>
Usar vmnet8 de forma predeterminada
Configure la máquina virtual para usar dhcp para acceder a Internet. Seleccione "obtener IP automáticamente" para Windows y abra el servicio dhcp para Linux.
También puede configurarlo manualmente:
La IP está configurada en el mismo segmento de red que vmnet8, la puerta de enlace está configurada en vmnet8, el mismo segmento de red que vmnet8, y la configuración de DNS es la misma que la anfitrión.
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:172.16.249.2
3. Solo host:
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 con la IP de vmnet1, las otras configuraciones son las igual que vmnet1, y la configuración de dns es la misma que vmnet1. Los hosts son los mismos
Por ejemplo, IP de vmnet1: 172.16.245.1
Configuración de la máquina virtual: ip: 172.16. 245.100 Gateway: 172.16.245.1
Esto logra la virtualización La máquina <--> se comunica con el host, pero la máquina virtual <--> Internet aún no puede comunicarse
La máquina virtual se comunica con Internet:
1. Habilite la función de enrutamiento del host
2. Deje que el host se convierta en un servidor nat
1. echo 1 >/proc/sys/net/ipv4/ip_forward, para que el host tenga función de enrutamiento
2. -A POSTROUTING - o eth0 -s 172.16.245.0/24 -j MASQUERADE
Esta regla significa disfrazar la IP de origen del paquete de 172.16.245.0/24 a la IP de eth0, de modo que la IP virtual la máquina puede 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 debería modificarse según la situación real
Dos formas para que Qemu acceda a Internet:
Red en modo usuario:
Este método es muy simple para que las máquinas virtuales acceder a Internet. Es similar a vmware nat. Cuando se inicia qemu, agregue el parámetro user-net, la máquina virtual puede comunicarse con Internet mediante el método dhcp, 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 después de configurar la máquina virtual <-->máquina virtual de Internet<-->, la comunicación con el host es muy sencillo.
Este método es similar a la configuración de solo host de vmware y qemu usa el parámetro -user-net. qemu usa el dispositivo tun/tap para agregar un dispositivo de red virtual (tun0) al host, que luego se puede configurar como una tarjeta de red real.
Los dispositivos Tap/tuns fueron admitidos por primera vez en el kernel:
Controlador de dispositivo --->
Soporte de red --->
[M] Compatibilidad con el controlador de dispositivo Universal TUN/TAP
Si el kernel actual no lo admite, simplemente puede recompilar el módulo correspondiente para agregarlo. El método es muy simple:
[root@LFS ~]#cp /boot/config-[kernel-version] /usr/src/linux p>
[root @LFS ~]#cd /usr/src/linux
Configure el kernel y seleccione el módulo TUN/TAP (M), como se muestra en la figura anterior:
[root@LFS ~] #make menuconfig
Solo admite recompilar el módulo (M), no el kernel (*).
[root@LFS ~]#make module
Después de la compilación, puedes encontrar tun.ko en /usr/src/linux/drivers/net:
[root@LFS net]#ls -l /usr/src/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]#
Pcp al directorio del módulo correspondiente de la ubicación actual del kernel: p> p>
[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
Cárgalo ahora:
[root@LFS net]#modprobe tun p>
Compruebe:
[root@LFS net]#lsmod |grep tun
tun 8704 0
[root@LFS net]#
OK. La compatibilidad con módulos especiales se agregó con éxito sin tener que volver a compilar todo el kernel
Si su tarjeta xx no es compatible con el kernel y se puede compilar en un módulo, y le preocupa que surjan problemas después de recompilar el kernel, entonces puedes usar este Este método consiste en compilar solo los módulos que necesitas, luego instalarlos manualmente en la ubicación correspondiente y luego cargarlos.
Este método también es más rápido que compilar todo el kernel y no causa ningún daño al sistema, por lo que se pueden utilizar tarjetas XX. ^_^
Hay 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. se ejecutará o 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 For cualquier otro cambio, haga module_install no debería tener ningún problema.
Sin embargo, el método más seguro es la instalación manual, y es mejor que lo controle usted mismo :-)
Bien, volvamos al problema de Internet de qemu
Si Use udev para administrar dispositivos (las versiones del kernel 2.6.x generalmente usan udev), modprobe tun creará automáticamente un directorio /dev/net y creará un dispositivo tun. Después de modprobe tun, el directorio /dev/net se creará automáticamente y se creará el dispositivo tun. El enlace es el siguiente:
[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 -> ./ tun
[root@LFS net]#
Si lamentablemente no lo ves, debes hacerlo tú mismo manualmente
[root@LFS ~] #mkdir /dev/net
[root@LFS ~]#mknod /dev/net/tun c 10 200
OK, lo relevante el equipo está listo y se necesita un tun/tap Script de inicialización:
/etc/qemu-ifup:
#! /bin/sh
/sbin/ifconfig $1 172.20.0.1
Luego, dé permiso de ejecución a qemu-ifup x y colóquelo 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
Paquetes RX: 0 Errores: 0 Eliminados: 0 Desbordamiento: 0 Tramas: 0
Paquetes TX: 0 Errores: 0 Eliminados: 0 Desbordamiento: 0 Portador :0
Colisión: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, que son los mismos que los de vmware host-only:
ip es lo mismo que tun0, la puerta de enlace es tun0 ip, el otros parámetros son los mismos que tun0, dns Igual que el host:
tun0: ip:172.20.0.1 transmisión:172.20.255.255 máscara de red:255.255.0.0
qemu: ip:172.20. 0.100 transmisión:172.20.255.255 máscara de red:255.255 .0.0 puerta de enlace:172.20.0.1
Al igual que en el caso del host, esto solo permite la comunicación entre VM<----> entre hosts, es necesario configurar el enrutador y nat para conectarse a Internet
[root@LFS ~]#echo 1 > /proc/sys/net/ipv4/ip_forward
[root@LFS ~]#iptables - t nat -A POSTROUTING -o eth0 -s 172.20.0.0 /24 -j MASQUERADE
[ root@LFS ~]#
OK, VM<----> Host VM <----> Comunicación por Internet completada.