Anonim

Защо да използвате VPN за достъп до дома си

бързи връзки

  • Защо да използвате VPN за достъп до дома си
  • Настройте Pi
    • Инсталирайте Raspbian
  • Настройте OpenVPN
    • Сертифициращ орган
    • Направете няколко ключове
    • Конфигурация на сървъра
    • Стартирайте сървъра
  • Настройка на клиента
    • Конфигурация на клиента
  • Пренасочване на пристанища
  • Свържете се с клиента
  • Заключителни мисли

Има много причини, поради които искате да получите достъп до домашната си мрежа от разстояние, а най-добрият начин да направите това е с VPN сървър. Някои маршрутизатори всъщност ви позволяват да настроите VPN сървър директно в рамките на рутера, но в много случаи ще трябва да го настроите сами.

А Raspberry Pi е чудесен начин за постигане на това. Те не изискват много енергия за стартиране и имат достатъчно мощност за стартиране на VPN сървър. Можете да настроите такава до вашия рутер и основно да забравите за него.

Когато имате достъп до домашната си мрежа от разстояние, можете да стигнете до вашите файлове отвсякъде. Можете да стартирате домашните си компютри от разстояние. Можете дори да използвате VPN връзката на вашия дом от пътя. Настройка като тази позволява на вашия телефон, таблет или лаптоп да действа така, както беше у дома отвсякъде.

Настройте Pi

Преди да започнете да настройвате VPN, ще трябва да настроите вашия Raspberry Pi. Най-добре е да настроите Pi с кутия и карта с приличен размер, 16GB трябва да са повече от достатъчно. Ако е възможно, свържете вашия Pi към вашия рутер с Ethernet кабел. Това ще намали до минимум закъсненията в мрежата.

Инсталирайте Raspbian

Най-добрата операционна система за използване на вашия Pi е Raspbian. Това е избор по подразбиране, създаден от фондацията Raspberry Pi и се основава на Debian, една от най-сигурните и стабилни версии на Linux, налични.

Отидете на страницата за изтегляне на Rasbian и вземете най-новата версия. Можете да използвате версията „Lite“ тук, защото всъщност нямате нужда от графичен десктоп.

Докато това се изтегля, вземете най-новата версия на Etcher за вашата операционна система. След като изтеглянето приключи, извлечете Raspbian изображението. След това отворете Etcher. Изберете Raspbian изображението от мястото, където сте го извлекли. Изберете вашата SD карта (поставете я първо). Накрая напишете изображението на картата.

Оставете SD картата в компютъра си, когато свърши. Отворете файлов мениджър и преминете към картата. Трябва да видите няколко различни дяла. Потърсете дяла „boot“. Това е този с файл „kernel.img“ в него. Създайте празен текстов файл на дяла "boot" и го наречете "ssh" без разширение на файла.

Най-накрая можете да свържете своя Pi. Уверете се, че сте го включили последно. Няма да се нуждаете от екран, клавиатура или мишка. Ще получите дистанционен достъп до Raspberry Pi през вашата мрежа.

Дайте на Пи няколко минути, за да се настрои. След това отворете уеб браузър и отворете екрана за управление на вашия рутер. Намерете Raspberry Pi и отбележете неговия IP адрес.

Независимо дали сте на Windows, Linux или Mac, отворете OpenSSH. Свържете се с Raspberry Pi с SSH.

$ ssh

Очевидно използвайте действителния IP адрес на Pi. Потребителското име винаги е pi, а паролата е малиново.

Настройте OpenVPN

OpenVPN не е съвсем проста за настройка като сървър. Добрата новина е, че трябва да го направите само веднъж. Така че, преди да копаете, уверете се, че Raspbian е напълно актуален.

$ sudo apt актуализация $ sudo apt надстройка

След като актуализацията приключи, можете да инсталирате OpenVPN и помощната програма за сертификати, от която се нуждаете.

$ sudo apt инсталирате openvpn easy-rsa

Сертифициращ орган

За да удостоверите устройствата си, когато се опитват да се свържат със сървъра, трябва да настроите сертификат за създаване на ключове за подписване. Тези клавиши ще гарантират, че само вашите устройства ще могат да се свързват с вашата домашна мрежа.

Първо, създайте директория за вашите сертификати. Преместване в тази директория.

$ sudo make-cadir / etc / openvpn / certs $ cd / etc / openvpn / certs

Огледайте конфигурационните файлове на OpenSSL. След това свържете най-новия с openssl.cnf.

$ ls | grep -i openssl $ sudo ln -s openssl-1.0.0.cnf openssl.cnf

В същата папка „certs“ е файл, наречен „vars“. Отворете този файл с текстовия си редактор. Nano е по подразбиране, но не се колебайте да инсталирате Vim, ако ви е по-удобно.

Намерете първо променливата KEY_SIZE. По подразбиране е зададено на 2048. Променете го на 4096.

износ KEY_SIZE = 4096

Основният блок, с който трябва да се справите, установява информация за вашия сертификатен орган. Помага, ако тази информация е точна, но всичко, което можете да запомните, е добре.

