Главная Mac Превратите Raspberry Pi в VPN для доступа к вашей сети из любого места

Превратите Raspberry Pi в VPN для доступа к вашей сети из любого места



Зачем использовать VPN для доступа к вашему дому

Существует множество причин, по которым вы хотите получить удаленный доступ к домашней сети, и лучший способ сделать это - использовать VPN-сервер. Некоторые маршрутизаторы на самом деле позволяют настроить VPN-сервер непосредственно внутри маршрутизатора, но во многих случаях вам придется настраивать его самостоятельно.

Raspberry Pi - отличный способ добиться этого. Им не требуется много энергии для работы, и у них достаточно мощности для запуска VPN-сервера. Вы можете установить его рядом с маршрутизатором и забыть о нем.

Когда у вас есть удаленный доступ к домашней сети, вы можете получить доступ к своим файлам из любого места. Вы можете управлять домашними компьютерами удаленно. Вы даже можете использовать домашнее VPN-соединение в дороге. Такая установка позволяет вашему телефону, планшету или ноутбуку работать так же, как дома, из любого места.

Настроить Пи

Прежде чем вы сможете начать настройку VPN, вам нужно будет настроить Raspberry Pi. Лучше всего установить Pi с корпусом и картой памяти приличного размера, 16 ГБ должно быть более чем достаточно. Если возможно, подключите Pi к маршрутизатору с помощью кабеля Ethernet. Это сведет к минимуму любые задержки в сети.

Установить Raspbian

Лучшая операционная система для использования на вашем Pi - это Raspbian. Это вариант по умолчанию, предложенный Raspberry Pi Foundation, и он основан на Debian, одной из самых безопасных и стабильных доступных версий Linux.

Перейти к Страница загрузки Rasbian , и скачайте последнюю версию. Здесь вы можете использовать Lite-версию, потому что вам не нужен графический рабочий стол.

Пока он загружается, получите последнюю версию Etcher для вашей операционной системы. После завершения загрузки извлеките образ Raspbian. Затем откройте Etcher. Выберите образ Raspbian, из которого вы его извлекли. Выберите свою SD-карту (сначала вставьте ее). Наконец, запишите изображение на карту.

Можете ли вы скрыть комментарии в инстаграмм в прямом эфире

Когда это будет сделано, оставьте SD-карту в компьютере. Откройте файловый менеджер и перейдите к карточке. Вы должны увидеть несколько разных разделов. Найдите загрузочный раздел. Это тот, в котором есть файл kernel.img. Создайте пустой текстовый файл в загрузочном разделе и назовите его ssh без расширения файла.

Наконец-то вы можете подключить свой Pi. Убедитесь, что вы подключаете его в последнюю очередь. Вам не понадобится ни экран, ни клавиатура, ни мышь. Вы собираетесь получить удаленный доступ к Raspberry Pi по своей сети.

Дайте Pi несколько минут, чтобы он настроился. Затем откройте веб-браузер и перейдите на экран управления маршрутизатором. Найдите Raspberry Pi и запишите его IP-адрес.

Независимо от того, работаете ли вы в Windows, Linux или Mac, откройте OpenSSH. Подключитесь к Raspberry Pi с помощью SSH.

$ ssh [email protected] 

Очевидно, используйте реальный IP-адрес Pi. Имя пользователявсегда Пи, а парольмалина.

Настроить OpenVPN

OpenVPN не так-то просто настроить в качестве сервера. Хорошая новость в том, что вам нужно сделать это только один раз. Итак, прежде чем копаться, убедитесь, что Raspbian полностью обновлен.

$ sudo apt update $ sudo apt upgrade

После завершения обновления вы можете установить OpenVPN и необходимую вам утилиту сертификатов.

$ sudo apt install 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

В той же папке сертификатов находится файл с именем vars. Откройте этот файл в текстовом редакторе. По умолчанию используется Nano, но не стесняйтесь устанавливать Vim, если он вам удобнее.

Отредактируйте файл Vars

НайтиKEY_SIZEсначала переменная. Он настроен на2048по умолчанию. Измените это на4096.

export KEY_SIZE=4096

Основной блок, с которым вам нужно иметь дело, устанавливает информацию о вашем центре сертификации. Это помогает, если эта информация точна, но все, что вы можете вспомнить, в порядке.

export KEY_COUNTRY='US' export KEY_PROVINCE='CA' export KEY_CITY='SanFrancisco' export KEY_ORG='Fort-Funston' export KEY_EMAIL=' [email protected] ' export KEY_OU='MyOrganizationalUnit' export KEY_NAME='HomeVPN'

Когда у вас все будет, сохранитесь и выйдите.

Этот пакет Easy-RSA, который вы установили ранее, содержит множество скриптов, которые помогают настроить все, что вам нужно. Вам просто нужно запустить их. Начните с добавления файла vars в качестве источника. Это загрузит все переменные, которые вы только что установили.

$ sudo source ./vars

Затем очистите ключи. У вас их нет, поэтому не беспокойтесь о сообщении о том, что ваши ключи будут удалены.

$ sudo ./clean-install

Создать центр сертификации

Наконец, создайте свой центр сертификации. Вы уже установили значения по умолчанию, поэтому можете просто принять их. Не забудьте установить надежный пароль и ответить утвердительно на два последних вопроса, следуя паролю.

$ sudo ./build-ca

Сделайте несколько ключей

Создайте ключ сервера

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

$ sudo ./build-key-server server

Сборка Диффи-Хеллмана

Затем создайте PEM Диффи-Хеллмана. Это то, что 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. Первое, что вам нужно найти, эточто,сертификат, а такжеключфайлы. Вам нужно настроить их так, чтобы они соответствовали фактическому расположению файлов, которые вы создали, которые все находятся в/ и т. д. / openvpn / сертификаты / ключи.

Ключи конфигурации сервера OpenVPN

ca /etc/openvpn/certs/keys/ca.crt cert /etc/openvpn/certs/keys/server.crt key /etc/openvpn/certs/keys/server.key # This file should be kept secret

Найтит.е.настройку и измените ее, чтобы она соответствовала параметру Диффи-Хеллмана..pemчто вы создали.

dh dh4096.pem

Задайте также путь для вашего ключа HMAC.

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

Найтишифри убедитесь, что он соответствует приведенному ниже примеру.

cipher AES-256-CBC

Есть следующие варианты, но они закомментированы;. Удалите точки с запятой перед каждым параметром, чтобы включить его.

push 'redirect-gateway def1 bypass-dhcp' push 'dhcp-option DNS 208.67.222.222' push 'dhcp-option DNS 208.67.220.220'

ИщитеПользовательа такжегруппапараметры. Раскомментируйте их и изменитеПользовательв openvpn.

user openvpn group nogroup

Наконец, последние две строки не входят в конфигурацию по умолчанию. Вам нужно будет добавить их в конец файла.

Проверка подлинности конфигурации сервера OpenVPN

Задайте дайджест аутентификации, чтобы указать более надежное шифрование для аутентификации пользователя.

# Authentication Digest auth SHA512

Затем ограничьте шифрование, которое OpenVPN может использовать, только более сильными. Это помогает ограничить возможные атаки на слабые шифры.

# Limit Ciphers 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-WITH-CAMELLIA-256-CBC-SHA:TLS-DHE-RSA-WITH-AES-128-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA

Это все, что нужно для настройки. Сохраните файл и выйдите.

Запустить сервер

Прежде чем вы сможете запустить сервер, вам нужно сделать этоopenvpnуказанный вами пользователь.

$ sudo adduser --system --shell /usr/sbin/nologin --no-create-home openvpn

Это специальный пользователь только для запуска OpenVPN, и больше он не будет делать ничего.

Теперь запустите сервер.

$ sudo systemctl start openvpn $ sudo systemctl start [email protected] 

Убедитесь, что они оба работают

$ sudo systemctl status openvpn*.service

Если все в порядке, включите их при запуске.

$ sudo systemctl enable openvpn $ sudo systemctl enable [email protected] 

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

Теперь ваш сервер настроен и работает. Далее вам нужно настроить конфигурацию вашего клиента. Это конфигурация, которую вы будете использовать для подключения ваших устройств к серверу. Вернуться копределенныйпапку и подготовьтесь к созданию клиентских ключей. Вы можете создать отдельные ключи для каждого клиента или один ключ для всех клиентов. Для домашнего использования подойдет один ключ.

$ 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-адрес к нему. Оставьте номер порта.

remote 107.150.28.83 1194 #That IP ironically is a VPN

Ключи конфигурации клиента OpenVPN

Измените сертификаты, чтобы они отражали те, которые вы создали, как и на сервере.

ca ca.crt cert client.crt key client.key

Найдите параметры пользователя и раскомментируйте их. Можно запускать клиентов какникто.

user nobody group nogroup

Раскомментируйтеtls-authвариант для HMAC.

tls-auth ta.key 1

Клиентские шифры OpenVPN

Затем найдитешифрвариант и убедитесь, что он соответствует серверу.

cipher AES-256-CBC

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

# Authentication Digest auth SHA512 # Cipher Restrictions 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-WITH-CAMELLIA-256-CBC-SHA:TLS-DHE-RSA-WITH-AES-128-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA

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

$ sudo tar cJf /etc/openvpn/clients/client.tar.xz -C /etc/openvpn/certs/keys 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 install openvpn

Затем измените на/ и т. д. / openvpn, и распакуйте архив, который вы отправили.

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

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

$ sudo mv client.ovpn client.conf

Пока не запускайте клиент. Это не удастся. Сначала вам нужно включить переадресацию портов на вашем маршрутизаторе.

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

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

Интересные статьи

Выбор редакции

Куда делись мои смайлики Snapchat Heart?
Куда делись мои смайлики Snapchat Heart?
Хотя в Snapchat может быть встроено множество функций, для пользователей важнее всего мелочи. Одной из самых основных функций Snapchat является система сердца, которая создает метод с
Обзор HP Envy 23
Обзор HP Envy 23
Моноблоки обычно выглядят великолепно, но HP Envy 23 - один из самых стильных, которые мы когда-либо видели. Ключ к успеху - это шарнирно-базовое расположение: вместо простой стойки или монитора.
Как создавать документы на Kindle Fire
Как создавать документы на Kindle Fire
Есть несколько способов создавать и редактировать документы на Kindle Fire. К сожалению, устройства Kindle Fire не поддерживают некоторые из наиболее часто используемых приложений, таких как Microsoft Office. Для технически подкованных людей есть обходные пути.
Как назначить горячие клавиши масштабирования, подобные браузеру, для изменения размера значков на рабочем столе и в окне проводника в Windows 8.1 и Windows 8
Как назначить горячие клавиши масштабирования, подобные браузеру, для изменения размера значков на рабочем столе и в окне проводника в Windows 8.1 и Windows 8
Описывает, как изменить размер значка на рабочем столе и в окне проводника с помощью дополнительных горячих клавиш, подобных браузеру, Ctrl ++ и Ctrl + -
Как отключить приватный просмотр в Firefox
Как отключить приватный просмотр в Firefox
Если вы управляете молодыми интернет-пользователями и хотите следить за их действиями, отключение приватного просмотра - один из способов сделать это. Из этого туториала Вы узнаете, как отключить приватный просмотр в Windows. Это будет включать
Полный список сочетаний клавиш приложения Почта в Windows 8.1
Полный список сочетаний клавиш приложения Почта в Windows 8.1
Windows 8.1 поставляется с современным приложением Mail, которое заменяет старые добрые Outlook Express, Windows Mail и Windows Live Mail. Это новое почтовое приложение было разработано для использования на устройствах с сенсорным экраном, но многие пользователи Windows 8.1 являются пользователями классических настольных ПК, у которых нет сенсорного экрана.
Как узнать, когда кто-то последний раз был в сети в Roblox
Как узнать, когда кто-то последний раз был в сети в Roblox
Поскольку последняя онлайн-функция была удалена из Roblox, поиск альтернативы был сложной задачей для игроков. К счастью, есть еще несколько способов вернуть эту опцию и получить полный игровой опыт. В этой статье мы