Što se događa na vezama unutar i izvan VPN tunela

Pravi članci nastaju iz pisama tehničkoj podršci tvrtke Tucha. Primjerice, nedavno nam se obratio klijent sa zahtjevom za razjašnjenjem što se događa tijekom veza unutar VPN tunela između ureda korisnika i cloud okruženja, kao i tijekom veza izvan VPN tunela. Stoga je cijeli tekst u nastavku zapravo pismo koje smo poslali jednom od naših klijenata kao odgovor na njegovo pitanje. Naravno, IP adrese su promijenjene kako se klijent ne bi deanonimizirao. Ali, da, Tucha tehnička podrška doista je poznata po svojim detaljnim odgovorima i informativnim e-mailovima. 🙂

Naravno, razumijemo da za mnoge ovaj članak neće biti otkriće. No, budući da se na Habru s vremena na vrijeme pojavljuju članci za administratore početnike, a također i budući da se ovaj članak pojavio iz stvarnog pisma stvarnom klijentu, i dalje ćemo tu informaciju podijeliti ovdje. Postoji velika vjerojatnost da će nekome biti od koristi.
Stoga detaljno objašnjavamo što se događa između poslužitelja u oblaku i ureda ako su povezani mrežom site-to-site. Imajte na umu da su neke usluge dostupne samo iz ureda, a neke su dostupne s bilo kojeg mjesta na internetu.

Odmah objasnimo što je naš klijent želio na poslužitelju 192.168.A.1 možete doći s bilo kojeg mjesta putem RDP-a, povezujući se s AAA2:13389, a pristup ostalim uslugama samo iz ureda (192.168.B.0/24)povezani putem VPN-a. Također, klijent je u početku dao konfigurirati da automobil 192.168.B.2 u uredu je također bilo moguće koristiti RDP s bilo kojeg mjesta, povezujući se na BBB1:11111. Pomogli smo organizirati IPSec veze između oblaka i ureda, a klijentov IT stručnjak počeo je postavljati pitanja o tome što bi se dogodilo u ovom ili onom slučaju. Kako bismo odgovorili na sva ova pitanja, mi smo mu, zapravo, napisali sve što možete pročitati u nastavku.

Što se događa na vezama unutar i izvan VPN tunela

Sada pogledajmo ove procese detaljnije.

Pozicija jedan

Kada se nešto šalje iz 192.168.B.0/24 в 192.168.A.0/24 ili iz 192.168.A.0/24 в 192.168.B.0/24, ulazi u VPN. Odnosno, ovaj paket je dodatno šifriran i prenosi se između BBB1 и AAA1Ali 192.168.A.1 vidi paket točno od 192.168.B.1. Oni mogu međusobno komunicirati koristeći bilo koji protokol. Povratni odgovori se prenose na isti način kroz VPN, što znači da paket od 192.168.A.1 za 192.168.B.1 bit će poslan kao ESP datagram od AAA1 na BBB1, koji će ruter otklopiti na tu stranu, izvaditi iz njega taj paket i poslati ga na 192.168.B.1 kao paket od 192.168.A.1.

Konkretan primjer:

1) 192.168.B.1 odnosi se na 192.168.A.1, želi uspostaviti TCP vezu sa 192.168.A.1:3389;

2) 192.168.B.1 šalje zahtjev za povezivanje od 192.168.B.1:55555 (on sam bira broj porta za povratnu informaciju; u nastavku ćemo koristiti broj 55555 kao primjer broja porta koji sustav odabire prilikom uspostavljanja TCP veze) na 192.168.A.1:3389;

3) operativni sustav koji radi na računalu s adresom 192.168.B.1, odlučuje proslijediti ovaj paket na adresu pristupnika usmjerivača (192.168.B.254 u našem slučaju), jer druge, specifičnije rute za 192.168.A.1, nema, dakle, šalje paket putem zadane rute (0.0.0.0/0);

4) za to pokušava pronaći MAC adresu za IP adresu 192.168.B.254 u tablici predmemorije ARP protokola. Ako se ne otkrije, šalje s adrese 192.168.B.1 emitirati tko-ima zahtjev na mrežu 192.168.B.0/24, Kada 192.168.B.254 kao odgovor, šalje mu svoju MAC adresu, sustav šalje Ethernet paket za njega i unosi te podatke u svoju tablicu predmemorije;

5) usmjerivač prima ovaj paket i odlučuje kamo će ga proslijediti: ima pisanu politiku prema kojoj mora slati sve pakete između 192.168.B.0/24 и 192.168.A.0/24 prijenos preko VPN veze između BBB1 и AAA1;

6) usmjerivač generira ESP datagram iz BBB1 na AAA1;

7) ruter odlučuje kome će poslati ovaj paket, šalje ga, recimo, BBB254 (ISP gateway) jer postoje specifičniji putovi do AAA1, nego 0.0.0.0/0, nema;

8) potpuno isto kao što je već rečeno, pronalazi MAC adresu za BBB254 i šalje paket do ISP gatewaya;

9) Internet provideri šalju ESP datagram iz BBB1 na AAA1;

10) uključen virtualni usmjerivač AAA1 prima ovaj datagram, dekriptira ga i prima paket od 192.168.B.1:55555 za 192.168.A.1:3389;

11) virtualni usmjerivač provjerava kome ga proslijediti, pronalazi mrežu u tablici usmjeravanja 192.168.A.0/24 i šalje ga izravno na 192.168.A.1, jer ima sučelje 192.168.A.254/24;

12) za to virtualni usmjerivač pronalazi MAC adresu za 192.168.A.1 i prenosi mu ovaj paket putem virtualne Ethernet mreže;

13) 192.168.A.1 prima ovaj paket na portu 3389, pristaje uspostaviti vezu i generira paket kao odgovor od 192.168.A.1:3389 na 192.168.B.1:55555;

14) njegov sustav šalje ovaj paket na adresu pristupnika virtualnog usmjerivača (192.168.A.254 u našem slučaju), jer druge, specifičnije rute za 192.168.B.1, nema, dakle, mora prenijeti paket preko zadane rute (0.0.0.0/0);

15) isto kao iu prethodnim slučajevima, sustav koji radi na poslužitelju s adresom 192.168.A.1, pronalazi MAC adresu 192.168.A.254, budući da je na istoj mreži sa svojim sučeljem 192.168.A.1/24;

16) virtualni usmjerivač prima ovaj paket i odlučuje kamo će ga proslijediti: ima pisanu politiku prema kojoj mora poslati sve pakete između 192.168.A.0/24 и 192.168.B.0/24 prijenos preko VPN veze između AAA1 и BBB1;

17) virtualni usmjerivač generira ESP datagram iz AAA1 za BBB1;

18) virtualni usmjerivač odlučuje kome će poslati ovaj paket, šalje ga AAA254 (ISP gateway, u ovom slučaju, to smo i mi), jer postoje specifičniji putovi do BBB1, nego 0.0.0.0/0, nema;

19) Internet provideri prenose ESP datagram preko svojih mreža sa AAA1 na BBB1;

20) uključen usmjerivač BBB1 prima ovaj datagram, dekriptira ga i prima paket od 192.168.A.1:3389 za 192.168.B.1:55555;

21) on razumije da to treba prenijeti posebno na 192.168.B.1, budući da je na istoj mreži s njim, dakle, ima odgovarajući unos u tablici usmjeravanja, što ga prisiljava da šalje pakete za cijeli 192.168.B.0/24 direktno;

22) ruter pronalazi MAC adresu za 192.168.B.1 i preda mu ovaj paket;

23) operativni sustav na računalu s adresom 192.168.B.1 prima paket od 192.168.A.1:3389 za 192.168.B.1:55555 i pokreće sljedeće korake za uspostavljanje TCP veze.

Ovaj primjer dosta sažeto i pojednostavljeno (a ovdje se možete sjetiti još hrpe detalja) opisuje što se događa na razinama 2-4. Razine 1, 5-7 se ne uzimaju u obzir.

Pozicija dva

Ako sa 192.168.B.0/24 nešto se posebno šalje AAA2, ne ide na VPN, nego izravno. Odnosno ako korisnik s adrese 192.168.B.1 odnosi se na AAA2:13389, ovaj paket dolazi s adrese BBB1, prolazi dalje AAA2, a zatim ga usmjerivač prima i šalje na 192.168.A.1. 192.168.A.1 ne zna ništa o 192.168.B.1, vidi paket od BBB1, jer ga je dobio. Dakle, odgovor na ovaj zahtjev ide općenitom rutom, dolazi s adrese na isti način AAA2 i odlazi na BBB1, a taj usmjerivač šalje ovaj odgovor na 192.168.B.1, vidi odgovor od AAA2, kome se obratio.

Konkretan primjer:

1) 192.168.B.1 odnosi se na AAA2, želi uspostaviti TCP vezu sa AAA2:13389;

2) 192.168.B.1 šalje zahtjev za povezivanje od 192.168.B.1:55555 (ovaj broj, kao u prethodnom primjeru, može biti drugačiji) na AAA2:13389;