export KEY_COUNTRY = "US" експортиране KEY_PROVINCE = "CA" експортиране KEY_CITY = "SanFrancisco" export KEY_ORG = "Fort-Funston" export KEY_EMAIL = "" експортиране KEY_OU = "MyOrganizationalUnit" износ KEY_NAME = "НачалоVPN

Когато имате всичко, запазете и излезте.

Този Easy-RSA пакет, който сте инсталирали преди, съдържа много скриптове, които помагат да настроите всичко необходимо. Просто трябва да ги изпълните. Започнете с добавяне на файла „vars“ като източник. Това ще зареди всички променливи, които току-що сте задали.

$ sudo източник ./vars

След това почистете ключовете. Нямате никакви, така че не се притеснявайте от съобщението, което ви казва, че вашите ключове ще бъдат изтрити.

$ sudo ./clean-install

И накрая, изградете вашия сертификат. Вече сте задали настройките по подразбиране, така че можете просто да приемете тези по подразбиране. Не забравяйте да зададете силна парола и да отговорите „да“ на последните два въпроса, следвайки паролата.

$ sudo ./build-ca

Направете няколко ключове

Преминахте през всичките тези проблеми, за да настроите сертификат, за да можете да подписвате ключове. Сега е време да направим някои. Започнете с изграждането на ключа за вашия сървър.

$ sudo ./build-key-server сървър

След това изградете PEM Diffie-Hellman. Това е, което OpenVPN използва, за да осигури вашите клиентски връзки към сървъра.

$ sudo openssl dhparam 4096> /etc/openvpn/dh4096.pem

Последният ключ, който се нуждаете от сега, се нарича HMAC ключ. OpenVPN използва този ключ, за да подпише всеки отделен пакет информация, обмен между клиента и сървъра. Той помага да се предотвратят някои видове атаки върху връзката.

$ sudo openvpn --genkey --secret /etc/openvpn/certs/keys/ta.key

Конфигурация на сървъра

Имате ключовете. Следващото парче в настройката на OpenVPN е самата конфигурация на сървъра. За щастие, тук не е всичко, което трябва да направите. Debian предоставя базова конфигурация, която можете да използвате, за да започнете. Така че, започнете с получаването на този конфигурационен файл.

$ sudo gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz> /etc/openvpn/server.conf

Използвайте отново текстов редактор, за да отворите /etc/openvpn/server.conf. Първите неща, които трябва да намерите, са файловете ca, cert и key. Трябва да ги настроите да съответстват на действителните местоположения на създадените от вас файлове, които са всички в / etc / openvpn / certs / keys.

ca /etc/openvpn/certs/keys/ca.crt cert /etc/openvpn/certs/keys/server.crt ключ /etc/openvpn/certs/keys/server.key # Този файл трябва да се пази в тайна

Намерете dh настройката и я променете, за да съответства на Diffie-Hellman .pem, който сте създали.

dh dh4096.pem

Задайте и пътя за вашия HMAC ключ.

tls-auth /etc/openvpn/certs/keys/ta.key 0

Намерете шифъра и се уверете, че съответства на примера по-долу.

шифър AES-256-CBC

Следващите няколко варианта са налице, но те се коментират с;. Извадете запетайките пред всяка опция, за да ги активирате.

push "пренасочване-шлюз def1 байпас-dhcp" push "dhcp-опция DNS 208.67.222.222" push "dhcp-опция DNS 208.67.220.220"

Потърсете опциите за потребителя и групата. Декомментирайте ги и променете потребителя на „openvpn.“

потребител openvpn група nogroup

И накрая, последните два реда не са в конфигурацията по подразбиране. Ще трябва да ги добавите в края на файла.

Задайте дайдера за удостоверяване, за да укажете по-силно криптиране за удостоверяване на потребителя.

# Authentication Digest auth SHA512

След това ограничете циперите, които OpenVPN може да използва само по-силни. Това помага да се ограничат възможните атаки на слаби шифри.

# Ограничете шифрите tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384: TLS-DHE-RSA-WITH-AES-128-GCM-SHA256: TLS-DHE-RSA-WITH-AES-256- CBC-SHA: TLS-DHE-RSA-С-CAMELLIA-256-CBC-SHA: TLS-DHE-RSA-С-AES-128-CBC-SHA: TLS-DHE-RSA-С-CAMELLIA-128-CBC- SHA

Това е всичко за конфигурация. Запазете файла и излезте.

Стартирайте сървъра

Преди да можете да стартирате сървъра, трябва да направите този openvpn потребител, който сте посочили.

$ sudo adduser - система --shell / usr / sbin / nologin --no-create-home openvpn

Той е специален потребител само за стартиране на OpenVPN и няма да направи нищо друго.

Сега стартирайте сървъра.

$ sudo systemctl start openvpn $ sudo systemctl start

Проверете дали и двамата работят

$ sudo systemctl status openvpn * .service

Ако всичко изглежда добре, включете ги при стартиране.

$ sudo systemctl enable openvpn $ sudo systemctl enable

