Բովանդակություն:

Raspberry Pi VPN Gateway: 6 քայլ
Raspberry Pi VPN Gateway: 6 քայլ

Video: Raspberry Pi VPN Gateway: 6 քայլ

Video: Raspberry Pi VPN Gateway: 6 քայլ
Video: How to setup a Raspberry Pi OpenVPN gateway 2024, Հուլիսի
Anonim
Raspberry Pi VPN Gateway
Raspberry Pi VPN Gateway

Թարմացնել 2018-01-07:

  • Թարմացված բաներ, որոնք բացակայում են, և անհրաժեշտ փոփոխություններ են անհրաժեշտ Raspian- ի ընթացիկ տարբերակի համար:
  • Նաև ստեղծեց հատուկ ուղեցույց NordVPN- ի համար.

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

Եթե նայեք ձեր հիմնական ցանցի կարգավորմանը, ունեք «կանխադրված դարպաս», որն օգտագործվում է ցանկացած ընթացիկ ենթահամակարգում չտեղակայված ip հասցեների համար (շատ պարզեցված): Այսպիսով, եթե տեղադրեք մի դարպաս, որը կարող է ինտերնետ տրաֆիկը ուղղորդել հաստատված VPN կապի միջոցով, ցանկացած ցանցով միացված սարք կարող է օգտվել VPN թունելից:

Իմ հիմնական օգտագործման դեպքը իմ Սան Ֆրանցիսկոյի բնակարանում VPN թունել է դեպի իմ հայրենի Շվեդիա, որպեսզի կարողանամ շվեդական խաղային ալիքներ ուղարկել իմ մեդիա նվագարկիչներով և խելացի հեռուստատեսությամբ: Սա բավականին սովորական օգտագործման դեպք է VPN թունելի կարիք ունեցող մարդկանց մեծամասնության համար: Քանի որ իմ մեդիա նվագարկիչները և խելացի հեռուստացույցները չեն ապահովվում VPN ծրագրային ապահովմամբ, ես այն ստեղծեցի Raspberry Pi- ից:

Amazon- ից կարող եք վերցնել 40 դոլարից ցածր գինը: Այնուամենայնիվ, ես խորհուրդ եմ տալիս գնել նաև պատյան և պատշաճ սնուցման ադապտեր: Այս հրահանգի համար ձեզ հարկավոր է.

  • Ազնվամորի Պի 2 կամ 3
  • Ձեր սրտով դեպք
  • Արժանի էներգիայի ադապտեր
  • Networkանցային մալուխ

Քայլ 1: Ընտրելով ձեր VPN ծառայությունը

Ընտրելով ձեր VPN ծառայությունը
Ընտրելով ձեր VPN ծառայությունը

VPN ծառայություն ընտրելիս կարևորն այն է, որ այն համապատասխանի ձեր պահանջներին: Այս օգտագործման դեպքում ինձ պետք էր VPN ծառայություն ՝ շվեդական ելքի կետով, դա ամենակարևորն է, քանի որ ինձ պետք են շվեդական ծառայությունները ՝ համոզվելու համար, որ ես Շվեդիայում եմ: Տարիների ընթացքում ես օգտագործել եմ մի քանի տարբեր մատակարարներ, և ստորև բերված են այն բաները, որոնք ես հաշվի եմ առնում հատուկ օգտագործման դեպքի համար VPN մատակարար ընտրելիս.

Անվճար փորձարկում

Wantանկանում եմ անվճար փորձաշրջան կամ փոքր քանակությամբ թեստային տվյալներ `ծրագրային ապահովման կամ ծրագրի մասին պատկերացում կազմելու համար: Նաև ես ուզում եմ ստուգել կատարումը և ընդհանուր փորձը, նախքան դրա համար վճարելը: Նաև հաճելի է ստուգել, որ իմ գաղափարը կգործի, նախքան վճարելը սկսելը:

Գաղտնիություն

Եթե իրականացումը վերաբերում է գաղտնիության խնդիրներին, ապա իսկապես կարևոր է, թե ինչ է ասում գաղտնիության քաղաքականությունը: Կարևոր է նաև, թե որ երկրից է գործում ընկերությունը և որ օրենքներն են պաշտպանում ձեր գաղտնիությունը: Իրապես գաղտնիության հետ կապված օգտվողները պետք է նայեն մի ծառայության, որը նշում է, որ երթևեկության տեղեկամատյաններ չեն պահվում և թույլ են տալիս, օրինակ, Bitcoin- ի միջոցով անանուն վճարումներ կատարել:

Թույլատրված երթևեկություն

Հնարավոր են սահմանափակումներ, թե ինչ տեսակի երթևեկի թույլտվություն կունենաք գործարկել: Ավելի լուրջ մատակարարները սովորաբար արգելափակում են հավասարը հավասարի երթևեկը: Սա ոչ միայն իրավական խնդիրներից խուսափելու համար է, այլև կարող է պահպանել կատարումը բոլոր օգտագործողների համար: Կան շատ լավ մատակարարներ, որոնք թույլ են տալիս հավասարը հավասարի և մատուցել բարձրորակ ծառայություններ: Բայց եթե դա ձեր հիմնական վերականգնումը չէ, ես խորհուրդ եմ տալիս ընտրել այնպիսի ծառայություն, որը թույլ չի տալիս հավասարը հավասարին:

Տվյալների կափարիչ

Երբեք մի՛ օգտվեք այնպիսի ծառայությունից, որը տվյալների շեմը պահում է իրենց վճարող օգտվողների նկատմամբ: Սա պարզապես կավարտվի հնարավոր ամենավատ պահին, ինչպես ձեր հեռախոսի տվյալները ՝ տեսահոլովակի զվարճալի մասից անմիջապես առաջ:

Ելք երկրներից

Կախված օգտագործման դեպքից, սա այլ նշանակություն ունի: Իմ նման օգտագործման դեպքում, որտեղ ես պետք է հայտնվեմ որոշակի երկրում, իհարկե, դա պետք է լինի ցուցակում: Ինձ նաև պետք է թույլ տրվի ընտրել, թե որ երկրից եմ դուրս գալիս: Կան ծառայություններ, որտեղ դուք չեք կարող ընտրել ելքի երկիրը, հեռու մնացեք դրանցից: Դուք կարող եք հայտնվել մի երկրում, որտեղ գործում են վատ կատարողական կամ գաղտնիության օրենքներ: Նույնիսկ եթե ձեզ կոնկրետ երկիր պետք չէ, միևնույն է, պետք է ընտրեք մի քանի տարբեր երկրներով ծառայություն, որտեղից կարող եք գտնել լավ կատարմամբ:

Softwareրագրաշարի տեսակը և աջակցությունը

Սա հիմնական պատճառներից մեկն է, թե ինչու ես նախընտրում եմ անվճար թեստով ծառայությունները: Կան շատ ծրագրավորողներ, որոնք ունեն վատ ծրագրակազմ, որոնք խելագարված են, անվստահ կամ պարզապես չեն աշխատում: Raspberry Pi- ի իրականացման համար ինձ պետք է մատակարար, որն աջակցում է OpenVPN- ին:

Իմ ընտրանի

Այս կառուցման համար ես գնացի Tunnel Bear- ի հետ: Մինչև 500 ԳԲ անվճար թեստ է առաջարկվում, որպեսզի ես կարողանամ ստուգել, որ իրականում կարող եմ հոսք կատարել ՝ նախքան որևէ բան վճարելը: Նրանք հիմնված են Կանադայում, որը Շվեդիայի կողքին ունի գաղտնիության գաղտնի օրենքներից մի քանիսը աշխարհում: Վճարովի ծառայության վերաբերյալ տվյալների սահմանափակում չկա, և ինձ թույլատրվում է միանգամից մի քանի սարք միացնել: Այսպիսով, իմ հեռախոսի, պլանշետի և համակարգչի պաշտպանությունը ոչ ապահով wifi- ով ճանապարհորդելիս նույնպես դասավորված է: Շվեդիայում ելքի հանգույցն ապահովված է, այն իրականում տրամադրվում է Bahnhof- ի միջոցով, որը հայտնի է Շվեդիայում ուժեղ գաղտնիությամբ: Վճարովի ծրագրերի համար նրանք առաջարկում են OpenVPN աջակցություն. Նրանք չեն անում անվճար թեստը, բայց բավական էր այն գործարկել իմ նոութբուքից `համոզվելու համար, որ հոսքային ծառայություններն աշխատում են:

