Kas notiek savienojumos VPN tunelī un ārpus tā

Īsti raksti rodas no vēstulēm Tucha tehniskajam atbalstam. Piemēram, nesen pie mums vērsās klients ar lūgumu precizēt, kas notiek savienojumu laikā VPN tunelī starp lietotāja biroju un mākoņa vidi, kā arī savienojumu laikā ārpus VPN tuneļa. Tāpēc viss zemāk esošais teksts ir faktiska vēstule, ko mēs nosūtījām vienam no mūsu klientiem, atbildot uz viņa jautājumu. Protams, IP adreses tika mainītas, lai nedenonimizētu klientu. Bet, jā, Tucha tehniskais atbalsts patiešām ir slavens ar detalizētām atbildēm un informatīvajiem e-pastiem. 🙂

Protams, mēs saprotam, ka daudziem šis raksts nebūs atklāsme. Bet, tā kā Habr ik pa laikam parādās raksti iesācēju administratoriem, kā arī šis raksts parādījās no īstas vēstules reālam klientam, mēs joprojām dalīsimies ar šo informāciju šeit. Pastāv liela varbūtība, ka kādam tas noderēs.
Tāpēc mēs detalizēti izskaidrojam, kas notiek starp serveri mākonī un biroju, ja tie ir savienoti ar vietņu tīklu. Ņemiet vērā, ka daži pakalpojumi ir pieejami tikai no biroja, un daži ir pieejami no jebkuras vietas internetā.

Uzreiz paskaidrosim, ko mūsu klients vēlējās serverī 192.168.A.1 jūs varētu nākt no jebkuras vietas, izmantojot LAP, pieslēdzoties AAA2:13389, un piekļūt citiem pakalpojumiem tikai no biroja (192.168.B.0/24)savienots, izmantojot VPN. Arī klients sākotnēji bija konfigurējis, ka automašīna 192.168.B.2 birojā arī bija iespēja izmantot LAP no jebkuras vietas, pieslēdzoties BBB1:11111. Mēs palīdzējām organizēt IPSec savienojumus starp mākoni un biroju, un klienta IT speciālists sāka uzdot jautājumus par to, kas notiks šajā vai citā gadījumā. Lai atbildētu uz visiem šiem jautājumiem, mēs patiesībā viņam uzrakstījām visu, ko varat lasīt tālāk.

Kas notiek savienojumos VPN tunelī un ārpus tā

Tagad aplūkosim šos procesus sīkāk.

Novietojiet vienu pozīciju

Kad kaut kas tiek nosūtīts no 192.168.B.0/24 в 192.168.A.0/24 vai no 192.168.A.0/24 в 192.168.B.0/24, tas nokļūst VPN. Tas ir, šī pakete tiek papildus šifrēta un pārsūtīta starp BBB1 и AAA1Bet 192.168.A.1 redz iepakojumu tieši no 192.168.B.1. Viņi var sazināties savā starpā, izmantojot jebkuru protokolu. Atgriešanas atbildes tiek pārsūtītas tādā pašā veidā, izmantojot VPN, kas nozīmē, ka pakete no 192.168.A.1 par 192.168.B.1 tiks nosūtīta kā ESP datagramma no AAA1 par BBB1, kuru maršrutētājs atlocīs tajā pusē, izņems no tās šo paketi un nosūtīs uz to 192.168.B.1 kā iepakojums no 192.168.A.1.

Konkrēts piemērs:

1) 192.168.B.1 aicina 192.168.A.1, vēlas izveidot TCP savienojumu ar 192.168.A.1:3389;

2) 192.168.B.1 nosūta savienojuma pieprasījumu no 192.168.B.1:55555 (porta numuru atsauksmēm viņš izvēlas pats; turpmāk mēs izmantosim numuru 55555 kā porta numura piemēru, ko sistēma izvēlas, veidojot TCP savienojumu) 192.168.A.1:3389;

3) operētājsistēma, kas darbojas datorā ar adresi 192.168.B.1, nolemj pārsūtīt šo paketi uz maršrutētāja vārtejas adresi (192.168.B.254 mūsu gadījumā), jo citi, konkrētāki maršruti priekš 192.168.A.1, tam nav, tāpēc tas pārsūta paketi pa noklusējuma maršrutu (0.0.0.0/0);