Настройка на клиента

Вашият сървър вече е настроен и работи. След това трябва да настроите конфигурацията на вашия клиент. Това е конфигурацията, която ще използвате за свързване на вашите устройства към вашия сървър. Върнете се в папката certs и се подгответе за изграждане на клиентския ключ (и). Можете да изберете да създадете отделни ключове за всеки клиент или един ключ за всички клиенти. За домашна употреба един ключ трябва да е добре.

$ cd / etc / openvpn / certs $ sudo source ./vars $ sudo ./build-key client

Процесът е почти идентичен с този на сървъра, така че следвайте същата процедура.

Конфигурация на клиента

Конфигурацията за клиенти е много подобна на тази за сървъра. Отново имате предварително направен шаблон, на който да основавате конфигурацията си. Трябва само да го модифицирате, за да съответства на сървъра.

Промяна в клиентската директория. След това разопаковайте конфигурацията на пример.

$ cd / etc / openvpn / client $ sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/client/client.ovpn

Отворете файла client.ovpn с вашия текстов редактор. След това намерете отдалечената опция. Ако приемем, че вече не използвате VPN, Google потърсете „Какъв е моят IP адрес.“ Вземете адреса, който се показва, и му задайте отдалечения IP адрес. Оставете номера на порта.

дистанционно 107.150.28.83 1194 # Този IP по ирония на съдбата е VPN

Променете certs, за да отразявате тези, които сте създали, точно както сте направили със сървъра.

ca ca.crt cert client.crt ключ client.key

Намерете потребителските опции и ги коментирайте. Хубаво е да управлявате клиентите като никой.

потребител никой група nogroup

Декомментирайте опцията tls-auth за HMAC.

tls-auth ta.key 1

След това потърсете опцията за шифър и се уверете, че тя съвпада със сървъра.

шифър AES-256-CBC

След това, просто добавете дайджест за проверка на автентичността и шифърни ограничения в долната част на файла.

# Authentication Digest auth SHA512 # Шифрови ограничения tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384: TLS-DHE-RSA-WITH-AES-128-GCM-SHA256: TLS-DHE-RSA-WITH -AES-256-CBC-SHA: TLS-DHE-RSA-С-CAMELLIA-256-CBC-SHA: TLS-DHE-RSA-С-AES-128-CBC-SHA: TLS-DHE-RSA-С-CAMELLIA -128-CBC-SHA

Когато всичко изглежда както трябва, запазете файла и излезте. Използвайте tar, за да запазите конфигурацията и сертификатите, за да можете да ги изпратите на клиента.

$ sudo tar cJf /etc/openvpn/clients/client.tar.xz -C / etc / openvpn / certs / клавиши ca.crt client.crt client.key ta.key -C /etc/openvpn/clients/client.ovpn

Прехвърлете този пакет на клиента, който сте избрали. SFTP, FTP и USB устройство са чудесни възможности.

Пренасочване на пристанища

За да работи нещо от това, трябва да конфигурирате вашия рутер да пренасочва входящия VPN трафик към Pi. Ако вече използвате VPN, трябва да сте сигурни, че не се свързвате на същия порт. Ако сте, променете порта на конфигурациите на вашия клиент и сървър.

Свържете се с уеб интерфейса на вашия рутер, като въведете IP адреса си в браузъра.

Всеки рутер е различен. Въпреки това, всички те трябва да имат някаква форма на тази функционалност. Намерете го на вашия рутер.

Основната настройка е една и съща на всеки рутер. Въведете началните и крайните портове. Те трябва да са същите като всеки друг и този, който сте задали във вашите конфигурации. След това, за IP адреса, задайте това на IP адреса на вашия Raspberry Pi. Запазете промените си.

Свържете се с клиента

Всеки клиент е различен, така че няма универсално решение. Ако сте в Windows, ще ви трябва клиентът на Windows OpenVPN .

В Android можете да отворите тарбола си и да прехвърлите клавишите на телефона си. След това инсталирайте приложението OpenVPN. Отворете приложението и включете информацията от вашия конфигурационен файл. След това изберете вашите ключове.

В Linux трябва да инсталирате OpenVPN много, както сте направили за сървъра.

$ sudo apt инсталирате openvpn

След това променете в / etc / openvpn и разопаковайте тарбола, който сте изпратили.

$ cd / etc / openvpn $ sudo tar xJf /path/to/client.tar.xz

Преименувайте клиентския файл.

$ sudo mv client.ovpn client.conf

Не стартирайте клиента още. Ще се провали. Първо трябва да активирате пренасочване към порт на вашия рутер.

Заключителни мисли

Сега трябва да имате работеща настройка. Вашият клиент ще се свърже директно чрез вашия рутер към Pi. Оттам можете да споделяте и свързвате през вашата виртуална мрежа, стига всички устройства да са свързани към VPN. Няма ограничение, така че винаги можете да свържете всичките си компютри към Pi VPN.

Превърнете малинов пи в vpn, за да получите достъп до вашата мрежа отвсякъде