Как создать VPN-сервер с Raspberry Pi
Опубликовано: 2022-01-29Когда вы думаете о VPN, вы можете представить себе услугу подписки, которая туннелирует ваш интернет-трафик через сервер, расположенный в другом месте в мире. Однако эти сервисы — не единственный способ зашифровать вашу онлайн-активность.
Услуги VPN в один клик могут быть отличными, и мы рекомендуем несколько VPN, если вам нужно простое решение, которое работает сразу после установки. Однако эта услуга имеет свою стоимость: обычно от 5 до 10 долларов в месяц, не говоря уже о том, что вы доверяете тому, кто на другом конце провода. В качестве более дешевого варианта, который вы контролируете, вы можете настроить OpenVPNserver на Raspberry Pi (или определенных маршрутизаторах) и использовать собственное домашнее интернет-соединение в качестве VPN, пока вы находитесь вне дома.
Имейте в виду, что вы не сможете подменить свое местоположение на другую страну или скрыть свою личность от посторонних глаз (поскольку трафик будет исходить от вашего обычного домашнего интернет-соединения). Тем не менее, он по-прежнему обеспечивает дополнительную безопасность при просмотре общедоступных сетей Wi-Fi и весьма полезен, когда вам нужно получить доступ к домашней сети, например, для пробуждения спящего компьютера, чтобы вы могли подключиться к удаленному рабочему столу. Это дешево, просто, и это стоит сделать, если у вас есть Pi.
Что вам понадобится
Чтобы настроить это, вам понадобится очевидное: Raspberry Pi со всеми важными аксессуарами, такими как блок питания и SD-карта. Это руководство не требует специальной операционной системы; вы можете просто использовать Raspbian, поэтому ознакомьтесь с нашим руководством для начинающих по Raspberry Pi, чтобы узнать все, что вам нужно знать об основах настройки. (Убедитесь, что вы изменили пароль по умолчанию при первой загрузке Pi, так как это чрезвычайно важно для безопасности, в чем, в конце концов, и заключается весь смысл этого проекта.)
Я рекомендую иметь мышь, клавиатуру и монитор для этого пошагового руководства — только для первоначальной настройки — хотя это не обязательно. (Вы можете подключиться по SSH к своему Pi, чтобы настроить VPN, но вам, возможно, придется повторно подключиться в середине процесса, поскольку изменение настроек сети может привести к потере соединения Pi.)
Это все, что вам технически нужно, хотя есть еще несколько вещей, которые я рекомендую. Во-первых, рекомендуется настроить резервирование DHCP для вашего Raspberry Pi, чтобы его внутренний IP-адрес не менялся со временем.
Во-вторых, я рекомендую динамическую службу DNS. Чтобы получить доступ к вашему Pi издалека, вам нужно указать его на ваш публичный IP-адрес дома. Его нетрудно найти, но время от времени он может меняться, что может привести к поломке вашей VPN, пока вы не настроите ее заново. Это довольно сложно, поэтому проще использовать динамическую службу DNS, которая вместо этого дает вам легко запоминающийся адрес, который обновляется при изменении вашего IP-адреса.
Проверьте настройки своего маршрутизатора, чтобы узнать, поддерживает ли он какие-либо службы динамического DNS, такие как DynDNS или No-IP — некоторые из них являются платными по подписке, а другие, например No-IP, бесплатны для ограниченного использования, что должно идеально работать для наших целей. Мы не будем рассматривать весь процесс в этом руководстве, но я рекомендую ознакомиться с ним, если вы обнаружите, что ваш интернет-провайдер продолжает менять ваш общедоступный IP-адрес и взламывает вашу VPN.
Как установить OpenVPN с PiVPN
OpenVPN — это набор программного обеспечения с открытым исходным кодом, который позволяет настроить VPN практически на любом оборудовании. Если вы хотите, вы можете установить Linux-сервер OpenVPN на свой Pi и настроить файлы конфигурации вручную, но есть более простое решение. PiVPN — это набор сценариев с открытым исходным кодом, которые превращают конфигурацию OpenVPN в простой в использовании мастер, поэтому, даже если вы впервые работаете с OpenVPN, у вас не должно возникнуть особых проблем с его настройкой.
Поэтому загрузите свой Pi, убедитесь, что все программное обеспечение обновлено, и откройте новое окно терминала. Установить PiVPN так же просто, как запустить следующую команду:
завиток -L https://install.pivpn.io | бить
Скрипту потребуется несколько минут для установки OpenVPN, а затем он проведет вас через процесс настройки. Во-первых, он сообщит вам, что для PiVPN требуется статический IP-адрес, чтобы вы могли легко получить доступ к своему VPN-серверу, когда находитесь вне дома. Если вы настроили резервирование DHCP, вы можете просто сказать «Да», когда PiVPN спросит, используете ли вы его.
После выбора пользователя (подойдет пользователь Pi по умолчанию, если у вас нет другого, которого вы хотите использовать), PiVPN спросит, хотите ли вы использовать WireGuard, новый протокол VPN или OpenVPN. Я использую OpenVPN для этого руководства, поэтому используйте клавиши со стрелками, чтобы переместить курсор на OpenVPN, затем нажмите пробел, чтобы выбрать его, прежде чем нажать Enter, чтобы продолжить.
WireGuard довольно новый и многообещающий, в то время как OpenVPN более популярен и широко поддерживается. Если вы хотите попробовать WireGuard, вы можете узнать больше об этом здесь.
Для следующих нескольких шагов настройки по умолчанию подходят для большинства пользователей. Вас спросят, хотите ли вы использовать UDP или TDP (вы должны выбрать UDP, если у вас нет веских причин не делать этого), какой порт вы хотите использовать (1194 подходит, если его не использует что-то еще) и что DNS-провайдер, которого вы хотите использовать (подходят любые).
Одна загвоздка: я обнаружил, что, несмотря на то, что я использую службу динамического DNS, PiVPN не принимает мой собственный URL-адрес. Если вы столкнулись с той же проблемой, просто скажите, чтобы он использовал ваш общедоступный IP-адрес, и вы можете изменить его в файле конфигурации позже.
Наконец, стоит включить функции OpenVPN 2.4, если только вы не знаете, что используете приложения, которые их не поддерживают. При появлении запроса выберите рекомендуемый сертификат безопасности — большие размеры обеспечивают лучшую безопасность, но могут замедлять работу и не являются необходимыми для большинства пользователей. Включите автоматические обновления, и PiVPN установит необходимые пакеты и создаст необходимые файлы конфигурации.
Наконец, вы можете выбрать DNS для использования при подключении к VPN. Пропустите добавление пользовательского поискового домена (если только вы не знаете, что это такое, и не хотите его использовать). Как только это будет сделано, вам будет предложено перезагрузить Pi.
После перезагрузки вам нужно открыть окно терминала и запустить:
пивпн добавить
Дайте файлу конфигурации имя (я выбрал whitson-laptop), установите, сколько дней действует сертификат (значение по умолчанию подходит), и введите пароль по вашему выбору (убедитесь, что он надежный). Он сгенерирует для вас файл .ovpn в папке /home/pi/ovpns, который вам понадобится для подключения к VPN — скопируйте его на свой компьютер и сохраните в безопасном месте.
PiVPN рекомендует повторить этот процесс для других устройств, поэтому, если у вас есть другие ноутбуки или телефоны, на которых вы хотите использовать эту VPN, повторно запустите эту команду, чтобы создать их собственные файлы конфигурации.
Здесь мне пришлось внести одно редактирование в мой файл .ovpn. Если вы используете динамическую службу DNS, как и я, откройте файл в Блокноте (или в текстовом редакторе по вашему выбору) и замените свой IP-адрес в строке 4 своим собственным URL-адресом. Если у вас есть проблемы с подключением к VPN, это первая строка, с которой я бы столкнулся — в прошлом она вызывала у меня проблемы с рядом генераторов конфигурации OpenVPN.
Отсюда ваш Pi должен быть настроен, но вам нужно сделать еще одну вещь, прежде чем вы сможете подключиться: переадресовать порт вашего VPN на вашем маршрутизаторе. Этот процесс варьируется от маршрутизатора к маршрутизатору, но он выглядит следующим образом: вы входите на страницу конфигурации вашего маршрутизатора, находите параметр переадресации портов и перенаправляете порт 1194 на внутренний IP-адрес вашего Pi. Более подробные инструкции для конкретных маршрутизаторов можно найти на сайте portforward.com.
Подключайтесь к VPN из любого места
Теперь вы на финишной прямой, потому что все остальное очень просто. Чтобы подключиться к VPN, когда вы находитесь вдали от дома, вам понадобится приложение VPN или «клиент», способный подключаться к вашему серверу OpenVPN. У OpenVPN есть официальный клиент OpenVPN Connect, который доступен для Windows, macOS, Linux, iOS и Android.
Вы можете получить его с домашней страницы OpenVPN — просто прокрутите вниз до раздела «Начало работы с OpenVPN Connect» и выберите платформу по вашему выбору. Существуют также популярные сторонние программы, такие как Viscosity (Windows/Mac) и Tunnelblick (Mac), которые предоставляют дополнительные возможности для опытных пользователей. Вы можете увидеть других клиентов OpenVPN на этой странице в сообществе OpenVPN.
Запустите приложение OpenVPN Connect и щелкните вкладку «Файл», чтобы добавить новый профиль. Перейдите к файлу конфигурации, который вы скопировали с Pi (опять же, мой назывался whitson-laptop.ovpn) и выберите его. Нажмите кнопку «Добавить», и вы сможете подключиться к VPN, включив тумблер и введя свой пароль.
Как только вы это сделаете, весь ваш трафик будет зашифрован и направлен через ваше домашнее интернет-соединение, где находится Pi. Ваш трафик будет защищен от посторонних глаз в этой кофейне Wi-Fi, и вы сможете получить доступ к любым ресурсам в своей домашней сети, как если бы вы были там - без абонентской платы.