4) šim nolūkam tas mēģina atrast IP adreses MAC adresi 192.168.B.254 ARP protokola kešatmiņas tabulā. Ja tas netiek atklāts, sūta no adreses 192.168.B.1 pārraidīt tīklā kam ir pieprasījumu 192.168.B.0/24. Kad 192.168.B.254 atbildot, tā nosūta tai savu MAC adresi, sistēma pārsūta tai Ethernet paketi un ievada šo informāciju savā kešatmiņas tabulā;

5) maršrutētājs saņem šo paketi un izlemj, kur to pārsūtīt: tam ir rakstiska politika, saskaņā ar kuru tam ir jānosūta visas paketes starp 192.168.B.0/24 и 192.168.A.0/24 pārsūtīt, izmantojot VPN savienojumu starp BBB1 и AAA1;

6) maršrutētājs ģenerē ESP datagrammu no BBB1 par AAA1;

7) maršrutētājs izlemj, kam nosūtīt šo paketi, tas nosūta to, teiksim, BBB254 (ISP vārteja), jo ir konkrētāki maršruti uz AAA1, nekā 0.0.0.0/0, tam nav;

8) tieši tāpat kā jau minēts, tā atrod MAC adresi BBB254 un pārsūta paketi uz ISP vārteju;

9) Interneta pakalpojumu sniedzēji pārsūta ESP datagrammu no BBB1 par AAA1;

10) ieslēgts virtuālais maršrutētājs AAA1 saņem šo datagrammu, atšifrē to un saņem paketi no 192.168.B.1:55555 par 192.168.A.1:3389;

11) virtuālais maršrutētājs pārbauda, ​​kam to nodot, atrod tīklu maršrutēšanas tabulā 192.168.A.0/24 un nosūta to tieši uz 192.168.A.1, jo tai ir interfeiss 192.168.A.254/24;

12) šim nolūkam virtuālais maršrutētājs atrod MAC adresi 192.168.A.1 un pārsūta viņam šo paketi, izmantojot virtuālo Ethernet tīklu;

13) 192.168.A.1 saņem šo paketi portā 3389, piekrīt izveidot savienojumu un ģenerē paketi, atbildot no 192.168.A.1:3389 par 192.168.B.1:55555;

14) viņa sistēma pārsūta šo paketi uz virtuālā maršrutētāja vārtejas adresi (192.168.A.254 mūsu gadījumā), jo citi, konkrētāki maršruti priekš 192.168.B.1, tai nav, tāpēc tai ir jāpārraida pakete, izmantojot noklusējuma maršrutu (0.0.0.0/0);

15) tāda pati kā iepriekšējos gadījumos, sistēma, kas darbojas serverī ar adresi 192.168.A.1, atrod MAC adresi 192.168.A.254, jo tas atrodas tajā pašā tīklā ar tā saskarni 192.168.A.1/24;

16) virtuālais maršrutētājs saņem šo paketi un izlemj, kur to pārsūtīt: tam ir rakstiska politika, saskaņā ar kuru tam jānosūta visas paketes starp 192.168.A.0/24 и 192.168.B.0/24 pārsūtīt, izmantojot VPN savienojumu starp AAA1 и BBB1;

17) virtuālais maršrutētājs ģenerē ESP datagrammu no AAA1 par BBB1;

18) virtuālais maršrutētājs izlemj, kam nosūtīt šo paketi, nosūta to AAA254 (Šajā gadījumā arī mēs esam ISP vārteja), jo ir konkrētāki ceļi uz BBB1, nekā 0.0.0.0/0, tam nav;

19) Interneta pakalpojumu sniedzēji pārraida ESP datagrammu savos tīklos ar AAA1 par BBB1;

20) maršrutētājs ieslēgts BBB1 saņem šo datagrammu, atšifrē to un saņem paketi no 192.168.A.1:3389 par 192.168.B.1:55555;

21) viņš saprot, ka tas ir īpaši jānodod 192.168.B.1, jo viņš atrodas vienā tīklā ar viņu, tāpēc viņam ir atbilstošs ieraksts maršrutēšanas tabulā, kas liek viņam nosūtīt paketes visam 192.168.B.0/24 tieši;

22) maršrutētājs atrod MAC adresi 192.168.B.1 un pasniedz viņam šo paku;

23) operētājsistēma datorā ar adresi 192.168.B.1 saņem paku no 192.168.A.1:3389 par 192.168.B.1:55555 un uzsāk nākamās darbības, lai izveidotu TCP savienojumu.

Šis piemērs diezgan kodolīgi un vienkāršoti (un šeit jūs varat atcerēties virkni citu detaļu) apraksta to, kas notiek 2.–4. līmenī. 1., 5.-7. līmenis netiek ņemts vērā.

Otrā pozīcija

Ja ar 192.168.B.0/24 kaut kas tiek nosūtīts speciāli AAA2, tas nenonāk VPN, bet gan tieši. Tas ir, ja lietotājs no adreses 192.168.B.1 aicina AAA2:13389, šī pakete nāk no adreses BBB1, iet tālāk AAA2, un pēc tam maršrutētājs to saņem un pārsūta uz 192.168.A.1. 192.168.A.1 neko nezina par 192.168.B.1, viņš ierauga paku no BBB1, jo viņš viņu dabūja. Tāpēc atbilde uz šo pieprasījumu iet pa vispārējo maršrutu, tā nāk no adreses tādā pašā veidā AAA2 un dodas uz BBB1, un maršrutētājs nosūta šo atbildi uz 192.168.B.1, viņš redz atbildi no AAA2, kam viņš uzrunāja.

Konkrēts piemērs:

1) 192.168.B.1 aicina AAA2, vēlas izveidot TCP savienojumu ar AAA2:13389;

2) 192.168.B.1 nosūta savienojuma pieprasījumu no 192.168.B.1:55555 (šis numurs, tāpat kā iepriekšējā piemērā, var atšķirties) uz AAA2:13389;

3) operētājsistēma, kas darbojas datorā ar adresi 192.168.B.1, nolemj pārsūtīt šo paketi uz maršrutētāja vārtejas adresi (192.168.B.254 mūsu gadījumā), jo citi, konkrētāki maršruti priekš AAA2, tam tāda nav, kas nozīmē, ka tā pārsūta paketi, izmantojot noklusējuma maršrutu (0.0.0.0/0);

4) šim nolūkam, kā mēs minējām iepriekšējā piemērā, tas mēģina atrast IP adreses MAC adresi 192.168.B.254 ARP protokola kešatmiņas tabulā. Ja tas netiek atklāts, sūta no adreses 192.168.B.1 pārraidīt tīklā kam ir pieprasījumu 192.168.B.0/24. Kad 192.168.B.254 atbildot, tā nosūta tai savu MAC adresi, sistēma pārsūta tai Ethernet paketi un ievada šo informāciju savā kešatmiņas tabulā;

5) maršrutētājs saņem šo paketi un izlemj, kur to pārsūtīt: tam ir rakstiska politika, saskaņā ar kuru tam ir jāpārsūta (aizvietojot atgriešanas adresi) visas paketes no 192.168.B.0/24 uz citiem interneta mezgliem;

6) tā kā šī politika paredz, ka atgriešanas adresei ir jāsakrīt ar zemo adresi saskarnē, caur kuru šī pakete tiks pārsūtīta, maršrutētājs vispirms izlemj, kam tieši šī pakete nosūtīt, un viņam, tāpat kā iepriekšējā piemērā, tā ir jānosūta. uz BBB254 (ISP vārteja), jo ir konkrētāki maršruti uz AAA2, nekā 0.0.0.0/0, tam nav;

7) tāpēc maršrutētājs aizstāj paketes atgriešanas adresi, turpmāk pakete ir no BBB1:44444 (porta numurs, protams, var atšķirties) uz AAA2:13389;

8) maršrutētājs atceras, ko tas darīja, kas nozīmē, kad AAA2:13389 к BBB1:44444 atbilde saņems, viņš zinās, ka viņam ir jāmaina galamērķa adrese un osta uz 192.168.B.1:55555.

9) tagad maršrutētājam tas jānodod ISP tīklam, izmantojot BBB254tādējādi, tāpat kā mēs jau minējām, tā atrod MAC adresi BBB254 un pārsūta paketi uz ISP vārteju;

10) interneta pakalpojumu sniedzēji pārsūta paketes no BBB1 par AAA2;

11) ieslēgts virtuālais maršrutētājs AAA2 saņem šo paketi portā 13389;

