Мазмуну:

Raspberry Pi VPN Gateway: 6 кадам
Raspberry Pi VPN Gateway: 6 кадам

Video: Raspberry Pi VPN Gateway: 6 кадам

Video: Raspberry Pi VPN Gateway: 6 кадам
Video: Building The "Ultimate" Router - [PFSense + Pi-hole + PIVPN] 2024, Июль
Anonim
Raspberry Pi VPN шлюзу
Raspberry Pi VPN шлюзу

Жаңыртуу 2018-01-07:

  • Raspianдын учурдагы версиясына керектүү нерселер жаңыртылды жана өзгөртүүлөр киргизилди.
  • Ошондой эле NordVPN үчүн белгилүү бир көрсөтмө түзүлгөн.

VPNди колдонуунун бир нече түрү бар. Же купуялыгыңызды жана жеке маалыматыңызды кызык көздөрдөн коргоону каалайсызбы же башка өлкөдөн булак алышыңыз керек. Башка өлкөдөн булак алуу сиздин өлкөдө көрсөтүлбөгөн кызматтарга кирүү үчүн абдан пайдалуу болушу мүмкүн. Бүгүнкү күндө бир катар VPN кызматтары бар жана алардын көбү сиздин компьютериңизге жана планшетиңизге же телефонуңузга колдонмолорду оңой колдонууну сунушташат. Бирок, эгер сизде VPN аркылуу өтүүнү каалаган программалык камсыздоо колдобогон башка түзмөктөр болсо? Андан кийин VPN аркылуу интернетке кирүү мүмкүнчүлүгүн берген шлюзду куруңуз.

Эгерде сиз тармактын негизги орнотууларын карасаңыз, сизде "демейки шлюз" бар, ал учурдагы ички түйүнүңүздө жайгашкан эмес, ар кандай IP-дарек үчүн колдонулат (абдан жөнөкөйлөштүрүлгөн). Ошентип, эгер сиз орнотулган VPN туташуусу аркылуу интернет трафигин багыттай турган шлюз орнотсоңуз, анда каалаган тармак иштетилген түзмөк VPN туннелинен пайдалана алат.

Менин Сан -Францискодогу батиримдеги эң негизги колдонуу - бул менин туулуп -өскөн Швециям үчүн VPN туннели, ошондуктан мен медиа ойноткучтарымда жана акылдуу сыналгыда швед ойноо каналдарын агылта алам. Бул VPN туннелине муктаж болгон адамдардын көпчүлүгү үчүн абдан кеңири таралган учур. Менин медиа оюнчуларым жана акылдуу сыналгыларым VPN программасы тарабынан колдоого алынбагандыктан, мен аны Raspberry Piден кургам.

Амазонкадан 40 долларга чейин сатып ала аласыз. Бирок мен сизге корпусту жана татыктуу кубат адаптерин сатып алууну сунуштайм. Бул көрсөтмө үчүн сизге керек:

  • Raspberry Pi 2 же 3
  • Сизге жаккан иш
  • Күчтүү адаптер
  • Тармак кабели

1 -кадам: VPN кызматын тандоо

Сиздин VPN кызмат тандоо
Сиздин VPN кызмат тандоо

VPN кызматын тандоодо эң маанилүү нерсе - бул сиздин талаптарга жооп бериши. Бул учурда, мен Швециянын чыгуу чекити бар VPN кызматына муктаж болчумун, бул Швециянын кызматтарына Швецияда экениме ынануу үчүн керек болгондуктан. Бир нече жылдар бою мен бир нече башка жеткирүүчүлөрдү колдондум жана төмөндө конкреттүү колдонуу үчүн VPN жеткирүүчүсүн тандоодо мен ойлонуп көргөн нерселер бар:

Бекер тест

Мен программалык камсыздоону же колдонмону сезүү үчүн акысыз сыноо мөөнөтүн же анча чоң эмес тест маалыматын каалайм. Ошондой эле мен аны төлөөдөн мурун иштөө жана жалпы тажрыйбамды сынап көргүм келет. Төлөй баштоодон мурун менин идеям иштээрин текшерүү жагымдуу.

Купуялык

Эгерде ишке ашыруу купуялуулукка байланыштуу болсо, анда купуялык саясатында эмне жазылгандыгы абдан маанилүү. Бул компания кайсы өлкөдөн иштээри жана купуялыгыңызды кандай мыйзамдар коргогону да маанилүү. Чынында эле купуялуулукка байланыштуу колдонуучулар трафик журналдары сакталбаганын жана мисалы Биткойн аркылуу анонимдүү төлөмдөргө жол берерин айткан кызматты карашы керек.

Уруксат берилген трафик

