Երթուղային աղյուսակները հաճախ կարդացվում են որպես կոտրված, երբ դարպասի սյունը դատարկ է մնում, մինչդեռ տողը սովորաբար ինքնին ամբողջական է։ via դաշտը հայտնվում է միայն այն ժամանակ, երբ միջուկը փաթեթը հանձնում է հաջորդ ցատկի հասցեին. ինտերֆեյսին կցված երթուղին իր նպատակակետերին հասնում է փոխարենը կապի շերտի լուծման կամ կետ-կետ զուգընկերոջ միջոցով։ Սյուները ձախից աջ կարդալը ասում է, թե որ դեպքում եք գտնվում, և այդ ընթերցումը պետք է տեղի ունենա նախքան որևէ մեկը կխմբագրի լռելյայն երթուղին։ Բացակայող դարպասի մասին տոմսերի մեծ մասը ավարտվում է այս տարբերությամբ։

Կարդացեք երթուղու տողը սյուն առ սյուն

Յուրաքանչյուր գրառում սկսվում է նպատակակետով և դրա նախածանցի երկարությամբ, ապա ֆիքսված բառապաշարով ավելացնում է ձևափոխիչներ՝ via, dev, proto, scope, src և metric։ 198.51.100.0/24 dev tun0 proto kernel scope link src 198.51.100.2-ի նման տողը խիտ է, բայց ամբողջությամբ սահմանված։ Դրանում ոչինչ պակաս չէ, և ոչ մի երթուղիչի հասցե չի ենթադրվում։

Հետաքրքիր մասը via-ի բացակայությունն է։ Առանց հաջորդ ցատկի՝ միջուկը լուծում է նպատակակետը անմիջապես նշված ինտերֆեյսի վրա, ինչը թունելի համար նշանակում է շրջանակը հանձնել թունելի սարքին և թողնել, որ ինկապսուլյացիան այնտեղից ստանձնի։ proto kernel-ը գրանցում է, որ գրառումը տեղադրվել է ավտոմատ կերպով հասցե նշանակելիս, այլ ոչ թե մուտքագրվել է ադմինիստրատորի կողմից։ scope link-ը ասում է, որ նպատակակետը հասանելի է այդ կապում առանց երթուղիչով անցնելու, իսկ src-ը նշում է այն հասցեն, որը միջուկը կնախընտրի որպես համապատասխան թրաֆիկի աղբյուր։

Այժմ նույն կերպ կարդացեք լռելյայն երթուղին՝ default via 192.0.2.254 dev eth0 proto static metric 100։ Այստեղ via առկա է, որովհետև փաթեթին իսկապես պետք է հաջորդ ցատկ, և այդ ցատկը պետք է ինքնին հասանելի լինի eth0-ով։ Երկու տողերը մեկը մյուսի տարբերակները չեն. նրանք պատասխանում են տարբեր հարցերի այն մասին, թե ուր է գնում թրաֆիկը։

Երկու երթուղու ձևեր, որոնք շփոթում են իրար հետ

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

Piece of the lineWhat it settlesWhat it says nothing about
The destination and maskWhich packets are eligible to matchWhere those packets leave the host
via plus its addressWhich next hop receives them, and therefore that a router is involvedWhether that router is reachable or sane
devWhich interface carries the encapsulated or raw packetWhether the interface is up or has a carrier
proto and scopeWho installed the entry and how far the destination is considered to beWhether a firewall later drops the traffic

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

Նույն կերպ, բացակայող դարպասը թույլտվություն չէ այն հորինելու։ Եթե երթուղին իսկապես հաջորդ ցատկի կարիք ունի, այդ ցատկը պետք է հասանելի լինի այն ինտերֆեյսում, որը կրում է այն, և կետ-կետ թունելի համար զուգընկերոջ հասցեն նույն օբյեկտը չէ, ինչ լոկալ հասցեն։ Լոկալ թունելի հասցեն որպես Ethernet երթուղիչ դիտարկելը սովորական ձև է ստեղծելու երթուղի, որը ճիշտ է թվում և ոչինչ չի փոխանցում։

Հարցրեք միջուկին, թե որ տողն է այն իրականում օգտագործելու

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

ip route get 203.0.113.37 from 198.51.100.2 iif tun0

Փոխարինեք այն նպատակակետով, որն իրականում ձեզ հետաքրքրում է, ապա ավելացրեք from կամ iif, երբ թրաֆիկը ընտրված է ըստ աղբյուրի կամ փոխանցվում է, որովհետև սովորական լոկալ որոնումը կարող է այլ ուղի ընտրել, քան փոխանցված հաճախորդը։ Պատասխանը նշում է ինտերֆեյսը, ընտրված աղբյուրի հասցեն և ցանկացած հաջորդ ցատկ, ինչը նույն տեղեկությունն է, որով փաթեթը կուղղորդվեր այդ պահին։

Եթե պատասխանը զարմացնում է ձեզ, տպեք կանոնները նախքան որևէ բան փոխելը՝ ip -4 rule show-ը թվարկում է դրանք առաջնահերթության կարգով, և VPN հաճախորդը, որը տեղադրում է իր սեփական աղյուսակը կամ նշված փաթեթների համար կանոն, ընդհանրապես չի հայտնվի հիմնական աղյուսակում։ Բոլոր աղյուսակների թվարկումը փակում է այդ բացը։

ip -4 route show table all | grep -E 'tun|default'

Ստուգեք հիմքային շերտը նախքան լռելյայնը փոխարինելը

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

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

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

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