Linux E X P R E S

Facebook

Virtuální síť ve VirtualBoxu

virtualbox.png

Dnes se virtualizuje kde co, a tak jistě nikoho nepřekvapí různé virtuální počítače, a když mohou být virtuální počítače, tak proč si rovnou nevytvořit také virtuální sítě spolu s několika či více virtuálními počítači a povýšit tak ze správce počítače na správce počítačové sítě. Nebo bych měl lépe říkat správce virtuální počítačové sítě?


Pro koho je článek určen?

Pro správce sítí, ale nejen pro ně. Je určen pro studenty a jejich učitele, kteří mohou zkoušet chování počítačů v síti, aniž by museli fyzicky nějakou síť spravovat nebo mít k dispozici, je určen pro lidi, kteří si chtějí vyzkoušet něco nového, jiného, třeba právě před stavbou své domácí či jiné sítě. S VirtualBoxem to je snadné.

Co budeme potřebovat? VirtualBox a několik virtuálních počítačů. VirtualBox si můžete stáhnout na domovské stránce projektu (viz odkazy na konci článku). A virtuální počítače? Já sáhl po mé oblíbené distribuci Debian a rovnou po tzv. business card obrazu (to je minimální instalační obraz Debianu, má asi 36 MB). Stahovat můžete z Debian.org.

Instalace počítačů

Instalaci provedete obvyklým způsobem. Doporučuji postupovat tak, že nejprve nainstalujete zcela standardní systém (v mém případě s Debianem). Tzn. kliknutím na tlačítko Nový ve VirtualBoxu a projitím obvyklého průvodce (není potřeba vybírat žádné speciality). Po nainstalování systému máte k dispozici virtuální počítač, dál mu budu říkat třeba server.

Pokud vám, stejně jako mně, nebude vadit, že si instalaci klienta zkrátíme tak, že využijeme před chvílí instalovaný server, můžete postupovat takto. Vypněte virtuální počítač označený jako server a přejděte do adresáře ~/.VirtualBox/HardDisks. Tam byste měli vidět obraz disku serveru (soubor s příponou .vdi), ten je třeba nejprve naklonovat např. příkazem:

VBoxManage clonevdi DebianServer.vdi DebianKlient.vdi

A dál už můžete opět spustit průvodce vytvořením nového počítače, jen musíte v okně Virtuální pevný disk zvolit možnost Použít existující pevný disk...

Výběr virtuálního pevného diskuVýběr virtuálního pevného disku

...a pomocí žlutého tlačítka se symbolem složky vpravo přejít do Správce virtuálních médií a zde nejprve pomocí tlačítka Přidat vybrat naklonovaný obraz a pak ho vybrat jako zdrojový pro nově vytvářený virtuální počítač. Odteď mu budeme říkat klient.

Správce virtuálních médiíSprávce virtuálních médií

Výsledek pak můžete vidět na dalším obrázku. Tím jsme vytvořili dva virtuální počítače, server a klient. Pojďme se podívat jak mezi nimi natáhnout virtuální kabel.

VirtualBox s přidanými počítačiVirtualBox s přidanými počítači

Tahání kabelu

V reálu bychom si museli rozmyslet něco jako kudy táhnout kabely, kde vyvrtat díry skrz zdi a podlahy, kam přidělat lišty a další věci, které ve výsledku vedou zpravidla k lezení po zemi nebo po žebříku s nářadím ne příliš odlišným od toho, které běžně používá demoliční četa. Nebojte se, ve virtuálním světě je život snazší.

Vyberte počítač server a klikněte na jeho nastavení. Protože jsme ho instalovali obvyklým způsobem, má tento počítač přímý přístup přes virtuální rozhraní VirtualBoxu a síťové rozhraní našeho počítače přímo na Internet. Protože se ovšem jedná o server, přidejme mu druhou síťovou kartu. V levém sloupci tedy zvolte Síť a zaškrtněte druhou síťovou kartu, ta bude místo k NAT připojena k Vnitřní síti. Její název můžete ponechat nezměněný.