Кандай трафикти иштетүүгө уруксат берилиши боюнча чектөөлөр болушу мүмкүн. Көбүрөөк олуттуу жеткирүүчүлөр, адатта, теңтуштардын трафигин бөгөшөт. Бул юридикалык көйгөйлөрдөн качуу үчүн гана эмес, бардык колдонуучулар үчүн өндүрүмдүүлүктү сактап калуу үчүн. Качандыр бир убакта көптөгөн жакшы жеткирүүчүлөр бар, алар теңтуштарга мүмкүнчүлүк берет жана дагы эле жогорку сапаттагы кызматты көрсөтүшөт. Бирок, эгер бул сиздин негизги каражаты болбосо, мен теңтуштарга жол бербеген кызматты тандоону сунуштайм.

Маалымат капкагы

Эч качан төлөмдөрдү төлөп жаткан колдонуучуларынын үстүндө маалымат капкагын кармаган кызматты колдонбоңуз. Бул эң начар убакта, телефонуңуздагы маалыматтар сыяктуу, клиптин күлкүлүү бөлүгүнүн алдында эле түгөнөт!

Өлкөлөрдөн чыгуу

Колдонуу абалына жараша бул ар кандай мааниге ээ. Белгилүү бир өлкөгө барышым керек болгон меникиндей колдонуу үчүн, албетте, бул тизмеде болушу керек. Мага кайсы өлкөдөн чыгууну тандоого уруксат бериш керек. Чыгуучу өлкөнү тандай албаган кызматтар бар, алардан алыс болуңуз. Сиз начар иштөө же купуялык мыйзамдары бар өлкөгө кирип кетишиңиз мүмкүн. Белгилүү бир өлкөгө муктаж болбосоңуз дагы, жакшы көрсөткүчкө ээ болгон өлкөнү табуу үчүн бир нече өлкөнү көрсөтө турган кызматты тандап алышыңыз керек.

Программалык камсыздоонун жана колдоонун түрү

Бул акысыз тестирлөө менен кызматтарды артык көрүүнүн негизги себептеринин бири. Жаман программалык камсыздоосу бар, провайдерлер көп, алар кооптуу, же иштебейт. Raspberry Pi ишке ашыруу үчүн мага OpenVPN колдогон провайдер керек.

Менин тандоом

Бул курулуш үчүн мен Tunnel Bear менен бардым. 500 ГБ чейин бекер тест сунушталат, андыктан мен эч нерсе төлөбөй туруп агып кете алам. Алар Канадада негизделген, Швециянын жанында, дүйнөдө купуялуулуктун эң күчтүү мыйзамдары бар. Акы төлөнүүчү кызмат боюнча маалымат чеги жок жана мага бир эле учурда бир нече түзмөктү кошууга уруксат берилген. Ошентип, коопсуз Wi -Fi менен жүргөндө телефонумдун, планшеттин жана компьютеримдин коргоосу да иргелет. Швециядагы чыгуу түйүнү колдоого алынат, ал иш жүзүндө Швециянын күчтүү купуялыгы менен белгилүү болгон Bahnhof аркылуу камсыздалат. Акы төлөнүүчү пландар үчүн алар OpenVPN колдоосун сунушташат. Алар бекер тесттен өтүшпөйт, бирок агымдык кызматтар иштегенине ынануу үчүн ноутбуктан иштетүү жетиштүү болду.

2 -кадам: Raspberry Pi орнотуу

Мындай ишке ашыруу үчүн мен Raspbian Lite операциялык тутумун колдоном. Мага GUIдин такыр кереги жок болгондуктан. Сиз акыркы чыгарылышын бул жерден ала аласыз.

Мен Raspberry Pi үчүн.img файлын SD-картага жүктөө үчүн Win32DiskImager колдоном.

Raspberry Pi жүктөлгөндөн кийин, мен роутерлеримдин DHCP тизмесин карап, IP-даректи алам, анан Putty менен SSH аркылуу туташам. Стандарттык колдонуучу аты жана сырсөз 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 орнотуу

Азыр биз Raspberry Piге OpenVPN орнотушубуз керек.

sudo apt-get openvpn орнотуу

Андан кийин биз кызматтын туура башталганын текшеришибиз керек.

sudo systemctl openvpn иштетет

Орнотуу аяктагандан кийин биз OpenVPN конфигурация файлдарын жана тастыктамаларын кутуга көчүрүшүбүз керек. Бул сизге VPN провайдериңиз тарабынан берилет. Менин учурда, TunnelBearди колдонуп, мен Linux колдоо жөнүндө блог постун таптым. Ошол бетте бизге керектүү нерселердин бардыгын камтыган zip файлына шилтеме бар.

