[MEGOLDVA] VMware-hez IPtables segitseg

Sziasztok,

Van egy olyan problemam, hogy van egy gepem ami VMware szervert futtat. Minden virtualis gep IP-je a 10.0.0.0/8 -as halobol van kivalasztva, elszeparalva a 192.168.2.0/24 -es valos halozati tartomanybol. Update: A gepek NAT/HostOnly csatoloval rendelkeznek.

Van tovabba egy OpenWRT-s Linksys routerem, mely a valos gepek szamara default gateway.

Amit szeretnek elerni, az az, hogy a laptoprol (mely a VMware hosttal egyutt log a routeren) egyszeruen be tudjak lepni a 10.x.y.z cimu gepekbe, anelkul, hogy a VMware hostra be kellene lepnem (itt ragadnam meg az alkalmat, hogy kozoljem: nem akarok bridge-t).

A legjobb lenne, ha a laptopon nem kellene specialis routingot felallitani, hanem a routernek tudnam megmondani, hogy az adott halot merre keresse.

Dolgok, amiket erdemes tudni a rendszerrol:
- A routeren csak az iptables es route parancsok hasznalhatoak, uj csomagot felrakni nem tudok
- A virtualizalo gepnek jelenleg ures az iptables tablaja (default konfig)
- A laptop DHCP-n kap cimet. Elvben mindig ugyanazt kapja, azonban ez igy nem eletbiztositas, tehat ne epitsunk a laptop fix IP-jere
- A virtualizalos gep IP-je legyen mondjuk 192.168.2.5 a routere pedig .1
- A 10.0.0.0/8 -as halo tobb altartomanyra van felosztva, ha ez jelent valamit, de minden tartomany VMware tartomany, ami csak 1 gepen figyel.
- Ebbe total bizonytalan vagyok: van lehetoseg arra, hogy a 10.0.0.0/8 -as haloba cimzett broadcast uzenetek atmenjenek, kell-e valami extra hozza, vagy ez onmagatol meno dolog?

Hozzászólások

Alapvetően az openwrt-s routeren beállítasz egy static route-ot, miszerint a 10.0.0.0/8 network routere a 192.168.2.5. Innentől már a hálózat minden gépe pontosan tudja, merre keresse a virtuális gépeket.
Ezután már csak a VMware Host-on kell engedélyezni a forward-ot, hogy a kívülről érkező, 10.x.x.x-re címzett csomgokat beengedje és a megfelelő gépre továbbítsa.
Javaslok még a VMware Host-ra egy tcpdump-ot, ha nagyon figyelni akarnád, mi-merre-hogyan.

Ezesetben a host-on legyen engedélyezve az ip forward (echo 1 > /proc/sys/net/ipv4/ip_forward, iptables -P FORWARD -j ACCEPT). Innentől befelé már el kell menni a csomagoknak, ezt tcpdump-al ellenőrizheted.

Ha ezután még mindig nem megy a kapcsolat, akkor kifelé nem jönnek a csomagok. A VM-eknek megfelelő default gw-t kell beállítani (bár, ha a VM-ek kilátnak a netre, akkor ez jó lehet), lényeg, hogy a host gép vmnet kártyája általában az x.x.x.1 címet kapja, a VM-eknek a default gw mégis az x.x.x.2 kell, hogy legyen (legalábbis nálam az utolsó configban így működött)


hron@merlin /srv/vmware/media/win2008_r2rc $ cat /proc/sys/net/ipv4/ip_forward
1
hron@merlin /srv/vmware/media/win2008_r2rc $ sudo tcpdump -i eth0 src host 192.168.2.8 and not port 22
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
11:21:17.873761 IP omicron.hron.local > 10.0.20.3: ICMP echo request, id 768, seq 4608, length 40
11:21:23.272673 IP omicron.hron.local > 10.0.20.3: ICMP echo request, id 768, seq 4864, length 40

A vmware host szepen megkapja, de a vmware gepekig nem jut el a kapcsolat. A FORWARD ACCEPT.

Update: Ugy nez ki, megvan a megoldas. Kell minden vmnet cucchoz egy SNAT szabaly is, ami a vmnet kartya host oldali cimere tolja at a forrast. Ezt a vmware host oldalan kell felvenni.
--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

A sima route-tol valamiert nem erkeztek meg a csomagok a celgepekre (konkretan nem latszott a celgepen inditott tcpdump-ban az icmp request). Mellesleg ezt meg csak a hostonly kartyaval teszteltem be, a NAT kartyara meg nem volt idom, jelenleg a masik volt a fontosabb, van egy problema, amit csak igy tudok orvosolni (konkretan nem tudom az egyik gepet managelni, mert allandoan befagy a VMware konzol).
--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

Azért ezt lefordíthatnád magyarra!
Mivan "elszeparálva" és mitől

A VMware-es gép és a laptop közt van a router?

A VMware-en NAT-olt, vagy bridged network van?

Ha nem tudod pontosan és főként szakszerűen megfogalmazni a kérdésedet nem kapsz rá választ, mint ahogy az látszik is!

----
概略情報

Irtam, hogy router van, es mivel ket kulon geprol beszelunk, gondolom egyertelmu, hogy a laptop meg a VMware host egy routeren log (nyilvan, annyira hulye en sem vagyok hogy az internet felol akarjak elerni egy ilyen halot - ahhoz en is VPN-t hasznalnek).

Mivel irtam a szeparaciot a valos halozattol, ezzel - ha belegondolsz - ki is zartam a Bridgelt halot. Sot, explicite emlitem is: (itt ragadnam meg az alkalmat, hogy kozoljem: nem akarok bridge-t).

Mi az ami nem volt tiszta? Kerdezz, es valaszolok.

Szakszeruen... nem vagyok halozati szakember guru, nem tudom, hogy ti mit neveztek szakszeru leirasnak. Leirtam, hogy nez ki a halom. Legkozelebb mellekelek Visio rajzot, azon lehet jobban latszik...
--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

Kicsit kiegeszitettem a leirast, de osszefoglalom a hianyzo infokat.

Tehat:
- A virtualizacios rendszer VMware Server 2.0 alapokon nyugszik egy Linux gepen (foleg ide kell iptables segitseg)
- A halozat felepitese ugy nez ki, hogy a routeren (amin ugye junior013 ajanlasa szerint be fogom allitani a static route-t) az egyik vezetekes porton log a VMware host, a wireless antenna felol pedig a laptopom kozelit.
- A cel amit el szeretnek erni, hogy kozvetlen kapcsolatot tudjak kezdemenyezni a VMware Serveren beluli NAT/HostOnly-s gepekkel a laptoprol (peldaul adott esetben tudjak rdesktop-ot inditani).
- A bridge halozat azert nem megoldas, mert ami demoval jatszom, ott van egy gateway/tuzfal gep. Viszont nem akarom a virtualis halo tuzfalat szetlyuggatni csak azert, mert menedzselnem kell a windowsos gepeket valahogy. Ezert gondoltam arra, hogy iptables varazslattal megkerulom a problemat, hiszen a VMware host mindket fajta halora ralat.

Remelem sikerult "szakszeruen" (vagy hogy) eloadnom a problemat. Minden kerdesre orommel valaszolok.
--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.