TCP handshake-ից հետո կախվող հարցումը երթուղայնության խնդիր չէ։ Երթուղու սխալները ձախողում են handshake-ը, ուստի սեսիան, որը հաստատվում է և հետո լռում, մատնանշում է ուղու ներսը՝ ստուգում, MTU կամ թունելի UDP փաթեթների ժամանման ձևը։ Ձեր առջև որոշումն է՝ ուղղել այդ ուղին, թե տեղափոխել թունելը TCP-ի։ Երեք պայման է դա որոշում, և դրանցից ոչ մեկը տվյալների բազայի մասին չէ։

Դասակարգեք կախումը, նախքան թունելին մեղադրելը

Չորս արդյունք օգտատիրոջը նույնն են թվում, իսկ ինժեների համար բոլորովին տարբեր բան են նշանակում։

What the client seesWhat it rules out
Connection refusedNothing is listening on the address and port the client reached
Timeout before the handshakeA filter, a missing route, or the wrong address
Handshake completes, query hangsThe session exists, so look at inspection, MTU and packet order
Stalls that recover on retryOften reordering, or a state table entry expiring

Միայն վերջին երկու տողերն են արդարացնում թունելի վրա ծախսված ժամանակը։ VPN-ի միջով մերժված կապը սովորաբար տվյալների բազայի՝ միայն loopback-ում լսելն է, ինչը լսողի խնդիր է, իսկ handshake-ից առաջ սպասման ժամկետը զտիչ կամ ուղի է։ Ոչ մեկը չի բարելավվում փաթեթավորման փոփոխությամբ։

Նախ գրեք դասակարգումը տոմսի մեջ։ Դա ամենաէժան քայլն է և հեռացնում է որոնման տարածքի մեծ մասը։

Երեք պայման, որոնք որոշում են UDP-ի և TCP-ի միջև

Փաթեթավորված IPsec երթևեկությունը գնում է UDP-ով, և UDP-ն ուղուն ազատություն է տալիս վերադասավորելու և գցելու՝ առանց որևէ մեկին ասելու։ Երբ վերադասավորումը փաթեթները մղում է թունելի կրկնության դեմ պատուհանից դուրս, դրանք լուռ դեն են նետվում, և ներքին TCP սեսիան պարզապես սպասում է։ Դա այն մեխանիզմն է, որ ընկած է հաջող handshake-ի և երբեք չվերադարձող հարցման հետևում։

Ուղին ուղղելը կամ TCP-ին վերադառնալը կախված է երեք բանից։ Առաջին՝ ուղու վրա իրական փաթեթի կորուստ կա՞, թե՞ միայն վերադասավորում։ Երկրորդ՝ կարո՞ղ եք փոխել, թե որտեղ է կատարվում ստուգումը, կամ բացառել այս թունելը վերադասավորող բաղադրիչից։ Երրորդ՝ արդյո՞ք բեռը զգայուն է կախման օրինաչափության նկատմամբ, օրինակ մեկ կապը կիսող բազմաթիվ մուլտիպլեքս սեսիաներ։

Եթե առաջին պատասխանը կորուստ է, իսկ երկրորդը՝ ոչ,443 պորտի TCP-ն պրագմատիկ այլընտրանքն է։ Եթե երկրորդ պատասխանը այո է, ուղղեք ուղին և թողեք UDP-ն։

Կարդացեք firewall-ի գրառումը, ոչ թե հավելվածի սխալը

Հավելվածը հաղորդում է սպասման ժամկետի մասին, ինչը ոչինչ չի ասում պատճառի մասին։ Firewall-ի սեփական մատյանն այն տեղն է, որտեղ հայտնվում է դեն նետումը կամ արգելափակումը, ուստի զտեք տվյալների բազայի և հավելվածի հասցեներով և փնտրեք ինչպես դեն նետումներ, այնպես էլ ընդունումներ։Սպառնալիքների կանխարգելման մոդուլները կարող են դեն նետել փաթեթները՝ առանց հավելվածի մակարդակում սխալ ստեղծելու، և դա հենց կախվող հարցման ձևն է։ Մատյանի լռությունը նույնպես տվյալ է՝ այն մատնանշում է մի բանի, որը չի գրանցում, օրինակ վերադասավորմանը։

Ստուգեք նաև կլաստերը։ Սխալ կարգավորված կլաստերը կարող է սեսիան պահել վիճակների աղյուսակում մի անդամի վրա, մինչ փաթեթները գնում են մեկ այլ անդամի ուղով, այնպես որ պատասխանները հասնում են այնտեղ, որտեղ վիճակ չկա։ Նման կախումները պատահական են թվում և չեն փոխկապակցվում ծանրաբեռնվածության հետ։

Համեմատեք երկու ծայրերը, նախքան ինչ-որ բան փոխելը, և համեմատեք ժամանման կարգը, ոչ թե փաթեթների քանակը՝

tcpdump -ni any udp port 4500 -w /tmp/encap.pcap
tcpdump -ni any tcp port 5432 -w /tmp/inner.pcap

Ինչ արժե ձեզ իրականում 443 պորտի TCP-ն

Թունելը TCP-ի տեղափոխելը հեռացնում է վերադասավորման ախտանիշը, որովհետև միջանկյալ սարքը հիմա տեսնում է կարգավորված հոսք։ Այն նաև ստեղծում է TCP-over-TCP։ Արտաքին կապը նորից ուղարկում է այն, ինչ ներքինն արդեն նորից ուղարկել է, և մեկ կորուստը կարող է միանգամից կանգնեցնել բոլոր մուլտիպլեքս սեսիաները։ Մաքուր ուղու վրա դա անտեսանելի է։ Կորուստներով ուղու վրա բուժումն ավելի վատն է, քան ախտանիշը։

Փոխանակումը ընդունելի է, երբ այլընտրանքը կապի իսպառ բացակայությունն է, և այն պետք է փաստաթղթավորվի որպես բացառություն՝ պատասխանատուով, այլ ոչ թե ընդունվի որպես նորմա։

Գրանցեք տրանսպորտը, պորտը, օրինակելի հարցումը և չափված արդյունքը, ինչպես նաև ամսաթիվը։ Առանց այդ գրառման հաջորդ ինժեները կրկնում է փորձը, և բացառությունը լուռ դառնում է ճարտարապետություն։

Պահեք որոշումը վերանայելի

Ուղու ախտորոշումը արագ հնանում է։ Միջանկյալ սարքը փոխարինվում է, մոդուլի կարգավորումը փոխվում է, կապը թարմացվում է, և 443 պորտի TCP-ի պատճառը անհետանում է, մինչ կարգավորումը մնում է։ Դրեք վերանայման ամսաթիվ բացառության վրա և նշեք այն պայմանը, որը թույլ կտար վերադառնալ UDP-ին։

Փորձարկեք երկու տրանսպորտներն էլ փոքր հարցումով և մեծ արդյունքների հավաքածուով։ Վերադասավորումը երևում է որպես չափից կախված կախումներ, մինչ լսողի խափանումը հավասարապես կանգնեցնում է երկու չափերը։

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