Файлда сертификат файлдары жана.opvn конфигурация файлы бар. Сиз тандаган өлкө үчүн бардык күбөлүк файлдары жана.opvn конфигурация файлы керек, менин учурда Швеция. Файлдарды Raspberry Piге жүктөө үчүн керектүү файлдарды ачыңыз жана wincp колдонуңуз. SSH үчүн колдонулган ошол эле колдонуучунун аты/сырсөзү сизди/home/piге алып келет, файлдарды ошол жерге таштаңыз.

Андан кийин биз кайра SSH терминалына кайрылып, файлдарды OpenVPN папкасына жылдырабыз. Биринчи буйрук, биз /home /pi папкасында экенибизди текшерүү.

cd /home /pi

sudo mv */etc/openvpn/

Эми биз файлдарга кээ бир өзгөртүүлөрдү киргизишибиз керек. Алгач конфигурация файлын.ovpnден.conf деп өзгөртүшүбүз керек. OpenVPN демону башталганда /etc /openvpn папкасында.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 буйругун аткарсаңыз, тун0 адаптеринен тышкары tun0 адаптерин көрүшүңүз керек, эгер туннель көтөрүлгөн болсо. Сиз ошондой эле ачык 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 -А АЛГА -i eth0 -o tun0 -j КАБЫЛ АЛ

Eth0 (ички) келген трафикке tun0 (туннель) аркылуу өтүүгө уруксат берүү.

sudo iptables -А АЛГА -i tun0 -o eth0 -m мамлекет -мамлекет БАЙЛАНЫШТУУ, ТУРУЛГАН -j КАБЫЛ АЛЫҢЫЗ

Tun0 (туннель) трафигине eth0 (ички) аркылуу кайтууга уруксат берүү. БАЙЛАНЫШТУУ, ТҮЗҮЛГӨН абалын көрсөткөндүктөн, ал ички тармактан башталган байланыш менен чектелет. Жаңы туташууну баштоо үчүн тышкы трафикти бөгөө.

sudo iptables -A INPUT -i lo -j КАБЫЛ АЛ

Raspberry Pi'нин өзүнүн артка кайтуу трафигине уруксат берүү.

sudo iptables -A INPUT -i eth0 -p icmp -j КАБЫЛ АЛ

Жергиликтүү тармактагы компьютерлерге Raspberry Pi'ге пинг коюуга уруксат берүү.

sudo iptables -A INPUT -i eth0 -p tcp --dport 22 -j КАБЫЛ АЛУУ

Ички тармактан SSHге уруксат берүү.

sudo iptables -A INPUT -m абалы -мамлекет ТУРУЛДУ, БАЙЛАНЫШТУУ -j КАБЫЛ АЛЫҢЫЗ

Raspberry Pi тарабынан демилгеленген бардык трафиктин кайтып келишине уруксат берүү. Бул мурункудай эле мамлекеттик директор.

sudo iptables -P АЛГА ЧЫГУУ

sudo iptables -P INPUT DROP sudo iptables -L

Эгерде трафик көрсөтүлгөн эрежелердин бирине дал келбесе, ал токтотулат.

sudo apt-get iptables-туруктуу орнотуу

sudo systemctl netfilter-туруктуу иштетет

Биринчи сап коддун тынчтыгын орнотот, ал биз жаңы эле жараткан iptable эрежелерин өчүрүүлөрдүн ортосунда туруктуу кылат. Экинчиси эрежелерди өзгөрткөндөн кийин сактайт. Бул жолу биринчисин иштетүү жетиштүү. Эгер эрежелерди өзгөртсөңүз, экинчисин сактап коюңуз. Эгерде сиз башаламандыкка жана кирүү мүмкүнчүлүгүн жоготуп алсаңыз, аларды кошуп койсоңуз болот.

6 -кадам: Жыйынтык

Эми сиз бул туннелди ошол эле тармактагы каалаган түзмөктөн же компьютерден колдоно аласыз. Жөн гана Raspberry Pi бар болгон IP дарегине демейки шлюзду өзгөртүңүз. Менин учурда, менин Kodi медиа борборлорум да (бир уктоочу жана бир бөлмөлүү) бул байланышты колдонушат, андыктан мен швед ойноо каналдарымды агылта алам. Албетте, муну дагы колдоно турган башка нерселер бар.

Эсиңизде болсун, сиз тандаган VPN жеткирүүчүңүзгө жана интернетке туташууңуздун ылдамдыгына жараша жай иштөө болушу мүмкүн.

Эгерде сизде кандайдыр бир суроолор болсо же бир нерсени тактоону кааласаңыз, мага комментарийлерде билдириңиз! Көбүрөөк технологиялык посттор үчүн менин блогум Hackvikingге баш багыңыз!

Сунушталууда: