Malmö 16.03.2012

Virtual Network (external)

Mitt mål är att skapa nätverket mellan virtuella och fysiska maskiner på olika datorer. Det är konfiguration som man kan utnyttja i verkliga livet, tycker jag - när virtuella maskiner delar uppgifter med dem fysiska datorer. Man kan skapa virtuella nätverk på lokalt dator också - för att testa och symulera networking. Eftersom alla virtuella och fysiska maskiner beter sig jättebra i nätwerket så det är faktiskt en routingsövning ;) .

Jag använder fyra datorer:

  1. Dator 1
  2. Virtualisering - VirtualBox
    Host - Windows 2008 R2
    Guest - Ubuntu 10.04 LTS
    NIC - 1st.
  3. Dator 2
  4. Virtualisering - gns3
    Host - Ubuntu 10.04 LTS
    Guest - Cisco router
    NIC - 2st.
  5. Dator 3
  6. Virtualisering - Hyper-V
    Host - Windows 2008 R2
    Guest - Windows7
    NIC - 2st.
  7. Dator 4
  8. Virtualisering - Hyper-V
    Host - Windows 2008 R2
    Guest - Windows 2008 R2
    NIC - 2st.
Jag har totalt sju hosts, fyra datorer och två näverken till att skapa.


Schema 1

I dem första schema användar jag bara Dator 1 och 3. Den två Guests tillhår till ett nätverk och traffic routas till Dator 3 Host - NAT fungera på NIC-2.


Det första nätverk...


... och det andra.

Båda Guests har tillgång till nästa nätet (Internet). Dator 1 Host och Dator 3 Guest finns i ett annat nät utan tillgång till Internet, men Dator 3 Guest har två interfaces så kan koppla sig till Internet via den andra. Man kan isolera den Guest också:


Det räcker att ta bort ett interface från Dator 3 Guest för att modifiera nätet.

Datorens settings:


På Host interface eth1 och VirtualBox Host Only - har IP-adresser i ett annat nät än Guest, och har ingen koppling till Internet.


Dator 3 Guest tillhör till två nät. Man kan ta bort 192.168.4.14 för att vara bara i det internal nät.


Dator 3 Host är router - default gateway för virtuell nät (interface net-3-4-10 är inte viktigt i det tillfälle).



Dator 3 kräver routing och NAT

   Hyper-V skapar en virtuell switch som finns på Dator 3 kopplad till en fysiskt NIC (utvald vid Hyper-V installation). Man kan skapa portar på denna switchen. VirtualBox fungerar lite annorlunda: den skapar interface på fysiska maskin, men det verkar oberoende av interface på den virtuella maskin.

   Dator 3 Guest kan inte pinga till 192.168.10.16 (VirtualBox interface på Dator 3 Host). Men när ändrade jag Dator 1 Guest IP-adress till 192.168.10.17 så det gick att pinga från Dator 3 Guest - även när ändrade jag 192.168.10.16 (VirtualBox interface på Dator 3 Host) till disable.


Schema 2

   Nu ska jag använda alla fyra datorer. Det är ett större nätverk, men mindre komplicerad. Jag tycker att Schema 1 visar tillräckligt bra möjligheter av dem två virtualiseringslösningar, så finns det inga behöv att testa alla konfigurationer i detta Schema. Målet är utvekling av samarbete virtuella och fysiska näten i en större och mer varierad miljö.
   Jag kommer att skapa två oberoende nät:


Användar två switchar.


Alla Guests (och multi-homed Dator 2) skapar ett nätverk...


... och resten skapar andra nät - routing på Dator 3 är samma som i Schema 1.


Alla datorer har tillgång till Internet. Denna gången routing sker på Dator 2 med Ubuntu.

Dator 2 kör Ubuntu, till routing använar jag Firestarter:


Interface eth0 kör DHCP-klient och har koppling till Internet. Trafik utdelades med eth2 - nätverk av virtuella maskiner.


Schema 3 - gns3

   Så kan man skapa och köra virtuella maskiner i samarbete med dem fysiska. Min nästa försök är att placera andra virtuella enheter i det blandad nätverk. Det finns en symulator av Cisco nätverk med virtualisering av routrar, switchar och andra enheter. Jag kommer att testa om det går att köra och använda den virtuell lösning i ett fysiskt nätverket.

Jag har tre datorer:

Min tänke är att Dator 1 representerar fysiska nätverk och Dator 3 - det virtuella. Dem båda skapar två separata nät, och dem skulle koppla sig på Dator 2 Guest. Dator 1 fick Ip-adress 192.168.10.15 och default gateway - 192.168.10.17. Dator 3 Guest har IP-adress 192.168.4.14 med default gateway 192.168.4.17. Resten av konfiguration sker på Dator 2.


Nätverket.

Allt routing ska utföras på Dator 2. Jag tilldelade IP-adresser till två interfaces:

root@think:~# ifconfig eth0 192.168.4.17 up
root@think:~# ifconfig eth2 192.168.10.17 up

Det är dags för gns3.
Installation:

apt-get install gns3

Man ska behöva enhetens images som ska arbeta i gns3 virtuella miljö. Så laddar jag ner IOSHunterTrial.EXE och installerar med Wine:


IOSHunter installation.

och laddar ner slumpligt utvald image:


IOSHunter installation.

Jag skapade en router och två molnen - de är kopplad till eth0 och eth2 och har deras IP-adresser. Under HögerMusKlick har vi menu med console som symulerar telnet connection - på router finns en konfigurations guide. Jag ändrade namnen till clouds för att underlätta identifiering.


Clouds' & router's config.

Nästa steg är router konfigurering. Det är svårtaste uppgift för kräver kunskap inom Cisco IOS. Jag lyckade konfigurera routers interfaces:


Slutligt konfiguration.

*   *   *

När skapade jag aliases till ett interface eth0 - eth0:c0 och eth0:c1 så kunde jag pinga routers interfaces från Dator 1 och Dator 2 Guest. Jag kunde pinga också från Dator 1 till Dator 3 Guest, men bara vid början - senare tappade jag koppling. Det var problem med behandlingen av IP-adress aliases hos gns3. Konfiguration fungerar stabilt bara med fysiska interfaces - i det tillfälle.

*   *   *

Router i den virtuella miljö fungerar mellan en virtuell maskin och en fysiskt. Jag ska inte skapa mer maskiner - man kan säga att det skulle fungera med rätt IP-adress och default gateway. Jag vet inte än vad är så speciell i den Cisco router -men man kan börja med mer avancerad konfiguration och andra typer av routrar.


Ping från Dator 1.


Ping från Dator 3 Guest.

Jag ändrade default gateway på Dator 1 och Dator 3 Guest för det ser snyggare ut. Men det fungerar lika bra i båda fall.
Nästa steg - virtuella nätverk på lokalt dator.