Entorn virtual de xarxa amb servidors i clients

De El raconet d'en Jordi

Dreceres ràpides: navegació, cerca

Actualment estic millorant el sistema de servidors al meu centre. Com a casa disposo d'un HP p6390es amb CPU core 2 quad i 4GB de RAM, he muntat un entorn virtual de xarxa amb servidors i clients per fer proves.

Contingut

Requisits

Debian GNU/Linux Lenny AMD64 instal·lat, amb virtualització habilitada a la BIOS i amb els paquets (tot darrera versió oficial Lenny a 12.06.2010):

  • QEMU
  • KVM (cal compilar el mòdul amb el m-a)
  • VDE2

Switch virtual

El programari VDE2 ens permet tenir un switch virtual. Iniciem aquesta xarxa virtual afegint a /etc/network/interfaces:

auto tap0 iface tap0 inet static

   address 10.0.3.1
   netmask 255.255.255.0
   vde2-switch -
   vde2-slirp  -network 10.0.3.3

Cal afegir l'usuari amb el que treballem al grup vde2-net

El switch és accessible per consola mitjançant l'ordre:

   $ unixterm /var/run/vde2/tap0.mgmt

Accés a internet

La darrera línia de configuració de la xarxa virtual

   vde2-slirp  -network 10.0.3.3

afegeix automàticament un router a l'adreça 10.0.3.3 de la nostra xarxa virtual.

Important: podem canviar la xarxa, però el router sempre el tindrem al node 3, per molt que canviem la darrera xifra de la IP.

Per accedir internet hem de permetre el ipforwarding. Ho fem descomentant a /etc/sysctl.conf la línia:

   # Uncomment the next line to enable packet forwarding for IPv4
   net.ipv4.ip_forward=1

DHCP

Si canviem la darrera línia de configuració de la xarxa virtual per

   vde2-slirp  -dhcp -network 10.0.3.3

A més a més aquest node 3 actuarà com a servidor DHCP (dona IPs començant per la 15).

Màquines virtuals

L'usuari ha de estar afegit al grup kvm Utilitzem imatges de disc basades en QEMU. Per engegar una màquina virtual amb imatge de disc lennyserver.qcow2 que tingui la targeta de xarxa connectada a aquest switch virtual utilitzem l'ordre:

    $ vdeq kvm -sock /var/run/vde2/tap0.ctl -m 512  -boot c -hda /qemu/lennyserver.qcow

A les màquines virtuals cal configurar les IPs com a estàtiques, o posar un servidor DHCP que tingui la seva IP estàtica en aquesta xarxa. Cal canviar el MAC a cada màquina virtual. Jo ho faig amb el programa macchanger[1] instal·lat a cada màquina virtual.


Justificació

Molta documentació no és exacta en aquesta versió de Debian, als manuals, docs o las pàgines web trobades. Per exemple:

  • No és fàcil canviar el MAC de la targeta de xarxa. Si faig servir els paràmetres -net nic,vlan=0,macaddr=68:69:69:69:69:01 es crea una nova targeta de xarxa, la primera manté el MAC original (igual per a cada màquina virtual)
  • Cal utilitzar la sintaxi antiga, vdeq kvm no accepta -net vde per canviar el socket