Přidání druhé síťové karty na serveruPřidání druhé síťové karty na serveru

To samé provedeme i u počítače klient, pouze s tím rozdílem, že mu nebudeme kartu přidávat, ale naopak tu stávající pouze zapojíme do té sítě virtuální, pro představu můžeme uvažovat jakýsi virtuální switch s hromadou volných portů. Proto přejděte na kartu Síť a přepněte připojení Karty 1 na Vnitřní síť.

Připojení počítače klient do vnitřní sítěPřipojení počítače klient do vnitřní sítě

V tomto okamžiku bych mohl skončit, protože je nyní virtuální počítačová síť hotová. Abych to však trochu ulehčil především začátečníkům, uvedu ještě jak ze serveru udělat to, čemu se běžně říká router a jaké nastavení je ještě třeba provést na klientovi, celé to bude vázané na mnou použitou distribuci Debian. Pokud zkoušíte jiné virtuální počítače, může se to lišit.

Nastavení klientského počítače

Protože jsme klientský počítač vytvořili klonováním serveru, budeme muset nastavit síťové rozhraní. Daemon Udev pozná, že síťová karta v počítači je jiná než ta, které přísluší nastavené rozhraní, a tak ji přejmenuje (je to stejná situace, jako když v počítači vyměníte síťovou kartu). Na klientském počítači se o tom přesvědčíte zadáním:

dmesg | grep eth

Kontrola jména síťového rozhraníKontrola jména síťového rozhraní

V mém případě je nové jméno eth2. Odpovídajícím způsobem musíme upravit i konfigurační soubor /etc/network/interfaces. Já tam přidal toto:

auto eth2
iface eth2 inet static
	address 192.168.0.10
	netmask 255.255.255.0
	gateway 192.168.0.1

Kde za slovem gateway je uvedena IP adresa brány, v mém případě to bude IP adresa vnitřního rozhraní (druhé síťové karty) serveru. DNS servery v /etc/resolv.conf měnit nemusíte, ty se nastavili na obvyklé jmenné servery poskytovatele (podle nastavení hostitelského počítače).

Pro provedení nastavení restartujte síťové rozhraní příkazem:

/etc/init.d/networking restart

Nastavení sítě můžete zkontrolovat příkazem ifconfig.

Nastavení serveru

Podobná situace je i na serveru. Nejprve se podívejte jaké jméno přiřadil Udev druhé (vnitřní) síťové kartě, stačí obvyklé: dmesg | grep eth. Dál upravte soubor /etc/network/interfaces. Já tam podle mého nastavení a označení síťové karty přidal toto:

auto eth1
iface eth1 inet static
	address 192.168.0.1
	netmask 255.255.255.0

Stávající rozhraní eth0 uvedené v tomto souboru bere informace z DHCP serveru virtuálního rozhraní mezi VirtualBoxem a vaším počítačem. Aby se nastavilo automaticky při restartu sítě, doporučuji do souboru ještě přidat řádek:

auto eth0

Nyní můžete restartovat síťové rozhraní podobně jako u klienta. Za odměnu budou oba počítače navzájem viditelné což odzkoušíte snadno pomocí pingu. Na klientovi zadáním: ping 192.168.0.1 a na serveru příkazem ping 192.168.0.10.

Závěrečné nastavení

I když se počítač server na Internet dostane, počítač klient už ne. K tomu je třeba na serveru zadat následující dva příkazy, které z něj udělají to, čemu se běžně říká router.

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Ty byste pak měli (mohli) umístit do nějakého skriptu, který se často nazývá třeba local_start a spouští se po startu počítače, to by bylo ale na úplně jiný článek. Tak ať vám virtuální síť dobře slouží.

Diskuze (8) Nahoru