Visszacsatoló adapter a barátom! Saját gép és virtuális gép(ek) közti hálózat: bárhol, bármikor
A napokban beesett egy kérdés a GYIK-be, miszerint: „Hogyan lehet a Windows XP-ről a virtuális Linux-os gépet elérni úgy, hogy nincs hálózatba kötve a notebook?”. A kérdés nagyon tetszett, és úgy gondoltam írok egy cikket a megoldásról, mert ezt kiemelten közérdekű információnak gondolom!
A feladat tehát közös IP hálózatba kerülni a saját géped és az azon futó virtuális géppel, így pl. Unix esetén SSH kapcsolat, Windows esetén pedig pl. távoli asztal kapcsolat létesítése a gazdagépről (saját géped) a virtuális gépre. Mondhatnád, hogy ennek semmi értelme, hiszen ott a VMware konzol. Jó, de mi a helyzet akkor, ha egy Linux-os Oracle szerveren (virtuális gép) szeretnél fejleszteni Windows alatt (saját géped) TOAD-dal, vagy Visual Studio (ODAC) segítségével. Ilyenkor el kellene érned az Oracle 1521-es portját. Oracle XE esetén pedig a 8080-as portot, ahol az APEX figyel. És mi van akkor, ha a notebook hálózati kártyája éppen nem is kapcsolódik sehova (nincs IP címe, nem működik).
Microsoft visszacsatoló (loopback) adapter telepítése
Első lépésként adjunk hozzá a gépünkhöz az XP meghajtó listából választva egy új hálózati kártyát, a Microsoft visszacsatoló (loopback) adaptert.
A visszacsatoló adapter sikeres telepítése után állítsunk be neki egy IP címet!
IP cím beállítása a visszacsatoló adapteren
A telepítés után állítsd be a virtuális gép IP tartományával egyező IP címet.
Ügyelj arra , hogy egy hálózatban legyen a virtuális géppel. Tehát az utolsó számot írd át csak. Célszerű a visszacsatoló adapternek a .1-es címet adni a hálózaton.
Kerüljön egy hálózatba a virtuális gép és a fizikai gép a visszacsatoló adapteren át!
Jól látszik, hogy nálam a 192.192.192.0 hálózat van a LAN célokra fenntartva. A virtuális gép, amit használni akarok az 192.168.1.0 hálózat, tehát a sima „Bridge” segítségével nem érem el.
A Virtual Network Editor segítségvel az imént telepített hálózati kártyát szereljük rá az egyik szabad virtuális hálózatra (pl. VMnet2):
Fontos, hogy a visszacsatoló (loopback) adapter és a viruális gép hálózati kártyája is ugyanabban a VMnet-ben kell legyen! A példámban a VMnet2-őt fogom most erre használni.
Tehát a helyi visszacsatoló adapter és a virtuális gép virtuális hálózati kártyája lesznek egy (közös) hálózatban.
A következő képen egy már futó Ubuntu 8.04 + OracleXE gép látható. A virtuális gép hálózati kártyája a VMnet2-re csatlakozik, mely eléri a fizikai gép visszacsatoló adapterét.
A kérdés az Oracle XE-re vonatkozott. Alapértelmezetten csak a localhost-ról működik az APEX felület, így egy SSH tunnelt készítünk Putty-on keresztül a 8080-as portra a VMNet2-őn át. Huuááá! Követed?
A source port: 8080, a destination pedig: localhost:8080. Aztán Add gomb:
Belépés Putty-al:
A Ping oda/vissza működik. Most már jöhet az APEX homokozó:
Figyelembe véve a Tunnelt, az APEX ilyenkor (míg a Putty fut) a lokális címen jön be:
http://localhost:8080/apex
Ha ez nem elég, a távoli szerveren próbálhatsz egy Putty-ot.
És ami a cél volt, ha beállítod a tnsnames.ora-t (a virtuális szerver IP címe legyen megadva, menni fog a visszacsatoló adapteren át az IP kapcsolat) akkor akár PL/SQL Developer-rel is hozzá tudsz férni saját gépeden futó virtuális Oracle XE-hez a Windows XP alól.
Szerintem, ez hasznos. Így csak akkor indítod el a virtuális gépet, amikor tényleg kell. Nem kell Oracle-t telepítened a munkaállomásra, amikor csak tesztelni/fejleszteni szeretnél valamit.
Alternatív megoldási lehetőségek (forgalomirányítás)
A fenti megoldás természetesen akkor is nyerő, ha a virtuális géped más IP hálózatban van, mint ahová éppen a hálózati kártyád kapcsolódik.
Tehát pl. a visszacsatoló adapter és a virtuális gép a 10.10.1.0 hálózatban beszélgetnek, míg a Windows a 192.168.1.0 hálózatban lát NAT-on át az Internet felé.
Alapértelmezetten a Windows XP hálózati kártyái közt nincs route-olás. Természetesen lehet próbálkozni a route paranccsal is Windows-ban, és valahogy megoldani, hogy elérd a Virtuális gép hálózatát. Ezzel együtt azt gondolom, a fenti megoldás egyszerűbb, átláthatóbb.



