Գալիս են աջակցության տոմսեր, որտեղ ասվում է, որ հավելվածը ցույց է տալիս մի հասցե, մինչդեռ սերվերը գրանցել է մեկ այլը, և հետո հարցնում են, թե որն է ստում։ Ոչ մեկը՝ դրանք երկու տարբեր բաների երկու դիտարկումներ են։ Ինտերֆեյսին կապված հասցեն, սոքետին կապված հասցեն և հեռավոր ծառայության տեսած աղբյուրի հասցեն պատասխանում են երեք առանձին հարցերի։ VPN-ը հեռախոսին ավելացնում է ցանցային համատեքստ և չի միավորում այդ երեքը մեկ սարքային թվի մեջ։ Կարդացեք տոմսի դաշտերի անունները նախքան հասցեները կարդալը։

Ինչ է սովորաբար նկարագրում տոմսը

Պատկերացրեք հեռախոս Wi-Fi-ում՝ բարձրացված թունելով։ Wi-Fi ինտերֆեյսը պահում է LAN հասցե, թունելի ինտերֆեյսը պահում է հատկացված ներքին հասցե, և թունելով դուրս եկող հարցումը հասնում է հանրային ծառայության այն աղբյուրից, որը ճանապարհին վերապրում է ցանկացած թարգմանություն։ Ներքին հասցեն տպող հավելվածը և թարգմանված աղբյուրը գրանցող սերվերը երկուսն էլ ճշգրիտ հաղորդում են, և այդ երկու արժեքները երբեք չեն համընկնի։

Երեք դիտարկումները տարբերվում են նրանով, ինչ կարող են ապացուցել, ոչ միայն նրանով, ինչ նկարագրում են։

ObservationWhat it describesWhat it cannot prove
An address on a local interfaceOne configured attachment: Wi-Fi, cellular or a tunnelThe source a remote site receives
A socket's local endpointThe binding used by that one connectionThe address after translation further along
The peer address at a serviceWhat arrived at that observation pointAny other interface on the phone

Այդ աղյուսակը պահեք այն կոդի կողքին, որը լրացնում է այս արժեքները տոմսի մեջ, որովհետև այստեղ շփոթության մեծ մասը սյունակների շփոթություն է, ոչ թե ցանցի խափանում։

Ինչին կարող է պատասխանել սոքետի կանչը և ինչին՝ ոչ

API մակարդակում getsockname հաղորդում է տեղական վերջնակետը, որը ներկայումս կապված է կոնկրետ սոքետին։ Միացված սոքետի համար դա այն աղբյուրն է, որը միջուկն ընտրել է այդ միացման համար, ինչն արդեն ավելի կոնկրետ է, քան ինտերֆեյսների ցանկացած ցանկ։ Սա հանրային հասցեի որոնում չէ, և չկապված սոքետի վրա այն կանչելը ձեզ գրեթե ոչինչ չի ասում։ Ինչ էլ որ վերադարձնի, այն կարող է ավելի ուշ վերագրվել ճանապարհին, ուստի միայն ծառայության սեփական դիտարկումն է հեղինակավոր այն հարցում, թե ինչ է ստացել ծառայությունը։

Apple հարթակներում ինտերֆեյսների կողմն ունի առանձին մակերես՝ թունելի կարգավորումները թվարկում են թունելի ինտերֆեյսին հատկացված հասցեները։ Դրանք կարդալը ձեզ ասում է, թե ինչպես է կարգավորվել թունելը, և չի ասում, թե որ ուղով է գնացել տվյալ հարցումը, որովհետև երթուղավորումն ու յուրաքանչյուր հավելվածի կանոնները դա որոշում են յուրաքանչյուր միացման համար։

Բաժանված թունելը տեսանելի է դարձնում բացը։ Մի հարցում կարող է դուրս գալ թունելով, մինչդեռ հաջորդը, ուղղված այլ նպատակակետի կամ հասցեների այլ ընտանիքի, չի գնում, ուստի նույն հավելվածից վայրկյանների տարբերությամբ ստացված երկու արդյունք կարող են ազնիվ և տարբեր լինել։

Ընտրեք այն դիտարկումը, որը համապատասխանում է հարցին

Ընտրեք գիտակցաբար՝ ամեն ինչ չափելու փոխարեն։ Այն, ինչ տեսնում է backend-ը, գրանցեք աղբյուրը backend-ում, և որտեղ առջևում կանգնած է հակադարձ պրոքսի, կլիենտի հասցեն կարդացեք այն փոխանցման վերնագրից, որը ձեր տեղակայումն իրոք սահմանում է, և ոչ թե այն ամենից, ինչ ուղարկել է կլիենտը։

Թե արդյոք թունելը կարգավորված է, իմացեք ինտերֆեյսից։ Թե արդյոք այս հավելվածի երթևեկությունը օգտագործել է այն, իմացեք՝ այդ հավելվածից երթևեկություն ուղարկելով ձեր վերահսկած նպատակակետին և համեմատելով աղբյուրը երկու ծայրերում։

Յուրաքանչյուր հավելվածի կանոնները արժանի են իրենց նախադասությանը։ Զննարկիչի արդյունքը ապացույց է այդ զննարկիչի մասին, և կառավարվող հավելվածային թունելը կարող է նույն հեռախոսի երկու հավելվածներին նույն պահին դնել տարբեր ուղիների վրա։ Ծածկույթը ստուգել նշանակում է երթևեկություն ուղարկել տվյալ հավելվածից, տվյալ հասցեների ընտանիքում։

Ինտերֆեյսների անունները դետեկտոր չեն

Ինտերֆեյսի անունը որպես VPN ստուգում նույնպես մի օգտագործեք։ Անունները հանրային պայմանագիր չեն, և հեռախոսը կարող է ունենալ մի քանի կապակցում, մինչդեռ դրանցից միայն մեկն է կրում ձեր հարցումը։

Դաշտը անվանեք այն դիտարկմամբ, որը պահում է։ local_interface_address, socket_local_endpoint և service_observed_source անշնորհք են և միանշանակ, և միանշանակությունը հենց այն է, ինչ ուզում եք, երբ արժեքը մեկ շաբաթ անց հայտնվում է աջակցության տոմսում։ device IP անունով մեկ սյունակը կհավաքի բոլոր երեքը և հետո կվստահեն դրան, կարծես այն մեկն է։

Ինքնությունը հեռու պահեք հասցեի սյունակից

Ընդհանուր VPN ելքը օգտվողի ինքնություն չէ, և մասնավոր հասցեն մուտքի հավատարմագիր չէ։ Երկուսն էլ նկարագրում են ուղի, ոչ թե մարդ, և դրանցից որևէ մեկը որպես նույնականացում դիտարկելը երթուղային պատահարից դարձնում է լիազորման որոշում։

Երբ ինչ-որ մեկը հարցնում է, թե հեռախոսն ինչ հասցե ունի, օգտակար պատասխանը հարցն է այն մասին, թե որ միացումը և որ դիտորդը։ getsockname-ի սահմանումն արժե մեջբերել միջին դեպքի համար, որովհետև այն լուծում է սոքետի հարցը՝ չձևացնելով, թե լուծում է մյուս երկուսը։

Ապա գրեք, թե երեքից որն է ձեր արտադրանքն իրոք պետք ցուցադրի, և ջնջեք մյուս երկուսը ինտերֆեյսից։

Առնչվող հոդվածներ