Pravi članci se rađaju iz pisama Tucha tehničkoj podršci. Na primjer, nedavno nam se obratio klijent sa zahtjevom da pojasnimo šta se dešava tokom povezivanja unutar VPN tunela između korisničkog ureda i cloud okruženja, kao i prilikom povezivanja izvan VPN tunela. Stoga je cijeli tekst u nastavku stvarno 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 je zaista poznata po svojim detaljnim odgovorima i informativnim mejlovima. 🙂
Naravno, razumijemo da za mnoge ovaj članak neće biti otkrovenje. Ali, budući da se na Habru s vremena na vrijeme pojavljuju članci za administratore početnike, kao i budući da se ovaj članak pojavio iz pravog pisma stvarnom klijentu, mi ćemo tu informaciju ipak podijeliti ovdje. Velika je vjerovatnoća da će nekome biti od koristi.
Stoga detaljno objašnjavamo šta se događa između servera 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.
Hajde da odmah objasnimo šta naš klijent želi na serveru 192.168.A.1 možete doći s bilo kojeg mjesta putem RDP-a, povezujući se na AAA2:13389, i pristup drugim uslugama samo iz kancelarije (192.168.B.0/24), povezano putem VPNKlijent je također inicijalno konfigurisao 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 u organizaciji IPSec veza između oblaka i ureda, a IT stručnjak kupca počeo je postavljati pitanja o tome što će se dogoditi u ovom ili onom slučaju. Da bismo odgovorili na sva ova pitanja, mi smo mu, zapravo, napisali sve što možete pročitati u nastavku.

