» Poradna » Web a internet

Ako presmerovať IP cez VirtualBox ?

 |   |  Microsoft Windows 10 Chrome 67.0.3396.99

Ahojte, Mám server na ktorom je nainštalovaný VirtualBox a v ňom jeden virtual. Cez tento virtual som sa pripojil do VPN a nastavil som network adapter ako bridge ( Čiže virtual má teraz IP VPN siete a zároveň aj IP mojej lokálnej siete. Teraz trošku toho čo potrebujem. Z VPN siete mi z ich servera chodia niečo ako dáta správy. Tieto správy však prídu len do virtualu. Akonáhle ich skúšam zachytiť na mojom serveri, kde VirtualBox beží, už neprejdú. Z Hľadiska siete u mňa je si vlastne teraz virtual a server ( Kde virtual beží ) rovné. Moja otázka: Čo urobiť aby virtual preposielal dáta ďalej na IP servera ? Nastaviť nejak presmerovanie alebo ako to vôbec vyriešiť ? Inak najlepšie by bolo, aby som sa potom dokázal zo Serveru cez virtual pingnúť rovno do VPN siete na konkrétny Server. Ďakujem moc za ochotu :)

Mohlo by vás také zajímat

Odpovědi na otázku

avatar
 | Linux Firefox 60.0

Musel bys tam rozchodit nejaky firewall a na nem NAT (konkretneji destination NAT/dstnat). Nebo jine obdobne sitove reseni v zavislosti na operacnim systemu toho virtualu.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 68.0.3440.84

Takže tam nieje nejaká možnosť ako inak to presmerovať ? Pridať ďalší adaptér s NAT alebo ja neviem. Proste potrebujem len to, aby môj virtual fungoval ako prepojka. Aby len zobral dáta a rovno ich poslal na svoju adresu v lokálnej sieti a na tú adresu si už ja nastavím server aby z nej čítal.

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Linux Firefox 60.0

Ano - rika se tomu NAT, uz jsem ti to psal. Zatim jsi jeste nenapsal, jaky operacni system v tom virtualu mas. Muzes pouzit nejaky specializovani program, ktery to dokaze take, treba "socat". Ale pochopeni jejich fungovani je slozitejsi, nez pochopit a rozbehat ten NAT.Jo a jeste soucasne s tim NATem budes muset v tom virtualnim PC povolit sitovy routing, standardne byva zakazany.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 68.0.3440.84

Beží tam Ubuntu, ale pravdu povediac je úplne jedno aký systém tam bude bežať, ten virtual má jedinú funkciu a to tú že je pripojený na VPN a má nejak presmerovať dané údaje mne na server.

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Linux Firefox 60.0

Neni to uplne jedno. Protoze mas Linux, muzes jednoduse pouzit IPTABLES - viz treba https://www.netfilter.org/documentation/HOWTO/NAT-H... A pak jeste zapnout IP forwarding, viz https://linuxconfig.org/how-to-turn-on-off-ip-for... Na Windows by to bylo malinko slozitejsi (ne o moc).

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 68.0.3440.84

Ok ale ak zmením adaptér na NAT tak stratím prístup do lokálnej siete predsa, iptables mi potom nepomôže nastaviť pretože sa to celé chová ako nová sieť nie ?

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Linux Firefox 60.0

Nepsal jsem nic o zmene adapteru na NAT. Psal jsem o tom, ze music v ramci toho virtualniho stroje pouzit IPTABLES (nebo jinou obdobnou technologii), aby provadely ten NAT.Zjednodusene receno - prijde datovy paket ze sitoveho kabelu: * hostitelsky stroj pozna, ze ho ma zpracovat, protoze je cilen na IP adresu virtualniho stroje, ktery poznava. Ale nevidi, co v nem je, protoze jde o sifrovanou VPN. Tak ho preda virtualnim sitovce, ktera ma tu spravnou cilovou IP adresu. * virtualni stroj rozsifruje tu VPN * iptables na virtualnim stroji pomoci NAT nahradi v paketu cilovou IP adresu (svou) nejakou jinou ve tve lokalni siti * tim padem uz ten paket neni urcen pro ten virtualni stroj a pomoci routingu operacniho systemu (neboli "IP forwarding") ho ten virtualni stroj posle pres druhe sitove rozhrani (to, co neni VPN) na spravny cilovy stroj.Pokud cilovy stroj odpovi, cele se to stane jeste pozpatku vicemene stejne, aby odpoved zase odesla pres VPN. Jen jsem jeste zapomnel, ze kvuli odpovedim budes muset nastavit jeste "source NAT", tj. nahrazeni zdrojove adresy v paketu IP adresou toho virtualniho stroje. Jinak by to nefungovalo.

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Linux Firefox 60.0