3) operativni sustav koji radi na računalu s adresom 192.168.B.1, odlučuje proslijediti ovaj paket na adresu pristupnika usmjerivača (192.168.B.254 u našem slučaju), jer druge, specifičnije rute za AAA2, nema ga, što znači da šalje paket putem zadane rute (0.0.0.0/0);

4) za to, kao što smo spomenuli u prethodnom primjeru, pokušava pronaći MAC adresu za IP adresu 192.168.B.254 u tablici predmemorije ARP protokola. Ako se ne otkrije, šalje s adrese 192.168.B.1 emitirati tko-ima zahtjev na mrežu 192.168.B.0/24, Kada 192.168.B.254 kao odgovor, šalje mu svoju MAC adresu, sustav šalje Ethernet paket za njega i unosi te podatke u svoju tablicu predmemorije;

5) usmjerivač prima ovaj paket i odlučuje kamo će ga proslijediti: ima pisanu politiku prema kojoj mora proslijediti (zamjenjujući povratnu adresu) sve pakete od 192.168.B.0/24 drugim internetskim čvorovima;

6) budući da ova politika podrazumijeva da se povratna adresa mora podudarati s niskom adresom na sučelju kroz koje će se ovaj paket prenositi, ruter prvo odlučuje kome će točno poslati ovaj paket, a on ga, kao u prethodnom primjeru, mora poslati do BBB254 (ISP gateway) jer postoje specifičniji putovi do AAA2, nego 0.0.0.0/0, nema;

7) prema tome, usmjerivač zamjenjuje povratnu adresu paketa, stoga je paket od BBB1:44444 (broj porta, naravno, može biti drugačiji) do AAA2:13389;

8) usmjerivač pamti što je učinio, što znači kada AAA2:13389 к BBB1:44444 stigne odgovor, znat će da treba promijeniti odredišnu adresu i luku 192.168.B.1:55555.

9) sada bi ga usmjerivač trebao proslijediti ISP mreži putem BBB254dakle, kao što smo već spomenuli, pronalazi MAC adresu za BBB254 i šalje paket do ISP gatewaya;

10) Internet provideri prenose pakete iz BBB1 na AAA2;

11) uključen virtualni usmjerivač AAA2 prima ovaj paket na portu 13389;

12) postoji pravilo na virtualnom usmjerivaču koje propisuje da se paketi primljeni od bilo kojeg pošiljatelja na ovom portu trebaju prenijeti na 192.168.A.1:3389;

13) virtualni usmjerivač pronalazi mrežu u tablici usmjeravanja 192.168.A.0/24 i šalje ga izravno 192.168.A.1 jer ima sučelje 192.168.A.254/24;

14) za to virtualni usmjerivač pronalazi MAC adresu za 192.168.A.1 i prenosi mu ovaj paket putem virtualne Ethernet mreže;

15) 192.168.A.1 prima ovaj paket na portu 3389, pristaje uspostaviti vezu i generira paket kao odgovor od 192.168.A.1:3389 na BBB1:44444;

16) njegov sustav šalje ovaj paket na adresu pristupnika virtualnog usmjerivača (192.168.A.254 u našem slučaju), jer druge, specifičnije rute za BBB1, nema, dakle, mora prenijeti paket preko zadane rute (0.0.0.0/0);

17) potpuno isto kao u prethodnim slučajevima, sustav koji radi na poslužitelju s adresom 192.168.A.1, pronalazi MAC adresu 192.168.A.254, budući da je na istoj mreži sa svojim sučeljem 192.168.A.1/24;

18) virtualni usmjerivač prima ovaj paket. Valja napomenuti da se sjeća na što je dobio AAA2:13389 paket od BBB1:44444 i promijenio adresu i luku svog primatelja u 192.168.A.1:3389, dakle, paket od 192.168.A.1:3389 za BBB1:44444 mijenja adresu pošiljatelja u AAA2:13389;

19) virtualni usmjerivač odlučuje kome će poslati ovaj paket, on ga šalje AAA254 (ISP gateway, u ovom slučaju, to smo i mi), jer postoje specifičniji putovi do BBB1, nego 0.0.0.0/0, nema;

20) Internet provideri prenose paket sa AAA2 na BBB1;

21) uključen usmjerivač BBB1 prima ovaj paket i sjeća se da kada je poslao paket od 192.168.B.1:55555 za AAA2:13389, promijenio je svoju adresu i port pošiljatelja na BBB1:44444, onda je ovo odgovor na koji treba poslati 192.168.B.1:55555 (zapravo, tamo ima još nekoliko provjera, ali ne ulazimo duboko u to);