Pogledajmo sada ove procese detaljnije.
Pozicija jedan
Kada se nešto poš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 se dodatno šifrira i prenosi između BBB1 и AAA1, ali 192.168.A.1 vidi paket tačno iz 192.168.B.1. Oni mogu međusobno komunicirati koristeći bilo koji protokol. Povratni odgovori se prenose na isti način preko VPN-a, što znači da je paket od 192.168.A.1 do 192.168.B.1 će biti poslat kao ESP datagram od AAA1 na BBB1, koji će ruter otvoriti na toj strani, izvadite taj paket iz njega i pošaljete ga 192.168.B.1 kao paket od 192.168.A.1.
Konkretan primjer:
1) 192.168.B.1 apeluje 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 sistem bira prilikom formiranja TCP veze) na 192.168.A.1:3389;
3) operativni sistem koji radi na računaru sa adresom 192.168.B.1, odlučuje proslijediti ovaj paket na adresu gatewaya rutera (192.168.B.254 u našem slučaju), jer druge, specifičnije rute za 192.168.A.1, nema, stoga prenosi paket putem zadane rute (0.0.0.0/0);
4) za ovo pokušava pronaći MAC adresu za IP adresu 192.168.B.254 u tabeli keš memorije ARP protokola. Ako nije otkriven, šalje se sa adrese 192.168.B.1 emitovati ko-ima zahtjev na mrežu 192.168.B.0/24. Kada 192.168.B.254 kao odgovor, šalje mu svoju MAC adresu, sistem za njega šalje Ethernet paket i unosi ove informacije u svoju keš tabelu;
5) ruter prima ovaj paket i odlučuje gdje će ga proslijediti: ima pisanu politiku prema kojoj mora poslati sve pakete između 192.168.B.0/24 и 192.168.A.0/24 prijenos preko VPN veze između BBB1 и AAA1;
6) ruter generiše ESP datagram iz BBB1 na AAA1;
7) ruter odlučuje kome će poslati ovaj paket, šalje ga npr. BBB254 (ISP gateway) jer postoje specifičnije rute do AAA1, nego 0.0.0.0/0, nema;
8) potpuno isto kao što je već rečeno, pronalazi MAC adresu za BBB254 i prenosi paket na ISP gateway;
9) Internet provajderi prenose ESP datagram od BBB1 na AAA1;
10) virtuelni ruter uključen AAA1 prima ovaj datagram, dešifruje ga i prima paket od 192.168.B.1:55555 do 192.168.A.1:3389;
11) virtuelni ruter proverava kome da ga prosledi, pronalazi mrežu u tabeli rutiranja 192.168.A.0/24 i šalje ga direktno na 192.168.A.1, jer ima interfejs 192.168.A.254/24;
12) za ovo virtuelni ruter pronalazi MAC adresu za koju 192.168.A.1 i prenosi mu ovaj paket preko virtuelne Ethernet mreže;
13) 192.168.A.1 prima ovaj paket na portu 3389, pristaje da uspostavi vezu i generiše paket kao odgovor od 192.168.A.1:3389 na 192.168.B.1:55555;
14) njegov sistem prenosi ovaj paket na adresu gateway-a virtuelnog rutera (192.168.A.254 u našem slučaju), jer druge, specifičnije rute za 192.168.B.1, nema, stoga mora prenijeti paket putem zadane rute (0.0.0.0/0);
15) isto kao iu prethodnim slučajevima, sistem koji radi na serveru sa adresom 192.168.A.1, pronalazi MAC adresu 192.168.A.254, budući da je na istoj mreži sa svojim interfejsom 192.168.A.1/24;
16) virtuelni ruter prima ovaj paket i odlučuje gdje ć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) virtuelni ruter generiše ESP datagram iz AAA1 do BBB1;
18) virtuelni ruter odlučuje kome će poslati ovaj paket, šalje ga AAA254 (ISP gateway, u ovom slučaju, to smo i mi), jer postoje specifičnije rute do BBB1, nego 0.0.0.0/0, nema;
19) Internet provajderi prenose ESP datagram preko svojih mreža sa AAA1 na BBB1;
20) ruter uključen BBB1 prima ovaj datagram, dešifruje ga i prima paket od 192.168.A.1:3389 do 192.168.B.1:55555;
21) razumije da to treba posebno prenijeti na 192.168.B.1, pošto je sa njim na istoj mreži, dakle, ima odgovarajući unos u tabeli rutiranja, što ga primorava da šalje pakete za ceo 192.168.B.0/24 direktno;
22) ruter pronalazi MAC adresu za 192.168.B.1 i predaje mu ovaj paket;
23) operativni sistem na računaru sa adresom 192.168.B.1 prima paket od 192.168.A.1:3389 do 192.168.B.1:55555 i pokreće sljedeće korake za uspostavljanje TCP veze.
Ovaj primjer prilično sažeto i pojednostavljeno (i ovdje se možete sjetiti gomile drugih detalja) opisuje šta se dešava na nivoima 2-4. Nivoi 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, već direktno. Odnosno, ako korisnik sa adrese 192.168.B.1 apeluje na AAA2:13389, ovaj paket dolazi sa adrese BBB1, prenosi dalje AAA2, a zatim ga ruter prima i šalje 192.168.A.1. 192.168.A.1 ne zna ništa o tome 192.168.B.1, on vidi paket od BBB1, jer ga je uhvatio. Dakle, odgovor na ovaj zahtjev ide općom rutom, na isti način dolazi sa adrese AAA2 i odlazi u BBB1, i taj ruter šalje ovaj odgovor na 192.168.B.1, on vidi odgovor od AAA2, kome se obratio.
Konkretan primjer:
1) 192.168.B.1 apeluje 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 iu prethodnom primjeru, može biti drugačiji) uključen AAA2:13389;
3) operativni sistem koji radi na računaru sa adresom 192.168.B.1, odlučuje proslijediti ovaj paket na adresu gatewaya rutera (192.168.B.254 u našem slučaju), jer druge, specifičnije rute za AAA2, nema ga, što znači da prenosi paket putem zadane rute (0.0.0.0/0);
4) za ovo, kao što smo spomenuli u prethodnom primjeru, pokušava pronaći MAC adresu za IP adresu 192.168.B.254 u tabeli keš memorije ARP protokola. Ako nije otkriven, šalje se sa adrese 192.168.B.1 emitovati ko-ima zahtjev na mrežu 192.168.B.0/24. Kada 192.168.B.254 kao odgovor, šalje mu svoju MAC adresu, sistem za njega šalje Ethernet paket i unosi ove informacije u svoju keš tabelu;
5) ruter prima ovaj paket i odlučuje gdje će ga proslijediti: ima pisanu politiku prema kojoj mora proslijediti (zamjenjujući povratnu adresu) sve pakete od 192.168.B.0/24 na druge Internet čvorove;
6) pošto ova politika podrazumeva da se povratna adresa mora poklapati sa niskom adresom na interfejsu preko kojeg će se ovaj paket preneti, ruter prvo odlučuje kome će tačno poslati ovaj paket, a on ga, kao i u prethodnom primeru, mora poslati to BBB254 (ISP gateway) jer postoje specifičnije rute do AAA2, nego 0.0.0.0/0, nema;
7) dakle, ruter zamjenjuje povratnu adresu paketa, od sada je paket od BBB1:44444 (broj porta, naravno, može biti drugačiji) do AAA2:13389;
8) ruter pamti šta je uradio, što znači kada AAA2:13389 к BBB1:44444 stigne odgovor, znat će da treba promijeniti odredišnu adresu i port u 192.168.B.1:55555.
9) sada ruter treba da ga prosledi ISP mreži putem BBB254stoga, baš kao što smo već spomenuli, pronalazi MAC adresu za BBB254 i prenosi paket na ISP gateway;
10) Internet provajderi prenose pakete od BBB1 na AAA2;
11) virtuelni ruter uključen AAA2 prima ovaj paket na portu 13389;
12) postoji pravilo na virtuelnom ruteru koje propisuje da se paketi primljeni od bilo kog pošiljaoca na ovom portu prenose na 192.168.A.1:3389;
13) virtuelni ruter pronalazi mrežu u tabeli rutiranja 192.168.A.0/24 i šalje ga direktno 192.168.A.1 jer ima interfejs 192.168.A.254/24;
14) za ovo virtuelni ruter pronalazi MAC adresu za koju 192.168.A.1 i prenosi mu ovaj paket preko virtuelne Ethernet mreže;
15) 192.168.A.1 prima ovaj paket na portu 3389, pristaje da uspostavi vezu i generiše paket kao odgovor od 192.168.A.1:3389 na BBB1:44444;
16) njegov sistem prenosi ovaj paket na adresu gateway-a virtuelnog rutera (192.168.A.254 u našem slučaju), jer druge, specifičnije rute za BBB1, nema, stoga mora prenijeti paket putem zadane rute (0.0.0.0/0);
17) potpuno isto kao u prethodnim slučajevima, sistem koji radi na serveru sa adresom 192.168.A.1, pronalazi MAC adresu 192.168.A.254, budući da je na istoj mreži sa svojim interfejsom 192.168.A.1/24;
18) virtuelni ruter prima ovaj paket. Treba napomenuti da se sjeća šta je dobio AAA2:13389 paket od BBB1:44444 i promijenio adresu i port svog primaoca u 192.168.A.1:3389, dakle, paket iz 192.168.A.1:3389 do BBB1:44444 mijenja adresu pošiljaoca u AAA2:13389;
19) virtuelni ruter odlučuje kome će poslati ovaj paket, on ga šalje AAA254 (ISP gateway, u ovom slučaju, to smo i mi), jer postoje specifičnije rute do BBB1, nego 0.0.0.0/0, nema;
20) Internet provajderi prenose paket sa AAA2 na BBB1;
21) ruter uključen BBB1 prima ovaj paket i pamti ga kada je poslao paket iz 192.168.B.1:55555 do AAA2:13389, promijenio je adresu i port pošiljaoca u BBB1:44444, onda je ovo odgovor na koji treba poslati 192.168.B.1:55555 (u stvari, postoji još nekoliko provjera, ali ne ulazimo duboko u to);
22) razumije da treba direktno prenijeti 192.168.B.1, pošto je sa njim na istoj mreži, dakle, ima odgovarajući unos u tabeli rutiranja, što ga primorava da šalje pakete za ceo 192.168.B.0/24 direktno;
23) ruter pronalazi MAC adresu za 192.168.B.1 i predaje mu ovaj paket;
24) operativni sistem na računaru sa adresom 192.168.B.1 prima paket od AAA2:13389 do 192.168.B.1:55555 i pokreće sljedeće korake za uspostavljanje TCP veze.
Treba napomenuti da je u ovom slučaju računar sa adresom 192.168.B.1 ne zna ništa o serveru sa adresom 192.168.A.1, on samo komunicira sa AAA2. Isto tako, server sa adresom 192.168.A.1 ne zna ništa o kompjuteru sa adresom 192.168.B.1. Vjeruje da je povezan sa adrese BBB1, i ne zna ništa drugo, da tako kažem.
Takođe treba napomenuti da ako ovaj računar pristupa AAA2:1540, veza neće biti uspostavljena jer prosljeđivanje veze na port 1540 nije konfigurirano na virtuelnom ruteru, čak ni na bilo kojem serveru u virtuelnoj mreži 192.168.A.0/24 (na primjer, na serveru sa adresom 192.168.A.1) i postoje neki servisi koji čekaju veze na ovom portu. Ako je korisnik računara sa adresom 192.168.B.1 Obavezno je uspostaviti vezu sa ovom uslugom, mora koristiti VPN, tj. kontaktirajte direktno 192.168.A.1:1540.
Treba naglasiti da svaki pokušaj uspostavljanja veze sa AAA1 (osim IPSec veze iz BBB1 neće biti uspješan. Svaki pokušaj uspostavljanja veze sa AAA2, osim veza na port 13389, također neće biti uspješne.
Takođe napominjemo da ako se AAA2 Ako se neko drugi prijavi (na primjer, CCCC), sve navedeno u paragrafima 10-20 će se odnositi i na njega. Šta će se dogoditi prije i poslije toga ovisi o tome šta se tačno krije iza ovog CCCC-a. Nemamo takve informacije, pa vam savjetujemo da se konsultujete sa administratorima čvora sa 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 negde u, recimo, 192.168.B.2:3389. On vidi ovaj paket ne od 192.168.A.1i od AAA1. I kada 192.168.B.2 odgovara, paket dolazi iz BBB1 na AAA1, i kasnije dolazi do inicijatora veze - 192.168.A.1.
Konkretan primjer:
1) 192.168.A.1 apeluje 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 iu prethodnom primjeru, može biti drugačiji) uključen BBB1:11111;
3) operativni sistem koji radi na serveru sa adresom 192.168.A.1, odlučuje proslijediti ovaj paket na adresu gatewaya rutera (192.168.A.254 u našem slučaju), jer druge, specifičnije rute za BBB1, nema, stoga prenosi paket putem zadane rute (0.0.0.0/0);
4) za ovo, kao što smo spomenuli u prethodnim primjerima, pokušava pronaći MAC adresu za IP adresu 192.168.A.254 u tabeli keš memorije ARP protokola. Ako nije otkriven, šalje se sa adrese 192.168.A.1 emitovati ko-ima zahtjev na mrežu 192.168.A.0/24. Kada 192.168.A.254 kao odgovor, on joj šalje svoju MAC adresu, sistem za nju šalje Ethernet paket i unosi ove informacije u svoju keš tabelu;
5) virtuelni ruter prima ovaj paket i odlučuje gdje će ga proslijediti: ima pisanu politiku prema kojoj mora proslijediti (zamjenjujući povratnu adresu) sve pakete od 192.168.A.0/24 na druge Internet čvorove;
6) pošto ova politika pretpostavlja da se povratna adresa mora poklapati sa niskom adresom na interfejsu preko kojeg će se ovaj paket preneti, virtuelni ruter prvo odlučuje kome će tačno poslati ovaj paket, a on, kao i u prethodnom primeru, mora da pošalje it on AAA254 (ISP gateway, u ovom slučaju, to smo i mi), jer postoje specifičnije rute do BBB1, nego 0.0.0.0/0, nema;
7) to znači da virtuelni ruter zamjenjuje povratnu adresu paketa, od sada je to paket od AAA1:44444 (broj porta, naravno, može biti drugačiji) do BBB1:11111;
8) virtuelni ruter pamti šta je uradio, dakle, od kada BBB1:11111 do AAA1:44444 stigne odgovor, znat će da treba promijeniti odredišnu adresu i port u 192.168.A.1:55555.
9) sada virtuelni ruter treba da ga prosledi ISP mreži putem AAA254, pa baš kao što smo već spomenuli, pronalazi MAC adresu za AAA254 i prenosi paket na ISP gateway;
10) Internet provajderi prenose pakete od AAA1 do BBB1;
11) ruter uključen BBB1 prima ovaj paket na portu 11111;
12) postoji pravilo na virtuelnom ruteru koje propisuje da se paketi koji su stigli od bilo kog pošiljaoca na ovom portu prenose na 192.168.B.2:3389;
13) ruter pronalazi mrežu u tabeli rutiranja 192.168.B.0/24 i šalje ga direktno na 192.168.B.2, jer ima interfejs 192.168.B.254/24;
14) za ovo virtuelni ruter pronalazi MAC adresu za koju 192.168.B.2 i prenosi mu ovaj paket preko virtuelne Ethernet mreže;
15) 192.168.B.2 prima ovaj paket na portu 3389, pristaje da uspostavi vezu i generiše paket kao odgovor od 192.168.B.2:3389 na AAA1:44444;
16) njegov sistem šalje ovaj paket na adresu gateway rutera (192.168.B.254 u našem slučaju), jer druge, specifičnije rute za AAA1, nema, stoga mora prenijeti paket putem zadane rute (0.0.0.0/0);
17) na isti način kao u prethodnim slučajevima, sistem koji radi na računaru sa adresom 192.168.B.2, pronalazi MAC adresu 192.168.B.254, budući da je na istoj mreži sa svojim interfejsom 192.168.B.2/24;
18) ruter prima ovaj paket. Treba napomenuti da se sjeća šta je dobio BBB1:11111 paket od AAA1 i promijenio adresu i port svog primaoca u 192.168.B.2:3389, dakle, paket iz 192.168.B.2:3389 do AAA1:44444 mijenja adresu pošiljaoca u BBB1:11111;
19) ruter odlučuje kome će poslati ovaj paket. On to šalje, recimo, BBB254 (ISP gateway, čiju tačnu adresu ne znamo), jer ne postoje konkretnije rute do AAA1, nego 0.0.0.0/0, nema;
20) Internet provajderi prenose paket sa BBB1 na AAA1;
21) virtuelni ruter uključen AAA1 prima ovaj paket i pamti ga kada je poslao paket iz 192.168.A.1:55555 do BBB1:11111, promijenio je adresu i port pošiljaoca u AAA1:44444. To znači da je ovo odgovor na koji treba poslati 192.168.A.1:55555 (zapravo, kao što smo spomenuli u prethodnom primjeru, postoji još nekoliko provjera, ali ovoga puta ne ulazimo u dubinu s njima);
22) razumije da treba direktno prenijeti 192.168.A.1, pošto je sa njim na istoj mreži, to znači da ima odgovarajući unos u tabeli rutiranja koji ga tera da šalje pakete celom 192.168.A.0/24 direktno;
23) ruter pronalazi MAC adresu za 192.168.A.1 i predaje mu ovaj paket;
24) operativni sistem na serveru sa 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 server sa adresom 192.168.A.1 ne zna ništa o kompjuteru sa adresom 192.168.B.1, on samo komunicira sa BBB1. Računar sa adresom 192.168.B.1 takođe ne zna ništa o serveru sa adresom 192.168.A.1. Vjeruje da je povezan sa adrese AAA1, a ostalo je skriveno od njega.
zaključak
Ovako se sve dešava za veze unutar VPN tunela između klijentovog ureda i cloud okruženja, kao i za veze izvan VPN tunela. A ako imate bilo kakva pitanja ili trebate našu pomoć u rješavanju problema oblaka,
izvor: www.habr.com