Hmm, "musis", ne "music"...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 68.0.3440.84

Aha, takže ak tomu chápem, nechám adaptér ako bridge, do iptables zapíšem ako destination adresses moju lokálnu adresu daného virtuálu a povolím forwarding ?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 52.0

Ano. Jeste tam musis nastavit preklad source address, jinak nebudou fungovat odpovedi zpatky.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 68.0.3440.84

Ok ale nefunguje,Povolil som IP route a nastavil 2 príkazy:iptables -t nat -A POSTROUTING -p tcp -o vpn0 -j SNAT --to X.X.10.20:port( IP Adresa agenta odkiaľ mi idú údaje cez VPN )iptables -t nat -A PREROUTING -p tcp --dport 80 -i enp0s3 -j DNAT --to Y.Y.1.30:port( IP Adresa lokálneho serveru na zber )Aj tak to ale nefunguje a dáta sa nepreposielajú.Nejaké rady ?

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Linux Firefox 60.0

Takhle od boku bych si tipnul, ze mas prohozene ty interface - prerouting pravidlo musis aplikovat na vpn0 a postrouting na enp0s3 (pokud je to ten spravny interface, to ja nemuzu vedet).

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 68.0.3440.84

Tak skúsil som vymeniť teda tie interface ale nepomohlo to. Myslím že to ale bolo dobre nie ? :)Source upravuje adresu toho odkiaľ packet prišiel, čiže z interface vpn0 a adresa by mala byť ich PC ( Tak ako som to mal )Destination by mala upravovať adresu kam packet pôjde, ten má ísť do našej lokálnej siete teda na spomínaný interface enp0s3 na adresu lokálneho serveru.Ešte nejaký nápad ?

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Linux Firefox 60.0

Ne bez toho, abych na tom stroji mel ruce, pardon :( Muzes se pres tcpdump podivat, jestli ti pakety prichazeji a odchazeji.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 68.0.3440.84

Ok novinka, nastavil som iptables tak ako som to mal prvý krát, a cez príkaz sa mi teraz neukáže žiadna hodnota, ktorú zavolám.Môžem teda povedať že iptables úspešne presmerovalo údaje, keďže ich teraz na virtualy nezachytím, problém je že ich ale nezachytím ani na serveri kde by sa mali presmerovať.Tcpdump mi prekne ukázal že na vpn0 prebieha prenos, keď použijem príkaz.Keď ten príkaz zadám na servery, tak mi vyhodí chybu.

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Linux Firefox 60.0

na tom virtuale je pres tcpdump zachytit musis. Pri prichodu i odchodu. A jsem si na 99% jisty, ze ty interfacy pro iptables maji byt tak, jak jsem ti psal ja.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 68.0.3440.84

Ok ja to len zhrniem aby som to zasa nepísal zbytočne, tie príkazy majú teda vyzerať takto:# iptables -t nat -A POSTROUTING -p tcp -o enp0s3 -j SNAT --to 1 adresalocalnehoserveru:port# iptables -t nat -A PREROUTING -p tcp --dport 80 -i evpn0 -j DNAT --to adresapccezvpn:portKeď to takto prenastavím, rebootnem comp a potom zadámtcpdump -i vpn0tcpdump -i enp0s3A Budem hľadať či na vpn0 preposlal údaj na enp0s3 ? :)

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Linux Firefox 60.0

Ano. Dokonce za tcpdump nemusis davat jmeno interface, staci neco jako "tcpdump -N -A port 80"

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 68.0.3440.84

Ok urobil som všetko, ale až teraz som si uvedomil že asi v tom máme logickú chybu.Totiž, ten agent ktorý je na VPN mi pošle údaje len keď si ich server vyžiada, čo je samozrejme pekné ale on akosi ten server nemá ako žiadať.My sme síce presmerovali to, čo sa má vracať ale server sa aj tak nedostane ku agentovi aby mu prikázal udoslať údaje :)

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Linux Firefox 60.0

Drobna chybicka v zadani Ale to by nemelo vadit - ten NAT by tohle mel zvladnout, jenom ho "otocis". A server musi posilat pozadavky na ten tvuj virtualni stroj...

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Linux Firefox 60.0

Ehm, v tom vedru mi to nemysli - budes potrebovat ctyri pravidla: * prerouting DNAT na vpn0 (pro pakety "vracejici se pres VPN") * postrouting SNAT na ensXX (taktez) * prerouting DNAT na ensXX (pro pakety ze lokalniho stroje smerujici do VPN) * postrouting SNAT na vpn0 (taktez)

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 68.0.3440.84