Քայլ 2: Տեղադրեք Raspberry Pi- ն

Նման իրականացման համար ես օգտագործում եմ Raspbian Lite օպերացիոն համակարգը: Քանի որ ես ընդհանրապես GUI- ի կարիք չունեմ: Դուք կարող եք ստանալ վերջին թողարկումը այստեղ:

Ես օգտագործում եմ Win32DiskImager- ը ՝ Rasgberry Pi- ի համար.img ֆայլը SD քարտի վրա բեռնելու համար:

Երբ Raspberry Pi- ն գործարկվեց, ես փնտրում եմ DHCP երթուղիչների ցուցակը `IP հասցեն ստանալու համար, այնուհետև SSH- ի միջոցով միանալ Putty- ի հետ: Ստանդարտ օգտվողի անունն ու գաղտնաբառը pi/ազնվամորի են

Միանալուց հետո ես գործարկում եմ raspi-config գործիքը `հիմնական պարամետրերը փոխելու համար:

sudo raspi-config

Այս կազմաձևում ամենակարևոր բաները, որոնք պետք է հոգ տանել.

  • Ընդլայնել ֆայլային համակարգը
  • Փոխել գաղտնաբառը

Եթե ցանկանում եք, կարող եք նաև փոխել ձեր Raspberry Pi- ի հյուրընկալողի անունը: Իմ DHCP- ն շատ երկար վարձակալություններ ունի, և ես կարող եմ նաև կոնկրետ հասցե ամրագրել: Եթե դուք չունեք այդ ունակությունը, դուք պետք է կազմաձևեք Raspberry Pi- ն ՝ ստատիկ IP- հասցե օգտագործելու համար: Քանի որ այլ սարքեր կօգտագործեն սա որպես կանխադրված դարպաս, կարևոր է, որ այն շարունակի օգտագործել նույն IP հասցեն: Ահա մի գրառում, որը ես գրել եմ Raspbian Jessie- ում ստատիկ IP սահմանելու մասին:

Այնուհետև մենք պետք է ամեն ինչ արդիականացնենք մինչև վերջին տարբերակը.

sudo apt-get updatesudo apt-get upgrade sudo apt-get dist-upgrade

Քայլ 3: Տեղադրեք OpenVPN

Տեղադրեք OpenVPN
Տեղադրեք OpenVPN

Այժմ մենք պետք է տեղադրենք OpenVPN- ը Raspberry Pi- ի վրա:

sudo apt-get տեղադրել openvpn

Հետո մենք պետք է համոզվենք, որ ծառայությունը ճիշտ է սկսվում:

sudo systemctl միացնել openvpn- ը

Տեղադրման ավարտից հետո մենք պետք է պատճենենք OpenVPN կազմաձևման ֆայլերը և վկայագրերը վանդակում: Սա ձեզ կտրամադրի ձեր VPN մատակարարը: Իմ դեպքում, օգտագործելով TunnelBear- ը, ես այնտեղ գտա Linux- ի աջակցման մասին բլոգային գրառում: Այդ էջում կա zip ֆայլի հղում, որը պարունակում է այն ամենը, ինչ մեզ անհրաժեշտ է:

Ֆայլը պարունակում է վկայագրի ֆայլեր և.opvn կազմաձևման ֆայլ յուրաքանչյուր երկրի համար, որին կարող եք թունել: Ձեզ անհրաժեշտ են վկայագրի բոլոր ֆայլերը և.opvn կազմաձևման ֆայլը ձեր ընտրած երկրի համար, իմ դեպքում ՝ Շվեդիայում: Բացեք անհրաժեշտ ֆայլերը և օգտագործեք wincp ֆայլերը ձեր Raspberry Pi- ում բեռնելու համար: Նույն օգտվողի անունը/գաղտնաբառը, որն օգտագործվում է SSH- ի համար, ձեզ կհասցնի/home/pi, պարզապես ֆայլերը գցեք այնտեղ:

Այնուհետև մենք վերադառնում ենք SSH տերմինալ և ֆայլերը տեղափոխում ենք OpenVPN պանակ: Առաջին հրամանը պարզապես համոզվելն է, որ մենք գտնվում ենք /home /pi պանակում:

cd /home /pi

sudo mv */etc/openvpn/

Այժմ մենք պետք է որոշ փոփոխություններ կատարենք ֆայլերում: Նախ պետք է վերանվանել կազմաձևման ֆայլը.ovpn- ից.conf:: Նախ պետք է մտնել այդ գրացուցակում:

cd /etc /openvpn

Այնուհետև մենք փոխում ենք կազմաձևման ֆայլի անունը: Դուք կարող եք այն անվանել այն, ինչ ցանկանում եք, քանի դեռ այն ավարտվում է.conf. Ես նախընտրում եմ օգտագործել ֆայլերի անուններ առանց դատարկ տարածությունների, այս դեպքում ես գնում եմ swe.conf- ով:

sudo mv *.ovpn swe.conf

Այնուհետև մեզ պետք է նույնականացման ֆայլ, որը պարունակում է VPN թունելի համար օգտագործվող օգտվողի անուն և գաղտնաբառ: Բացեք տեքստային խմբագիր և առանձին տողերում գրեք օգտվողի անունն ու գաղտնաբառը: Այս ֆայլը մենք կանվանենք auth.txt:

sudo nano auth.txt

Բովանդակությունը պետք է նման լինի այս օրինակին.

օգտագործողի անունը

գաղտնաբառ

Այնուհետև օգտագործեք CTRL + O ՝ ֆայլին գրելու համար, և CTRL + X ՝ նանո տեքստային խմբագրիչից դուրս գալու համար: Մենք նաև պետք է պաշտպանենք մեր հավատարմագրերը պարունակող auth.txt ֆայլը:

sudo chmod 600 /etc/openvpn/auth.txt

Այնուհետև մենք պետք է խմբագրենք կազմաձևման ֆայլը ՝ համոզվելու համար, որ բոլոր ուղիները ճիշտ են և հղում ավելացնենք նոր ստեղծված auth.txt ֆայլին:

sudo nano swe.conf

Այն տողերը, որոնք պետք է փոխվեն, այլ ֆայլերին վերաբերող տողերն են, դրանք պետք է լինեն բացարձակ ուղիներ: Այս օրինակում սա այն է, ինչ մենք փնտրում ենք.

ca CACertificate.crt

cert UserCertificate.crt բանալին PrivateKey.key

Մենք դրանք փոխում ենք բացարձակ ուղիների այսպես.

ca /etc/openvpn/CACertificate.crt

cert /etc/openvpn/UserCertificate.crt բանալին /etc/openvpn/PrivateKey.key

Այնուհետև ֆայլի վերջում մենք հղում ենք ավելացնում auth.txt ֆայլին, այսպես.

auth-user-pass /etc/openvpn/auth.txt

Կրկին մենք օգտագործում ենք CTRL + O ֆայլը պահելու համար, այնուհետև CTRL + X ՝ նանոից դուրս գալու համար: Այժմ մենք կարող ենք վերագործարկել OpenVPN դեմոնը և տեսնել, որ թունելը գործում է:

sudo ծառայություն openvpn վերագործարկեք

Եթե գործարկեք ifconfig հրամանը, ապա թունելը վերևում պետք է տեսնեք tun0 ադապտեր, բացի ձեր eth0 և lo ադապտերներից: Կարող եք նաև գործարկել այս հրամանը ՝ ձեր հանրային IP- ն ստուգելու համար.

wget https://ipinfo.io/ip -qO -

Եթե թունելը բարձրացնելու հետ կապված խնդիրներ ունեք, նախ փորձեք վերագործարկել ձեր Raspberry Pi- ն, այնուհետև կրկնակի ստուգեք կազմաձևը սխալների համար:

Քայլ 4: Կարգավորեք երթուղին

Այժմ մենք պետք է միացնենք IP- ի վերահասցեավորումը: Այն հնարավորություն է տալիս ցանցի երթևեկը հոսել ցանցի միջերեսներից մեկից և դուրս գալ մյուսից: Ըստ էության, ստեղծում է երթուղիչ:

sudo /bin /su -c "echo -e '\ n#Միացնել IP երթուղին / nnet.ipv4.ip_forward = 1'> /etc/sysctl.conf"

