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

Երկկողմանի կույտով սարքերն ունեն դուրս գալու երկու անկախ ճանապարհ։ Դրանցից մեկի արգելափակումը կիսով չափ արգելափակում է։

Երկու կանոնների հավաքածու, երկու լռելյայն

Linux-ում iptables-ը և ip6tables-ը առանձին աղյուսակներ են՝ առանձին քաղաքականություններով։ IPv4 աղյուսակի INPUT և OUTPUT շղթաները DROP-ի դնելը ոչինչ չի փոխում IPv6 աղյուսակում, որտեղ լռելյայնը սովորաբար ACCEPT է։ Նույն բաժանումը գոյություն ունի nftables-ում, որտեղ կարող եք ուսումնասիրել մեկ ընտանիք և պարզել, որ դրանցից միայն մեկն է կրում ձեր կանոնները։ Այդ ասիմետրիան նորմալ է, և ամբողջ խնդիրը հենց դա է։

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

Կարդացեք, թե ինչ է իրականում տեղադրում ձեր հաճախորդը, այլ ոչ թե ինչ է խոստանում մարքեթինգային էջը։ Որոշ հաճախորդներ IPv6-ը ուղղորդում են թունելի մեջ, ոմանք դիտմամբ արգելափակում են այն, իսկ ոմանք թողնում են ինչպես կա, մինչ հարթակի մակարդակի կողպումը կիրառում է այլ կանոն։ Այստեղ վաճառողի փաստաթղթերն են վստահության միակ արժանի աղբյուրը։

Ինչ է ձեզ ասում ինտերֆեյսի կարգավորումը

wg-quick-ի ձեռնարկի էջը իր օրինակելի կարգավորման մեջ ներառում է IPv6 կանոններ, և պատճառը հենց այս բացն է։ Օրինակը զարդարանք չէ։ Այն գոյություն ունի, որովհետև միայն IPv4 կանոնները երկրորդ ընտանիքը բաց կթողնեին։

Օրինակի կեսը պատճենելը տալիս է քաղաքականության կեսը։ Սա այս արտահոսքի ամենատարածված աղբյուրն է։ Բլոգային գրառումը կրճատել է օրինակը երկարության պատճառով։ Հետո կրճատված տարբերակը դարձավ այն ձևանմուշը, որն բոլորը նորից օգտագործեցին։

# what is actually installed, per family?
sudo iptables -S OUTPUT | head -20
sudo ip6tables -S OUTPUT | head -20

# nftables: inspect each family separately
sudo nft list ruleset inet | head -40

# does this host even have a usable IPv6 path?
ip -6 route show default

Եթե երկրորդ հրամանը տպում է թույլատրող քաղաքականություն, մինչ առաջինը տպում է DROP, դուք գտել եք պատասխանը՝ չդիպչելով հաճախորդին։ Այդ ասիմետրիան է սխալը։

Ինչու մեկ որոնումը ամբողջ պատմությունը չէ

Մեկ անունը կարող է վերադարձնել և՛ A գրառում, և՛ AAAA գրառում, և հավելվածները բոլորը նույն կերպ չեն ընտրում։ Դիտարկիչը կարող է նախընտրել IPv6-ը, երբ ցանցը տրամադրում է այն, և ձախողման դեպքում հետ գնալ, մինչ ֆոնային համաժամեցումը կամ թարմացնողը օգտագործում է իր սեփական լուծիչն ու իր նախապատվությունը։ Այսպիսով IPv4-ի վրայով մեկ հաջող փորձարկումը ապացուցում է մեկ ուղի, ոչ թե քաղաքականությունը։

Ցանցային անցումները նույնպես փոխում են պատասխանը։ Այլ Wi-Fi ցանցին միանալը, քնից արթնանալը կամ բջջային ցանցին անցնելը կարող է սարքին նոր IPv6 նախածանց տալ, և գրասենյակի LAN-ում բավարար թվացող քաղաքականությունը կարող է չծածկել այն։

Փորձարկեք այն վիճակը, երբ թունելն անջատված է

Միացված ժամանակ փորձարկելը ձեզ ասում է, որ թունելն աշխատում է։ Հետաքրքիր փորձարկումը անհասանելի վիճակն է, որովհետև հենց այդ ժամանակ է անջատիչը պետք է դիմանա։ Դիտմամբ կանգնեցրեք թունելը, ապա փորձեք կարևոր նպատակակետերը ձեր պաշտպանած հավելվածից։

# with the tunnel stopped, does anything still leave?
ip -6 route get 2606:4700:4700::1111
curl -6 -sS -o /dev/null -w '%{http_code}\n' --max-time 5 https://ipv6.example.net/
curl -4 -sS -o /dev/null -w '%{http_code}\n' --max-time 5 https://ipv4.example.net/

Երկու ընտանիքներն էլ պետք է փակ ձախողվեն։ Եթե IPv4 հարցումը ժամանակը սպառի, և IPv6 հարցումը վերադարձնի կարգավիճակի կոդ, քաղաքականությունը թերի է, և թունելի որքան էլ նորից փորձարկելը դա չի փոխի։

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

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