Hmm to je logické mohlo to napadnúť aj mňa :) Takto vlastne nastaví IP skrz na skrz a nemusím tým pádom už skúšať ktorá bola funkčná nie ? :)

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 68.0.3440.84

Ok mám to takto:PRE vpn0 DNAT localIP:portPRE enp0s3 DNAT VPNIP:portPOST vpn0 SNAT VPNIP:portPOST enp0s3 SNAT localIP:portJe to správne ? Pochopil som to tak že PRE ( Destination ) je teda kam má smerovať packet cez port. POST ( Source ) Je potom nastavenie odkiaľ má ten packet ďalej smerovať, respektíve aká je jeho pôvodná adresa.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 68.0.3440.84

Dobrá správa je že som sa pozrel na grafy a PC úspešne komunikovalo so serverom asi 10 minút :DZlá správa je že som si nezapísal ktoré to bolo nastavenie iptables, tak idem vyskúšať všetky :DPRE 0 .220POST 3 .38 Takto som to mal podľa tvojej rady, ale nefungovalo to,PRE 0 .38POST 3 .220 Som to nastavil teraz

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 68.0.3440.84

Pozeral som sa na ten socat, a mám otázku.Ak by som tam nechal bridge connection, teda mal by som prístup do VPN a zároveň do našej lokálnej siete a napísalsocat X.X.20.14:port, fork X.X.1.25:rovnakyportsocat ( Adresa VPN - PC odkiaľ idú údaje ):port, fork ( Lokálna adresa virtualu ):portFungovalo by to ?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 52.0

Na bridgovanom adapteri VBoxu je mozne akurat snifnut prenasane data a to normalne na hostovanej masine, alebo na brane.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 68.0.3440.84

Mohol by si to trošku rozpísať viac ? :D

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 52.0

Program Wireshark je uzitocny pomocik na hladanie problemov na sieti.

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Linux Firefox 60.0

To mu ale na nic nebude, protoze tam uvidi jen sifrovany VPN provoz...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 52.0

Aspon bude vediet ci mu tam vobec tie data prichadzaju.Moze si ich porovnat na zhodu medzi masinou a virt.strojom.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 52.0

Resis problem, ktery neexistuje. On nepsal nic o tom, ze by mu ta data neprichazela, nebo ze by s tim mel nejaky problem. A to porovnani je uplne zbytecne, promin. K cemu porovnavat sifrovana data, kdyz mas pristup k nesifrovanym?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 10 Chrome 59.0.3071.112

Já bych se možná zeptal opačně. Proč tu VPNku rozcházíš ve virtuálu? Nebylo by lepší jí rozběhnout přímo na tom serveru, který má komunikovat?A pak druhá otázka, co je to za typ VPNky? Pokud je to nějaký obecně podporovaný protokol (např L2TP/IPSEC) tak by možná stálo za vyzkoušení v tom virtuálu spustit RouterOS od mikrotiku: https://mikrotik.com/download Vzhledem k tomu že je to router, tak tam to nastavování bude nejspíš méně bolestivé. Ale jestli to vyžaduje instalaci nějaké speciální aplikace, a komunikuje to přes nějaký proprietární protokol, tak se tomu systému nevyhneš.A na závěr prosím vyzkoušej komunikaci mezi tím virtuálem a tím hostitelským serverem. Stačí ping. Protože už jsem se několikrát setkal s tím že tahle komunikace nefungovala. Jakákoliv jiná komunikace fungovala, ale spojení mezi hostitelským serverem a virtuálem na něm běžícím prostě nešlo. Bylo to nějakým nastavením síťových adaptérů. Tak aby jsi ve finále nezjistil že máš problém v této komunikaci.

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Linux Firefox 60.0

Pri danem pouziti nema Mikrotik oproti IPTABLES zadou vyhodu...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 10 Chrome 59.0.3071.112

Z pohledu funkčnosti máš jistě pravdu, jedná se o rovnocenné řešení. Ale několik výhod bych tu viděl.První výhodu má v nižších HW nárocích. Tj místo toho aby zabral několik GB místa na disku (jako použité ubuntu) tak si vystačí s prostorem okolo 100MB a u ramky taky není potřeba několik GB, ale něco jako 128MB je až luxusní velikost. Takže jestli tam má běžet nějaké virtuálko a "pouze" se starat o přístup do VPN tak bych bral raději něco nenáročného než celé "nenažrané" ubuntu. Tedy když už je nutné tam ten virtuál vůbec mít, radši bych nastavil VPN přímo na tom serveru, kde se má použít než tam mít nějaké virtuálko s jehož nastavením má tazatel velké problémy.Tím se dostávám k možná druhé výhodě. Mikrotik (nebo spíše RouterOS) je navržen jako router, tak obsahuje jen různé routovací a podpůrné monitorovací funkce. Sice z pohledu routerů patří mezi nejsložitější na administraci, ale v porovnání s celým ubuntu se jedná o značné zjednodušení administrace.

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Linux Firefox 60.0

Ja mam Mikrotik velmi rad, pouzivam ho vsude mozne. Ale sem bych ho nedal. S temi snizenymi naroky mas samozrejme pravdu, i kdyz Ubuntu Server muze bezet v pohode na nejaky 256MB RAM. Nesouhlasim s tim, ze "Mikrotik je navrzen jako router a ma ruzne routovaci a podpurne monitorovaci funkce". Sice je to technicky vzato pravda, ale v tomhle pripade (jako VPN endpoint) je ten routing stejne slozity i na tom Ubuntu a monitoring je paradoxne jednodussi.Mas pravdu, ze by bylo rozumnejsi ten VPN endpoint rozbehat jinde. Ale asi to jednoduse nejde.Mnochodem, Mikrotik ma dve nevyhody - neumi OpenVPN pres UDP (pokud se neco v poslednich mesicich nezmenilo), coz muze byt nekdy podstatne. A i pro dane pouziti bys musel myslim mit licenci.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 10 Chrome 67.0.3396.99

OK, v tom máš pravdu. Právě proto jsem se taky ptal co je to za VPNky, protože mi bylo jasné že to nemusí fungovat ve všech případech.Jen o té licenci si nejsem jistý. Mám to takhle u sebe na PC a pomocí virtuálního mikrotiku odděluji svoje virtuálka od sítě v práci a pouštím jen něco. Nikdy jsem tam žádnou licenci nezadával a funguje to. Podle výpisu licence je tam Level: Free, a při pohledu na wiki mikrotiku je to asi L1, což by ničemu nevadilo. Stejně víc než 1 VPN tunel by v tom nebyl, tak nevadí omezení jen na 1 tunel.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 68.0.3440.84

Ahoj,1.) VPNka beží cez virtual pretože potrebujem aby som mal na jednom serveri pripojených XY VPNniek a aby sa navzájom neblokovali. Mnohý poskytovatelia totiž zablokujú všetky ostatné pripojenia v momente, keď sa dostanete do ich siete. Virtual to rieši tak, že pre každú VPN je nový virtuálny stroj. Neriešte teraz to že to zaberá miesto a výkon to je nepodstatné.2.) Je to viacero druhov VPN, niekto má úplne basic pripojenie, niekto vlastné a preto potrebujem aby riešenie bolo čo najviac modulárne.3.) Skúšal som všetky smery, virtual -> server, virtual -> internet, virutal -> VPN a všetko zasa naopak.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 10 Chrome 67.0.3396.99

Jo tak v tom případě ty virtuálka chápu. Jen pozor aby jsi nenarazil. Taky pracuji s velkým množstvím různých VPNek a vím že jsou takové, které ten počítač odpojí od lokální sítě (dělají mi to určitě dvě VPNky přes Cisco AnyConnect). Píšu to z důvodu že u takovéto VPNky to fungovat nebude. Jakmile se VPNka naváže tak ten virtuální stroj přestane komunikovat s lokální sítí a jakékoliv přeposílání jde do kytek.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 68.0.3440.84

Viem, ale konkrétne toto mám otestované že ma nevyhodí :)Aj tak stále nič nepomohlo :)

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Linux Firefox 60.0

Delaji to pouze v pripade, se admin toho VPN serveru nepovoli klientum split-tunneling. Vzhledem k tomu, ze tazatel uz vcera potvrdil, ze mu data prosla az na cilovy server, tak to asi problem nebude

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 68.0.3440.84

Každopádne stále to nefunguje,Jeden známy mi povedal že by som to mal nastaviť takto:iptables -t nat -A PREROUTING -s adresa_z_vpn -p tcp --dport :port_sluzby -j DNAT --to-destination adresa_localneho_serveru:port_sluzby.Aj tak bezo zmeny :)

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Linux Firefox 60.0

Vcera jsi psal, ze ti to asi 10 minut jelo. Tak by melo stacit znova projet vsechny ty kombinace, ktere jsi zkousel vcera, ne?

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Linux Firefox 60.0

Ale to je prece stejne pravidlo, jako jsme diskutovali vcera. Jen v malinko jine syntaxi... A bez tech ostatnich to urcite fungovat nebude.

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: Virtual