22) on razumije da to treba prenijeti izravno na 192.168.B.1, budući da je na istoj mreži s njim, dakle, ima odgovarajući unos u tablici usmjeravanja, što ga prisiljava da šalje pakete za cijeli 192.168.B.0/24 direktno;

23) ruter pronalazi MAC adresu za 192.168.B.1 i preda mu ovaj paket;

24) operativni sustav na računalu s adresom 192.168.B.1 prima paket od AAA2:13389 za 192.168.B.1:55555 i pokreće sljedeće korake za uspostavljanje TCP veze.

Treba napomenuti da u ovom slučaju računalo s adresom 192.168.B.1 ne zna ništa o poslužitelju s adresom 192.168.A.1, komunicira samo sa AAA2. Isto tako, poslužitelj s adresom 192.168.A.1 ne zna ništa o računalu s adresom 192.168.B.1. Vjeruje da je povezan s adrese BBB1, i ne zna ništa drugo, da tako kažem.

Također treba napomenuti da ako ovo računalo pristupi AAA2:1540, veza se neće uspostaviti jer prosljeđivanje veze na priključak 1540 nije konfigurirano na virtualnom usmjerivaču, čak ni na bilo kojem poslužitelju u virtualnoj mreži 192.168.A.0/24 (na primjer, na poslužitelju s adresom 192.168.A.1) i postoje neki servisi koji čekaju veze na ovom portu. Ako korisnik računala s adresom 192.168.B.1 Obavezno je uspostaviti vezu s ovim servisom, mora koristiti VPN, tj. kontaktirajte izravno 192.168.A.1:1540.

Treba naglasiti da svaki pokušaj uspostavljanja veze sa AAA1 (osim IPSec veze iz BBB1 neće biti uspješna. Svaki pokušaj uspostavljanja veze sa AAA2, osim za veze na priključak 13389, također neće biti uspješni.
Također napominjemo da ako se AAA2 Ako se netko drugi prijavi (primjerice, CCCC), sve što je navedeno u paragrafima 10-20 odnosit će se i na njega. Što će se dogoditi prije i poslije ovoga ovisi o tome što se točno nalazi iza ovog CCCC-a. Nemamo takve informacije, pa vam savjetujemo da se posavjetujete s administratorima čvora s CCCC adresom

Pozicija tri

I, obrnuto, ako sa 192.168.A.1 nešto se šalje na neki port koji je konfiguriran za prosljeđivanje prema unutra na BBB1 (na primjer, 11111), također ne završava u VPN-u, već jednostavno teče iz AAA1 i ulazi u BBB1, a on to već prenosi negdje u npr. 192.168.B.2:3389. Vidi ovaj paket ne iz 192.168.A.1, ali AAA1. I kada 192.168.B.2 odgovara, paket dolazi od BBB1 na AAA1, a kasnije dolazi do inicijatora veze - 192.168.A.1.

Konkretan primjer:

1) 192.168.A.1 odnosi se na BBB1, želi uspostaviti TCP vezu sa BBB1:11111;

2) 192.168.A.1 šalje zahtjev za povezivanje od 192.168.A.1:55555 (ovaj broj, kao u prethodnom primjeru, može biti drugačiji) na BBB1:11111;

3) operativni sustav koji radi na poslužitelju s adresom 192.168.A.1, odlučuje proslijediti ovaj paket na adresu pristupnika usmjerivača (192.168.A.254 u našem slučaju), jer druge, specifičnije rute za BBB1, nema, dakle, šalje paket putem zadane rute (0.0.0.0/0);

4) za to, kao što smo spomenuli u prethodnim primjerima, pokušava pronaći MAC adresu za IP adresu 192.168.A.254 u tablici predmemorije ARP protokola. Ako se ne otkrije, šalje s adrese 192.168.A.1 emitirati tko-ima zahtjev na mrežu 192.168.A.0/24, Kada 192.168.A.254 kao odgovor, on joj šalje svoju MAC adresu, sustav šalje Ethernet paket za nju i unosi tu informaciju u svoju tablicu predmemorije;

5) virtualni usmjerivač prima ovaj paket i odlučuje kamo će ga proslijediti: ima pisanu politiku prema kojoj mora proslijediti (zamjenjujući povratnu adresu) sve pakete od 192.168.A.0/24 drugim internetskim čvorovima;

6) budući da ova politika pretpostavlja da povratna adresa mora odgovarati niskoj adresi na sučelju kroz koje će se ovaj paket prenositi, virtualni usmjerivač prvo odlučuje kome će točno poslati ovaj paket, a on, kao u prethodnom primjeru, mora poslati to na AAA254 (ISP gateway, u ovom slučaju, to smo i mi), jer postoje specifičniji putovi do BBB1, nego 0.0.0.0/0, nema;