12) virtuālajā maršrutētājā ir noteikums, kas nosaka, ka paketes, kas saņemtas no jebkura sūtītāja šajā portā, ir jāpārsūta uz 192.168.A.1:3389;

13) virtuālais maršrutētājs atrod tīklu maršrutēšanas tabulā 192.168.A.0/24 un nosūta to tieši 192.168.A.1, jo tai ir interfeiss 192.168.A.254/24;

14) šim nolūkam virtuālais maršrutētājs atrod MAC adresi 192.168.A.1 un pārsūta viņam šo paketi, izmantojot virtuālo Ethernet tīklu;

15) 192.168.A.1 saņem šo paketi portā 3389, piekrīt izveidot savienojumu un ģenerē paketi, atbildot no 192.168.A.1:3389 par BBB1:44444;

16) viņa sistēma pārsūta šo paketi uz virtuālā maršrutētāja vārtejas adresi (192.168.A.254 mūsu gadījumā), jo citi, konkrētāki maršruti priekš BBB1, tai nav, tāpēc tai ir jāpārraida pakete, izmantojot noklusējuma maršrutu (0.0.0.0/0);

17) tieši tāda pati kā iepriekšējos gadījumos, sistēma, kas darbojas serverī ar adresi 192.168.A.1, atrod MAC adresi 192.168.A.254, jo tas atrodas tajā pašā tīklā ar tā saskarni 192.168.A.1/24;

18) virtuālais maršrutētājs saņem šo paketi. Jāpiebilst, ka viņš atceras, ko saņēmis AAA2:13389 iepakojums no BBB1:44444 un mainīja adresāta adresi un portu uz 192.168.A.1:3389, tāpēc iepakojums no 192.168.A.1:3389 par BBB1:44444 tas maina sūtītāja adresi uz AAA2:13389;

19) virtuālais maršrutētājs izlemj, kam nosūtīt šo paketi, tas to nosūta AAA254 (Šajā gadījumā arī mēs esam ISP vārteja), jo ir konkrētāki ceļi uz BBB1, nekā 0.0.0.0/0, tam nav;

20) interneta pakalpojumu sniedzēji pārsūta paketi ar AAA2 par BBB1;

21) maršrutētājs ieslēgts BBB1 saņem šo paketi un atceras to, kad viņš nosūtīja paketi no 192.168.B.1:55555 par AAA2:13389, viņš mainīja savu adresi un sūtītāja portu uz BBB1:44444, tad šī ir atbilde, kas jānosūta uz 192.168.B.1:55555 (patiesībā tur ir vēl vairākas pārbaudes, bet mēs tajā neiedziļināmies);

22) viņš saprot, ka tas jānosūta tieši uz 192.168.B.1, jo viņš atrodas vienā tīklā ar viņu, tāpēc viņam ir atbilstošs ieraksts maršrutēšanas tabulā, kas liek viņam nosūtīt paketes visam 192.168.B.0/24 tieši;

23) maršrutētājs atrod MAC adresi 192.168.B.1 un pasniedz viņam šo paku;

24) operētājsistēma datorā ar adresi 192.168.B.1 saņem paku no AAA2:13389 par 192.168.B.1:55555 un uzsāk nākamās darbības, lai izveidotu TCP savienojumu.

Jāņem vērā, ka šajā gadījumā dators ar adresi 192.168.B.1 neko nezina par serveri ar adresi 192.168.A.1, viņš sazinās tikai ar AAA2. Tāpat serveris ar adresi 192.168.A.1 neko nezina par datoru ar adresi 192.168.B.1. Viņš uzskata, ka bijis saistīts no adreses BBB1, un viņš, tā sakot, neko citu nezina.

Jāņem vērā arī tas, ka, ja šis dators piekļūst AAA2:1540, savienojums netiks izveidots, jo savienojuma pārsūtīšana uz portu 1540 nav konfigurēta virtuālajā maršrutētājā, pat ja nevienā virtuālā tīkla serverī 192.168.A.0/24 (piemēram, serverī ar adresi 192.168.A.1), un ir daži pakalpojumi, kas gaida savienojumus šajā portā. Ja datora lietotājs ar adresi 192.168.B.1 Ir obligāti jāizveido savienojums ar šo pakalpojumu, tam ir jāizmanto VPN, t.i. sazinieties tieši 192.168.A.1:1540.

Jāuzsver, ka jebkurš mēģinājums nodibināt saikni ar AAA1 (izņemot IPSec savienojumu no BBB1 nebūs veiksmīga. Jebkuri mēģinājumi izveidot savienojumu ar AAA2, izņemot savienojumus ar portu 13389, arī nebūs veiksmīgs.
Mēs arī atzīmējam, ka, ja vēlaties AAA2 Ja piesakās kāds cits (piemēram, CCCC), tad arī uz viņu attieksies viss 10.-20.punktā norādītais. Tas, kas notiek pirms un pēc tam, ir atkarīgs no tā, kas tieši slēpjas aiz šī CCCC Mūsu rīcībā nav šādas informācijas, tāpēc iesakām konsultēties ar CCCC adreses mezgla administratoriem.

Trešā pozīcija

Un, otrādi, ja ar 192.168.A.1 kaut kas tiek nosūtīts uz kādu portu, kas ir konfigurēts pārsūtīšanai uz iekšu uz BBB1 (piemēram, 11111), tas arī nenonāk VPN, bet vienkārši plūst no AAA1 un iekļūst BBB1, un viņš to jau pārraida kaut kur, piemēram, 192.168.B.2:3389. Viņš redz šo paku nevis no 192.168.A.1, bet AAA1. Un tad, kad 192.168.B.2 atbildes, paka nāk no BBB1 par AAA1, un vēlāk nonāk pie savienojuma iniciatora - 192.168.A.1.

Konkrēts piemērs:

1) 192.168.A.1 aicina BBB1, vēlas izveidot TCP savienojumu ar BBB1:11111;

2) 192.168.A.1 nosūta savienojuma pieprasījumu no 192.168.A.1:55555 (šis numurs, tāpat kā iepriekšējā piemērā, var atšķirties) uz BBB1:11111;

3) operētājsistēma, kas darbojas serverī ar adresi 192.168.A.1, nolemj pārsūtīt šo paketi uz maršrutētāja vārtejas adresi (192.168.A.254 mūsu gadījumā), jo citi, konkrētāki maršruti priekš BBB1, tam nav, tāpēc tas pārsūta paketi pa noklusējuma maršrutu (0.0.0.0/0);

4) šim nolūkam, kā mēs minējām iepriekšējos piemēros, tas mēģina atrast IP adreses MAC adresi 192.168.A.254 ARP protokola kešatmiņas tabulā. Ja tas netiek atklāts, sūta no adreses 192.168.A.1 pārraidīt tīklā kam ir pieprasījumu 192.168.A.0/24. Kad 192.168.A.254 atbildot, viņš nosūta viņai savu MAC adresi, sistēma pārsūta tai Ethernet paketi un ievada šo informāciju savā kešatmiņas tabulā;

5) virtuālais maršrutētājs saņem šo paketi un izlemj, kur to pārsūtīt: tam ir rakstiska politika, saskaņā ar kuru tam ir jāpārsūta (aizvietojot atgriešanas adresi) visas paketes no 192.168.A.0/24 uz citiem interneta mezgliem;

6) tā kā šī politika pieņem, ka atgriešanas adresei ir jāatbilst zemajai adresei saskarnē, caur kuru šī pakete tiks pārsūtīta, virtuālais maršrutētājs vispirms izlemj, kam tieši nosūtīt šo paketi, un viņam, tāpat kā iepriekšējā piemērā, ir jānosūta tas ieslēgts AAA254 (Šajā gadījumā arī mēs esam ISP vārteja), jo ir konkrētāki ceļi uz BBB1, nekā 0.0.0.0/0, tam nav;

7) tas nozīmē, ka virtuālais maršrutētājs aizstāj paketes atgriešanas adresi, turpmāk tā ir pakete no AAA1:44444 (porta numurs, protams, var atšķirties) uz BBB1:11111;

8) virtuālais maršrutētājs atceras, ko tas darīja, tāpēc, kad no BBB1:11111 par AAA1:44444 atbilde saņems, viņš zinās, ka viņam ir jāmaina galamērķa adrese un osta uz 192.168.A.1:55555.

9) tagad virtuālajam maršrutētājam tas jānodod ISP tīklam, izmantojot AAA254, tāpēc, tāpat kā mēs jau minējām, tā atrod MAC adresi AAA254 un pārsūta paketi uz ISP vārteju;

