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

Raspberry Pi — отличный способ добиться этого. Им не требуется много энергии для работы, и у них достаточно мощности для запуска VPN-сервера. Вы можете установить его рядом с маршрутизатором и забыть о нем.
Когда у вас есть удаленный доступ к домашней сети, вы можете получить доступ к своим файлам из любого места. Вы можете управлять своими домашними компьютерами удаленно. Вы даже можете использовать домашнее VPN-подключение, находясь в дороге. Такая настройка позволяет вашему телефону, планшету или ноутбуку работать так же, как дома, где бы вы ни находились.
Ограниченное предложение: 3 месяца БЕСПЛАТНО! Получить ExpressVPN. Безопасный и удобный для потоковой передачи.
Как превратить Raspberry Pi в VPN
Настройте Pi
Прежде чем вы сможете приступить к настройке VPN, вам нужно настроить Raspberry Pi. Лучше всего установить Pi с чехлом и картой памяти приличного размера, 16 ГБ должно быть более чем достаточно. Если возможно, подключите Pi к маршрутизатору с помощью кабеля Ethernet. Это сведет к минимуму любые задержки в сети.
Установите Raspbian
Лучшая операционная система для вашего Pi — Raspbian. Это выбор по умолчанию, предложенный фондом Raspberry Pi, и он основан на Debian, одной из самых безопасных и стабильных доступных версий Linux.
Ограниченное предложение: 3 месяца БЕСПЛАТНО! Получить ExpressVPN. Безопасный и удобный для потоковой передачи.
Перейдите на страницу загрузки Rasbian и скачайте последнюю версию. Вы можете использовать “Lite” версию здесь, потому что на самом деле вам не нужен графический рабочий стол.
Пока он загружается, получите последнюю версию Etcher для вашей операционной системы. После завершения загрузки извлеките образ Raspbian. Затем откройте Etcher. Выберите образ Raspbian, из которого вы его извлекли. Выберите SD-карту (сначала вставьте ее). Наконец, запишите изображение на карту.
Оставьте SD-карту в компьютере, когда это будет сделано. Откройте файловый менеджер и перейдите к карте. Вы должны увидеть несколько разных разделов. Найдите значок “boot” раздел. Это тот, у которого есть “kernel.img” файл в нем. Создайте пустой текстовый файл на “boot” раздел и назовите его “ssh” без расширения файла.
Ограниченное предложение: 3 месяца БЕСПЛАТНО! Получить ExpressVPN. Безопасный и удобный для потоковой передачи.
Наконец-то вы можете подключить свой Pi. Убедитесь, что вы подключаете его в последнюю очередь. Вам не понадобится экран, клавиатура или мышь. Вы собираетесь получить удаленный доступ к Raspberry Pi по сети.
Дайте Pi несколько минут, чтобы настроиться. Затем откройте веб-браузер и перейдите к экрану управления маршрутизатором. Найдите Raspberry Pi и запишите его IP-адрес.
Независимо от того, используете ли вы Windows, Linux или Mac, откройте OpenSSH. Подключитесь к Raspberry Pi с помощью SSH.
$ ssh [email protected]
Очевидно, используйте фактический IP-адрес Pi. Имя пользователя всегда pi, а пароль — raspberry.
Настройка OpenVPN
OpenVPN не совсем просто настроить в качестве сервера. Хорошая новость в том, что вам нужно сделать это только один раз. Итак, прежде чем приступить к работе, убедитесь, что Raspbian полностью обновлен.
$ sudo apt update $ sudo apt upgrade
После завершения обновления вы можете установить OpenVPN и нужную вам утилиту сертификатов.< /p>$ 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, если он вам более удобен.
Сначала найдите переменную 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

Наконец, создайте свой центр сертификации. Вы уже установили значения по умолчанию, поэтому вы можете просто принять значения по умолчанию, которые он представляет. Не забудьте установить надежный пароль и ответить “yes” на последние два вопроса, следующие за паролем.
$ 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. Первое, что вам нужно найти, это файлы ca, cert и key. Вам нужно настроить их так, чтобы они соответствовали фактическому расположению созданных вами файлов, которые находятся в /etc/openvpn/certs/keys.

ca /etc/openvpn/certs/keys/ca.crt cert /etc/openvpn/certs/keys/server.crt key /etc/openvpn/certs/keys/server .key # Этот файл следует держать в секрете
Найдите параметр dh и измените его, чтобы он соответствовал созданному вами файлу Diffie-Hellman .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
Наконец, эти последние две строки отсутствуют в конфигурации по умолчанию. Вам нужно добавить их в конец файла.

Установите дайджест аутентификации, чтобы указать более надежное шифрование для аутентификации пользователя.
# Дайджест аутентификации 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
Это&rsquo s специальный пользователь только для запуска OpenVPN, и он не будет делать ничего другого.
Теперь запустите сервер.
$ sudo systemctl start openvpn $ sudo systemctl start [email protected]
Убедитесь, что они оба запущены
$ sudo systemctl status openvpn*.service
Если все выглядит хорошо, включите их при запуске.
$ sudo systemctl enable openvpn $ sudo systemctl enable [email protected]
Настройка клиента
Теперь ваш сервер настроен и работает. Далее вам нужно настроить конфигурацию вашего клиента. Это конфигурация, которую вы будете использовать для подключения устройств к серверу. Вернитесь в папку 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-адрес. Оставьте номер порта.
remote 107.150.28.83 1194 #Этот IP-адрес по иронии судьбы является VPN

Измените сертификаты, чтобы они отражали те, которые вы создали, точно так же, как вы сделали с сервером.
ca ca.crt cert client.crt key client.key
Найдите параметры пользователя и раскомментируйте их. Клиенты можно запускать от имени none.
user Nobody group nogroup
Раскомментируйте параметр tls-auth для HMAC.
tls-auth ta.key 1

Далее найдите вариант шифрования и убедитесь, что он соответствует серверу.
шифр AES-256-CBC
Затем просто добавьте дайджест аутентификации и ограничения шифрования в конец файла.
# Дайджест аутентификации 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-WITH-CAMELLIA-256-CBC-SHA:TLS-DHE- RSA-WITH-AES-128-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA
Когда все выглядит правильно, сохраните файл и выйдите. Используйте tar для упаковки конфигурации и сертификатов, чтобы вы могли отправить их клиенту.
$ 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
Затем перейдите в /etc/openvpn, и распакуйте присланный архив.
$ cd /etc/openvpn $ sudo tar xJf /path/to/client.tar.xz
Переименуйте файл клиента.
$ sudo mv client. ovpn client.conf
Пока не запускайте клиент. Это не удастся. Сначала вам нужно включить переадресацию портов на вашем маршрутизаторе.
Заключительные мысли о том, как превратить Raspberry Pi в VPN
После того, как вы узнали, как превратить Raspberry Pi в VPN, теперь у вас должна быть рабочая настройка. Ваш клиент будет подключаться напрямую через ваш маршрутизатор к Pi. Оттуда вы можете делиться и подключаться через свою виртуальную сеть, если все устройства подключены к VPN. Ограничений нет, поэтому вы всегда можете подключить все свои компьютеры к Pi VPN.
class=»comment-reply-title»>