Եթե վարում եք sudo sysctl -p, ապա դա պետք է տեսնեք էկրանին տպված.

net.ipv4.ip_forward = 1

Այժմ երթուղին միացված է, և երթևեկությունը կարող է անցնել Raspberry Pi- ով, թունելի վրայով և դուրս գալ ինտերնետով:

Քայլ 5: Կարգավորեք Firewall- ը և NAT- ը

Քանի որ ներսում մենք կունենանք մի քանի հաճախորդներ, ովքեր մուտք են գործում ինտերնետ ՝ մեկ հանրային IP հասցեով, մենք պետք է օգտագործենք NAT: Այն նշանակում է ցանցի հասցեի թարգմանություն և հետևելու է, թե որ հաճախորդն է պահանջել ինչ երթևեկություն, երբ տեղեկատվությունը վերադառնա թունելի վրայով: Մենք նաև պետք է որոշակի անվտանգություն ստեղծենք Raspberry Pi- ի և թունելի շուրջ:

sudo iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

Միացնելով NAT- ը:

sudo iptables -A FORWARD -i eth0 -o tun0 -j ԸՆԴՈՆԵԼ

Թույլ տալ, որ ցանկացած երթևեկություն eth0- ից (ներքին) անցնի tun0- ով (թունել):

sudo iptables -A FORWARD -i tun0 -o eth0 -m նահանգ -պետություն ԿԱՊ, ՀԻՄՆԱՎՈՐՎԱj -j ԸՆԴՈՆԵԼ

Թույլ տալով tun0- ից (թունել) երթևեկությունը վերադառնալ eth0- ից (ներքին): Քանի որ մենք նշում ենք RELATED, SSTABLISED վիճակը, այն կսահմանափակվի ներքին ցանցից նախաձեռնված միացմամբ: Արտաքին տրաֆիկի արգելափակում ՝ փորձելով նոր կապ սկսել:

sudo iptables -A INPUT -i lo -j ԸՆԴՈՆԵԼ

Թույլ տալով, որ Raspberry Pi- ի սեփական loopback երթևեկը:

sudo iptables -A INPUT -i eth0 -p icmp -j ACCEPT

Տեղական ցանցի համակարգիչներին թույլ տալ Raspberry Pi- ին պինգ անել:

sudo iptables -A INPUT -i eth0 -p tcp --dport 22 -j ԸՆԴՈՆԵԼ

Ներքին ցանցից SSH- ի թույլտվություն:

sudo iptables -A INPUT -m state -state KATELLISED, KELATED -j ԸՆԴՈՆԵԼ

Թույլ տալով, որ Raspberry Pi- ի նախաձեռնած ամբողջ երթևեկը վերադառնա: Սա նույն պետական սկզբունքն է, ինչ նախկինում:

sudo iptables -P FORWARD DROP

sudo iptables -P INPUT DROP sudo iptables -L

Եթե երթևեկը չի համապատասխանում նշված կանոններից որևէ մեկին, այն կհեռացվի:

sudo apt-get install iptables-persistent

sudo systemctl միացնել netfilter- համառ

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

Քայլ 6: Եզրակացություն

Այժմ դուք կարող եք օգտագործել այս թունելը նույն ցանցի ցանկացած սարքից կամ համակարգչից: Պարզապես փոխեք կանխադրված դարպասը դեպի այն IP հասցեն, որն ունի ձեր Raspberry Pi- ն: Իմ դեպքում իմ Kodi մեդիա կենտրոնները (մեկ ննջասենյակ և մեկ հյուրասենյակ) օգտագործում են այս կապը, որպեսզի ես կարողանամ հոսել իմ շվեդական խաղային ալիքները: Իհարկե, կան այլ բաներ, որոնց համար կարող եք նաև օգտագործել:

Պարզապես հիշեք, որ կախված ձեր ընտրած VPN մատակարարից և ձեր ինտերնետային կապի արագությունից, կարող է լինել դանդաղ կատարում:

Եթե ունեք որևէ հարց կամ ցանկանում եք որևէ բան պարզաբանել, ասեք ինձ մեկնաբանություններում: Ավելի շատ տեխնիկական գրառումների համար այցելեք իմ բլոգի Hackviking!

Խորհուրդ ենք տալիս: