Ձեր հին լռելյայն երթուղին դիտավորյալ գոյատևում է OpenVPN-ից հետո
Երկու /1 երթուղիներ գերազանցում են լռելյայնին՝ առանց այն փոխարինելու։ Ստուգեք, թե որ երթուղին է նպատակակետն իրականում վերցնում, ապա թողեք հին դարպասը տեղում։
Դուք միացնում եք թունելը, գործարկում ip route-ը, և սկզբնական լռելյայն դարպասը դեռ այնտեղ է։ Հաջորդ միտքն այն է, որ հաճախորդը չի վերցրել երթուղին, ուստի դուք ձեռքով ջնջում եք լռելյայնը և ամբողջությամբ կորցնում կապը։ Այդ գրառումը պետք է մնա։ redirect-gateway def1-ի հետ OpenVPN-ը տեղադրում է երկու ավելի կոնկրետ երթուղի, որոնք գերազանցում են սովորական լռելյայնին՝ այն փոխարինելու փոխարեն։ Հին դարպասը մնում է և դադարում է կրել այն թրաֆիկը, որը դուք փորձարկում էիք։
Ինչ է իրականում անում def1-ը
Դրոշը ավելացնում է 0.0.0.0/1 և 128.0.0.0/1, երկուսն էլ ուղղված դեպի թունել։ 0.0.0.0/1-ը վերցնում է յուրաքանչյուր հասցե, որի առաջին օկտետը 0-ից 127 է, իսկ 128.0.0.0/1-ը՝ 128-ից 255, այնպես որ յուրաքանչյուր IPv4 նպատակակետ ունի ավելի կոնկրետ համընկնում, քան հին լռելյայնը։ Որ երթուղին հաղթի, որոշում է նախածանցի երկարությունը, ոչ թե մետրիկան։
Սկզբնական լռելյայնը տեղում թողնելը դիտավորյալ է։ Հաճախորդը ստիպված չէ հիշել, թե ինչ է փոխարինել, և չի վերագրում այն երթուղին, որը կրում է իր սեփական կապը VPN սերվերի հետ։ Անջատվելիս այն հեռացնում է երկու կիսաերթուղիները, և աղյուսակը վերադառնում է նախկին վիճակին։
Ինչու /1, ոչ /0
Երթուղավորումն ընտրում է ամենաերկար համընկնող նախածանցը, ոչ թե ամենացածր մետրիկան, ուստի /1-ը հաղթում է /0-ին, ինչ էլ ասի լռելյայնի մետրիկան։ Երկու կեսերն էլ կան, որովհետև մեկ /1-ը ծածկում է տարածության միայն կեսը. երբ առկա է միայն 0.0.0.0/1-ը, 128.0.0.0-ից վեր ամեն ինչ դեռ հետևում է հին լռելյայնին, ինչն առաջացնում է շփոթեցնող ախտանիշ, երբ որոշ կայքեր աշխատում են, իսկ մյուսները՝ ոչ։
Հին լռելյայնի մետրիկան բարձրացնելը կամ իջեցնելը ոչինչ չի փոխում, և մեկ այլ միջերեսի վրա ավելի ցածր մետրիկայով լռելյայնը նույնպես չի գողանում թրաֆիկը։ Նախ որոշում է նախածանցի երկարությունը, և միայն հավասար նախածանցերն են դիմում մետրիկային։
Կարդացեք իրական երթուղավորման աղյուսակ
Միացված հոսթը կարող է ցույց տալ բոլոր երեք գրառումները միաժամանակ, երբ թունելը կրում է կեսերը, իսկ սկզբնական դարպասը դեռ ցանկում է։ Հասցեները օրինակներ են, ոչ թե պատճենելու կոնֆիգուրացիա, որովհետև միջերեսների անունները, թունելի տոպոլոգիան և լրացուցիչ երթուղիները տարբերվում են ըստ հարթակի և հաճախորդի։
default via 192.168.50.1 dev wlan0
0.0.0.0/1 via 10.8.0.1 dev tun0
128.0.0.0/1 via 10.8.0.1 dev tun0Կարևորը հարաբերությունն է՝ երկու կոնկրետ կեսեր մեկ ընդհանուր լռելյայնի վրա։ Հին դարպասի տողը մնում է, որովհետև ոչինչ չի փոխարինել այն։
Ստուգեք, թե որ երթուղին է փաթեթն իրականում վերցնում
Ավելի կոնկրետ երթուղիները դեռ կարող են հաղթել. մասնավոր տիրույթի, տեղական ենթացանցի երթուղին կամ VPN սերվերի սեփական հասցեն ավելի երկար է, քան /1-ը։ Թունելին պետք է արտաքին ուղի դեպի իր սերվերը, և այդ կապը նորից թունել ուղարկելը անմիջապես կկոտրի այն։ Linux-ում հարցրեք միջուկին՝ աղյուսակը աչքով կարդալու փոխարեն. ip route get-ը ձեզ հետաքրքրող նպատակակետով տպում է ընտրված երթուղին, միջերեսը և աղբյուրը։ Եթե քաղաքականության վրա հիմնված երթուղավորում է կարգավորված, ստուգեք նաև կանոնները, որովհետև կանոնը կարող է ընտրել այլ աղյուսակ նախքան հիմնականին դիմելը։
Եթե միայն IPv4-ի մի մասն է սխալ վարվում, հաստատեք, որ երկու կեսերն էլ տեղադրված են, ապա փնտրեք բացառություն, որը համապատասխանում է ձախողվող նպատակակետին։ Հին լռելյայնը ջնջելը լուծում չէ, և այն հեռացնում է այն երթուղին, որն անհրաժեշտ է հաճախորդին թունելը մաքուր քանդելու համար։
Ինչ չի ծածկում def1-ը
Երկու IPv4 գրառում ոչինչ չեն ասում IPv6-ի մասին. IPv6 կապ ունեցող հոսթը շարունակում է օգտագործել իր լռելյայնը, քանի դեռ ինչ-որ բան այդ ընտանիքը առանձին չի վերահասցեավորում, ինչի պատճառով երկկույտ ցանցում որոշ թրաֆիկ կարծես շրջանցում է թունելը։ Այլ հաճախորդներ և ցանցի կառավարիչներ ամբողջական թունելի երթուղավորումն այլ կերպ են իրականացնում, և նրանց աղյուսակները չեն համընկնի։ Այստեղ նկարագրված def1-ի վարքը պատկանում է OpenVPN-ի փաստաթղթավորված դրոշին, ոչ թե մեքենայի յուրաքանչյուր VPN-ին։
Անջատիչը պատասխանում է այլ հարցի. ինչ է անում մեքենան, երբ թունելն ընկնում է։ Երթուղիների առաջնահերթությունը որոշում է, թե ուր է գնում թրաֆիկը, քանի դեռ թունելը միացած է. այն չի որոշում, թե ինչ է անելու հետո հրային պատը։ Աշխատանքի հերթականությունը. կարդացեք աղյուսակը, հաստատեք, որ երկու կեսերն էլ կան, գործարկեք ip route get-ը ձախողվող նպատակակետի համար, ստուգեք քաղաքականության կանոնները, ապա առանձին նայեք IPv6-ին։ Թողեք հին լռելյայնը այնտեղ, որտեղ կա։