7) to znači da virtualni usmjerivač zamjenjuje povratnu adresu paketa, od sada je to paket od AAA1:44444 (broj porta, naravno, može biti drugačiji) do BBB1:11111;

8) virtualni usmjerivač pamti što je učinio, dakle, kada iz BBB1:11111 za AAA1:44444 stigne odgovor, znat će da treba promijeniti odredišnu adresu i luku 192.168.A.1:55555.

9) sada bi ga virtualni usmjerivač trebao proslijediti ISP mreži putem AAA254, pa kao što smo već spomenuli, pronalazi MAC adresu za AAA254 i šalje paket do ISP gatewaya;

10) Internet provideri prenose pakete iz AAA1 do BBB1;

11) uključen usmjerivač BBB1 prima ovaj paket na portu 11111;

12) na virtualnom usmjerivaču postoji pravilo koje propisuje da se paketi koji su stigli od bilo kojeg pošiljatelja na ovom portu trebaju prenijeti na 192.168.B.2:3389;

13) ruter pronalazi mrežu u tablici usmjeravanja 192.168.B.0/24 i šalje ga izravno na 192.168.B.2, jer ima sučelje 192.168.B.254/24;

14) za to virtualni usmjerivač pronalazi MAC adresu za 192.168.B.2 i prenosi mu ovaj paket putem virtualne Ethernet mreže;

15) 192.168.B.2 prima ovaj paket na portu 3389, pristaje uspostaviti vezu i generira paket kao odgovor od 192.168.B.2:3389 na AAA1:44444;

16) njegov sustav šalje ovaj paket na adresu pristupnika usmjerivača (192.168.B.254 u našem slučaju), jer druge, specifičnije rute za AAA1, nema, dakle, mora prenijeti paket preko zadane rute (0.0.0.0/0);

17) na isti način kao u prethodnim slučajevima, sustav koji radi na računalu s adresom 192.168.B.2, pronalazi MAC adresu 192.168.B.254, budući da je na istoj mreži sa svojim sučeljem 192.168.B.2/24;

18) ruter prima ovaj paket. Valja napomenuti da se sjeća na što je dobio BBB1:11111 paket od AAA1 i promijenio adresu i luku svog primatelja u 192.168.B.2:3389, dakle, paket od 192.168.B.2:3389 za AAA1:44444 mijenja adresu pošiljatelja u BBB1:11111;

19) ruter odlučuje kome će poslati ovaj paket. Šalje ga, recimo, BBB254 (ISP gateway, čiju točnu adresu ne znamo), jer ne postoje konkretnije rute do AAA1, nego 0.0.0.0/0, nema;

20) Internet provideri prenose paket sa BBB1 na AAA1;

21) uključen virtualni usmjerivač AAA1 prima ovaj paket i sjeća se da kada je poslao paket od 192.168.A.1:55555 za BBB1:11111, promijenio je svoju adresu i port pošiljatelja na AAA1:44444. To znači da je to odgovor na koji treba poslati 192.168.A.1:55555 (zapravo, kao što smo spomenuli u prethodnom primjeru, postoji još nekoliko provjera, ali ovaj put ne idemo u dubinu s njima);

22) on razumije da to treba prenijeti izravno na 192.168.A.1, budući da je na istoj mreži s njim, to znači da ima odgovarajući unos u tablici usmjeravanja koji ga tjera da šalje pakete cijeloj 192.168.A.0/24 direktno;

23) ruter pronalazi MAC adresu za 192.168.A.1 i preda mu ovaj paket;

24) operativni sustav na poslužitelju s adresom 192.168.A.1 prima paket od BBB1:11111 for 192.168.A.1:55555 i pokreće sljedeće korake za uspostavljanje TCP veze.

Potpuno isto kao u prethodnom slučaju, u ovom slučaju poslužitelj s adresom 192.168.A.1 ne zna ništa o računalu s adresom 192.168.B.1, komunicira samo sa BBB1. Računalo s adresom 192.168.B.1 također ne zna ništa o poslužitelju s adresom 192.168.A.1. Vjeruje da je povezan s adrese AAA1, a ostalo je skriveno od njega.

Izlaz

Ovako se sve događa za veze unutar VPN tunela između ureda klijenta i cloud okruženja, kao i za veze izvan VPN tunela. A ako imate pitanja ili trebate našu pomoć u rješavanju problema s oblakom, kontaktirajte nas 24x7.

Izvor: www.habr.com

Dodajte komentar