10) interneta pakalpojumu sniedzēji pārsūta paketes no AAA1 līdz BBB1;

11) maršrutētājs ieslēgts BBB1 saņem šo paketi portā 11111;

12) virtuālajā maršrutētājā ir noteikums, kas nosaka, ka paketes, kas pienākušas no jebkura sūtītāja šajā portā, ir jāpārsūta uz 192.168.B.2:3389;

13) maršrutētājs atrod tīklu maršrutēšanas tabulā 192.168.B.0/24 un nosūta to tieši uz 192.168.B.2, jo tai ir interfeiss 192.168.B.254/24;

14) šim nolūkam virtuālais maršrutētājs atrod MAC adresi 192.168.B.2 un pārsūta viņam šo paketi, izmantojot virtuālo Ethernet tīklu;

15) 192.168.B.2 saņem šo paketi portā 3389, piekrīt izveidot savienojumu un ģenerē paketi, atbildot no 192.168.B.2:3389 par AAA1:44444;

16) viņa sistēma pārsūta šo paketi uz maršrutētāja vārtejas adresi (192.168.B.254 mūsu gadījumā), jo citi, konkrētāki maršruti priekš AAA1, tai nav, tāpēc tai ir jāpārraida pakete, izmantojot noklusējuma maršrutu (0.0.0.0/0);

17) tāpat kā iepriekšējos gadījumos sistēma, kas darbojas datorā ar adresi 192.168.B.2, atrod MAC adresi 192.168.B.254, jo tas atrodas tajā pašā tīklā ar tā saskarni 192.168.B.2/24;

18) maršrutētājs saņem šo paketi. Jāpiebilst, ka viņš atceras, ko saņēmis BBB1:11111 iepakojums no AAA1 un mainīja adresāta adresi un portu uz 192.168.B.2:3389, tāpēc iepakojums no 192.168.B.2:3389 par AAA1:44444 tas maina sūtītāja adresi uz BBB1:11111;

19) maršrutētājs izlemj, kam nosūtīt šo paketi. Viņš to nosūta, teiksim, BBB254 (ISP vārteja, kuras precīzu adresi nezinām), jo nav konkrētu maršrutu uz AAA1, nekā 0.0.0.0/0, tam nav;

20) interneta pakalpojumu sniedzēji pārsūta paketi ar BBB1 par AAA1;

21) ieslēgts virtuālais maršrutētājs AAA1 saņem šo paketi un atceras to, kad viņš nosūtīja paketi no 192.168.A.1:55555 par BBB1:11111, viņš mainīja savu adresi un sūtītāja portu uz AAA1:44444. Tas nozīmē, ka šī ir atbilde, uz kuru ir jānosūta 192.168.A.1:55555 (patiesībā, kā jau minējām iepriekšējā piemērā, ir arī vēl vairākas pārbaudes, taču šoreiz ar tām neiedziļināsimies);

22) viņš saprot, ka tas jānosūta tieši uz 192.168.A.1, jo viņš atrodas vienā tīklā ar viņu, tas nozīmē, ka viņam ir atbilstošs ieraksts maršrutēšanas tabulā, kas liek viņam nosūtīt paketes uz visu 192.168.A.0/24 tieši;

23) maršrutētājs atrod MAC adresi 192.168.A.1 un pasniedz viņam šo paku;

24) operētājsistēma serverī ar adresi 192.168.A.1 saņem paku no BBB1:11111 par 192.168.A.1:55555 un uzsāk nākamās darbības, lai izveidotu TCP savienojumu.

Tieši tāds pats kā iepriekšējā gadījumā, šajā gadījumā serveris ar adresi 192.168.A.1 neko nezina par datoru ar adresi 192.168.B.1, viņš sazinās tikai ar BBB1. Dators ar adresi 192.168.B.1 arī neko nezina par serveri ar adresi 192.168.A.1. Viņš uzskata, ka bijis saistīts no adreses AAA1, un pārējais viņam ir paslēpts.

secinājums

Šādi viss notiek savienojumiem VPN tunelī starp klienta biroju un mākoņa vidi, kā arī savienojumiem ārpus VPN tuneļa. Un, ja jums ir kādi jautājumi vai nepieciešama mūsu palīdzība mākoņa problēmu risināšanā, sazinieties ar mums 24x7.

Avots: www.habr.com

Pievieno komentāru