Դիմակավորում կամ քաղաքականության երթուղավորում՝ LAN-ի տրաֆիկը VPN դարպասով
Linux դարպասը կարող է թաքցնել LAN-ի աղբյուրները իր թունելի հասցեի հետևում կամ երթուղավորել դրանք անփոփոխ։ Ընտրությունը բխում է նրանից, թե ումն է հեռավոր կողմը և ինչպիսին է նրա վերադարձի ուղին։
Ամբողջ LAN-ը VPN թունելի հետևում դնելը հեշտ մասն է՝ որոշելը, թե ինչպես է հեռավոր կողմը տեսնում այդ հաճախորդներին, հեշտ չէ։ Դիմակավորումը վերագրում է յուրաքանչյուր LAN աղբյուր դարպասի թունելի հասցեին, ուստի հեռավոր կողմը պատասխանում է մեկ զույգի։ Քաղաքականության երթուղավորումը պահպանում է սկզբնական հասցեները և պահանջում է, որ հեռավոր կողմը իմանա, թե ինչպես հասնի դրանց։ Ոչ մեկը լռելյայն չէ՝ ընտրությունը բխում է նրանից, թե ումն է հեռավոր կողմը և արդյոք կարևոր է սարք առ սարք ինքնությունը։
Երկու ձևավորումները տարբեր բաներ են խոստանում
Դիմակավորումը նվազեցնում է LAN-ը մինչև մեկ տեսանելի հոսթ՝ դարպասը։ Հեռավոր ցանցը պատասխանում է այդ մեկ հասցեին, և դարպասը թարգմանում է պատասխանները ետ դեպի այն հաճախորդը, որը սկսել է հոսքը։ Հեռավոր կողմում ձեր մասնավոր նախածանցներին ուղի պետք չէ, և այդ պատճառով այս ձևավորումը դիմանում է մատակարարի, որը հրաժարվում է դրանք կրել։ Դարպասը նաև դառնում է յուրաքանչյուր կապի աղբյուր, ուստի հեռավոր կողմը չի կարող տարբերել երկու հաճախորդի։
Քաղաքականության երթուղավորումը պահում է յուրաքանչյուր հաճախորդի հասցեն անփոփոխ։ Հեռավոր ցանցը տեսնում է իրական աղբյուրը և կարող է գրանցել այն, կիրառել հոսթ առ հոսթ կանոն կամ պատասխանը ուղարկել ուղիղ այդ հասցեին։ Այդ տեսանելիությունը ողջ իմաստն է, և այն գալիս է պարտավորությամբ՝ հեռավոր կողմը պետք է ունենա LAN նախածանցի ուղի, որը ետ է տանում թունելով։ Պլանավորեք այդ ուղին նախքան կանոնը միացնելը, որովհետև թունելը միևնույն է բարձրանալու է, և կբացակայեն միայն պատասխանները։
Խափանման եղանակները տարբերվում են այնքան, որքան խոստումները։ Բացակայող դիմակավորման կանոնը տալիս է փաթեթներ, որոնք դուրս են գալիս մասնավոր աղբյուրներով և երբեք չեն վերադառնում։ Բացակայող վերադարձի ուղին նույն ախտանիշն է տալիս քաղաքականության երթուղավորման դեպքում, բայց ուղղումը պատկանում է հեռավոր երթուղիչին, ոչ դարպասին։
Դիմակավորում՝ մեկ զույգ հեռավոր կողմում
Դիմակավորման ուղին ունի մի հաջորդականություն, որը կարևոր է։ Փոխանցումը պետք է միացված լինի, նախքան ցանկացած NAT կանոն օգուտ կտա՝ ֆիլտրի աղյուսակը պետք է թույլ տա անցումը երկու ուղղություններով, և միայն այդ ժամանակ թարգմանությունը կիրառվում է թունելի ինտերֆեյսի վրա։
sysctl -w net.ipv4.ip_forward=1
iptables -A FORWARD -i eth1 -o tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
Հաճախորդներին դեռ պետք է ուղի դեպի դարպասը։ Կամ դարպասը նրանց լռելյայն երթուղիչն է, կամ նրանք կրում են հատուկ ուղի հեռավոր նախածանցի համար՝ եթե առանձին երթուղիչը մնում է լռելյայն, այդ երթուղիչին պետք է ստատիկ ուղի թունելի նպատակակետերի համար, հակառակ դեպքում փաթեթը գնում է սխալ թռիչքի, նախքան դարպասը կտեսնի այն։
DNS-ը առանձին որոշում է։ Հեռավոր կողմի լուծիչը պատասխանում է միայն այն դեպքում, երբ նրա պատասխանը կարող է վերադառնալ հաճախորդին։ Դիմակավորման դեպքում հարցումը կարծես գալիս է դարպասից, ուստի լուծիչի վերադարձի ուղին արդեն ապահովված է՝ քաղաքականության երթուղավորման դեպքում լուծիչին պետք է նույն վերադարձի ուղին, ինչ ցանկացած այլ հեռավոր ծառայության։
Քաղաքականության երթուղավորում՝ պահեք աղբյուրը, ավելացրեք վերադարձի ուղի
Քաղաքականության երթուղավորումը սկսվում է աղյուսակով և կանոնով, որը ընտրում է այն։ LAN ինտերֆեյսից ներս եկող երթևեկությունը ուղարկվում է հատուկ աղյուսակ, և այդ աղյուսակը կրում է լռելյայն ուղի թունելով։ Հիմնական աղյուսակը մնում է անձեռնմխելի, ուստի հենց դարպասի ստեղծած երթևեկությունը կարող է գնալ այլ ուղով։
ip rule add iif eth1 table vpn
ip route add default dev tun0 table vpn
Այնուհետև հեռավոր կողմը պետք է ետ երթուղավորի LAN նախածանցը թունելով։ Սա կարգավորում է հեռավոր երթուղիչում, ոչ այս դարպասում։ Դարպասը նաև պետք է ընդունի պատասխաններ, որոնք գալիս են այլ ինտերֆեյսով, քան կկանխատեսեր հիմնական աղյուսակը՝ թույլ հակադարձ ուղու ֆիլտրումը (rp_filter-ը դրված է 2-ի) սովորական ճշգրտում է, երբ խիստ ռեժիմը գցում է այդ փաթեթները։
Երբ երկու թունել ակտիվ են, նշեք յուրաքանչյուր հոսք մուտքի պահին և թող նշանը ընտրի աղյուսակը։ Կանոնը, որը նայում է միայն մուտքային ինտերֆեյսին, ուղարկում է երկու թունելների երթևեկությունը նույն աղյուսակ, ուստի երկրորդ թունելը գողանում է հոսքեր առաջինից։ Փորձարկեք այդ նշանը կապով, որը վերապրում է վերակապակցումը, քանի որ հենց այդ ժամանակ է ի հայտ գալիս խառը քաղաքականությունը։
Որոշեք ըստ սեփականության և ըստ այն բանի, ինչ գրանցում է հեռավոր կողմը
Եթե թունելը ավարտվում է մատակարարի մոտ, օգտագործեք դիմակավորում։ Այդ օպերատորը չի երթուղավորի ձեր մասնավոր LAN տիրույթները, և նա պատճառ չունի տարբերելու ձեր դարպասի հետևում գտնվող առանձին հաճախորդներին։ Մեկ տեսանելի զույգը միակ մոդելն է, որը նրա քաղաքականությունը սատարում է, ուստի տվեք նրան այդ և պահեք թարգմանությունը ձեր եզրին։ Մատակարարը տեսնում է մեկ զույգ, ինչը հենց այն է, ինչ իր քաղաքականությունը սպասում է, և ձեր հաճախորդները ժառանգում են այդ մեկ ինքնությունը։
Եթե երկու ծայրերն էլ ձերն են, և հեռավոր ծառայությունները գործում են աղբյուրի հասցեներով, քաղաքականության երթուղավորումը վաստակում է իր լրացուցիչ ուղին։ Այն ժամանակ firewall-ի կանոնները, օգտվող առ օգտվող մուտքը և աուդիտի մատյանները կարող են տարբերել հաճախորդներին։ Եթե հեռավոր կողմին պետք է միայն հասանելիություն, դիմակավորումն ավելի պարզ է և հեռացնում է վերադարձի ուղու սխալների մի ամբողջ դաս։
Հիբրիդային ձևավորումները նորմալ են՝ քաղաքականության երթուղավորում ձեր սեփական ցանցում, դիմակավորում մատակարարի եզրին։ Կարևորն այն է, որ գրի առնեք, թե որ թռիչքն է թարգմանում և որը՝ երթուղավորում, որովհետև մեկ հաճախորդի համար պատահաբար ավելացված NAT կանոնը թաքցնում է աղբյուրը նույն շղթայի բոլոր հաճախորդներից։
Ստուգեք մեկ հաճախորդից, ապա երկրորդ հաճախորդից
Կատարեք թեստը այնտեղ, որտեղ սկսվում է երթևեկությունը։ Ստուգեք այն ուղին, որն օգտագործում է հոսթը, դիտեք, թե ինչպես է փաթեթը հայտնվում թունելի ինտերֆեյսում, և ստուգեք conntrack-ը թարգմանության համար։ Այդ հաջորդականությունը ապացուցում է, որ փաթեթը գնաց նախատեսված ուղով, այլ ոչ թե պարզապես ինչ-որ տեղ հասավ։
Կրկնեք թեստը վերակապակցումից հետո։ Դիմակավորման կանոնը, որը նշում է ինտերֆեյսը, վերապրում է նոր թունելի հասցեն՝ կանոնը, որը նշում է հին հասցեն, չի վերապրում։ Ապա փորձարկեք երկրորդ LAN հոսթը, որովհետև մեկ մեքենայի վրա աշխատող ձևավորումը հաճախ կախված է այդ մեքենայի սեփական ուղուց, ոչ դարպասի քաղաքականությունից։
Գրեք ընտրված մոդելը, թարգմանված կամ պահպանված աղբյուրը և վերադարձի ուղու տերը դարպասի նշումներում։ Հակառակ դեպքում հաջորդ մարդը, ով ավելացնում է հաճախորդ կամ թունել, կգուշակի, և գուշակությունն է, թե ինչպես է աշխատող LAN-ից-VPN կարգավորումը դառնում մասնակի։