Если вы хотите защитить свой интернет трафик от посторонних глаз, получить доступ к контенту с региональной блокировкой или удаленно использовать свою домашнюю сеть. То VPN может стать отличным решением многих распространенных сетевых проблем.
Вы не хотите отдавать свой трафик стороннему провайдеру? Или вам нужна гибкость доступа к собственной домашней сети издалека? К счастью, есть решение: вам требуется собственный VPN сервер. На нём вы сможете сохранить больше контроля над настройками VPN.
Когда вы создаете собственный VPN сервер, вы можете разместить его либо в облаке, либо на собственном маршрутизаторе (если он поддерживает VPN). В этой статье мы рассмотрим оба варианта.
Зачем создавать свой собственный VPN сервер?
При таком широком спектре доступных VPN-сервисов создание собственного сервера может показаться пустой тратой времени. Однако у подхода «сделай сам» есть немало преимуществ:
- Меньше точек доверия. При использовании платной услуги VPN вы пропускаете весь свой трафик через стороннего оператора услуг и его облачного или сетевого провайдера. Когда вы устанавливаете собственный сервер, вы устраняете посредника — ваши данные остаются конфиденциальными между вами и тем, кто предоставляет вам сервер.
- Более низкая стоимость и меньше ограничений. В обмен на время и настройку, создание собственного VPN сервера обходится недорого. Некоторые провайдеры предлагают полнофункциональный хостинг серверов бесплатно или предоставляют кредиты при регистрации. Если у вас есть совместимый маршрутизатор, установка VPN сервера на маршрутизаторе ничего не стоит.
- Доступ к вашей домашней сети. Если вы установите свой VPN сервер на домашнем маршрутизаторе, а не в облаке, вы сможете использовать свое домашнее подключение. От печати на личном принтере до доступа к файлам на NAS. Все что работает из дома, будет работать при подключении к VPN. Вы можете путешествовать и при этом иметь доступ к своим цифровым ресурсам дома.
- Хороший и полезные опыт администрирования. Вы можете настроить свой собственный VPN не большие компьютерные знания. Данный процесс познакомит вас с множеством концепций и технологий, распространенных в ИТ.
Есть ли какие-либо недостатки?
Создание собственного VPN сервера может быть полезным, но есть некоторые ситуации, когда эта идея может быть плохим выбором:
- Если вы используете VPN для доступа к контенту с региональной блокировкой по всему миру. Если вы рассчитываете на то, что у вашего VPN-провайдера будет много доступных серверов в разных странах, то самодельный VPN-сервер будет хуже. Коммерческие операторы VPN могут субсидировать расходы на содержание серверов в большом количестве за счет большого потока клиентов.
- Если вы не готовы посвятить время его настройке. Хотя современные инструменты очень облегчили этот процесс. Но все равно настройка VPN подходит не всем, так как требует некоторых знаний.
- Если вы не хотите быть в ответе за безопасность. Несмотря на то, что современные решения по автоматизации помогают. В конечном итоге вы все равно несете ответственность за безопасность вашего сервера и VPN-решения. Вам необходимо принимать обоснованные решения по вопросам, связанным с безопасностью.
Настройка собственного VPN-сервера
Чтобы создать свою собственную VPN для личного пользования, у вас есть несколько конкретных вариантов хостинга:
- Запустите программное обеспечение на виртуальном частном сервере (VPS). Все облачные провайдеры, от таких титанов, как Amazon Web Services, до небольших компаний, таких как Vultr. Предлагают размещенные в интернете серверы, называемые VPS. Такой подход позволяет вам выбрать город с центром обработки данных, в котором будет размещен ваш VPN.
- Используйте функцию VPN сервера вашего домашнего маршрутизатора. Если у вас есть маршрутизатор со встроенной функцией или с возможностью использования встроенного ПО сторонних производителей, вам понадобится только ваш маршрутизатор. При таком подходе вы можете даже получить удаленный доступ к домашней сети. В то же время, этот вариант не пригодится, пока вы находитесь дома.
- Другие решения — хостинг на выделенных физических машинах. Предприятия обычно располагают выделенные VPN-серверы в своих внутренних сетях, чтобы сотрудники могли безопасно работать из дома. Для домашнего использования это решение излишне: ваш маршрутизатор может сделать то же самое. Однако у вас может быть вторая сеть, к которой вы хотите получить удаленный доступ (возможно, для удаленной технической поддержки в доме пожилого родственника). В этом случае вы можете выполнить многие из тех же шагов по созданию облачного VPN-сервера, но с помощью запасного настольного или одноплатного компьютера, оставленного включенным 24 часа в сутки 7 дней в неделю.
В следующем разделе вы узнаете, как настроить VPN в интернете и на маршрутизаторе.
Свой собственный VPN сервер в Интернете
1. Определите, какую облачную платформу вы собираетесь использовать. Поскольку нам нужен только виртуальный частный сервер (VPS), подойдет практически любой провайдер. Для целей данного руководства мы будем использовать Google Cloud Platform — они предлагают новым клиентам бесплатный пробный кредит в размере 300 долларов и некоторые удобные функции для новичков. Тем не менее, почти все шаги работают с AWS, Azure или любым другим провайдером.
2. Зарегистрируйтесь и получите все необходимые бонусы. Для Google Cloud Platform вам потребуется действующая кредитная карта, чтобы подтвердить, что вы являетесь уникальным человеком, с вас не будет взиматься плата.
3. Откройте Google Cloud Shell в правом верхнем углу Cloud Console. Вы будете использовать Cloud Shell в качестве удаленной среды для инициализации виртуальной машины.
4. Используя систему контроля версий Git, загрузите Algo (набор инструментов для настройки VPN). Для этого в Cloud Shell введите
git clone" https://github.com/trailofbits/algo.git
Далее нажмите Enter. Эта команда загрузит Algo и распакует его в новую папку. Используйте команду
cd algo
чтобы войти директорию, в которую был загружен Algo.
5. Создайте проект и учетную запись службы для размещения ресурсов, необходимых для сервера VPN, выполнив каждую из следующих команд. Введите или вставьте каждую из них и нажмите Enter:
PROJECT_ID=${USER}-algo-vpn
BILLING_ID=”$(gcloud beta billing accounts list –format=”value(ACCOUNT_ID)”)”
gcloud projects create ${PROJECT_ID} –name algo-vpn –set-as-default
gcloud beta billing projects link ${PROJECT_ID} –billing-account ${BILLING_ID}
gcloud iam service-accounts create algo-vpn –display-name “Algo VPN”
gcloud iam service-accounts keys create configs/gce.json \
–iam-account algo-vpn@${PROJECT_ID}.iam.gserviceaccount.com
gcloud projects add-iam-policy-binding ${PROJECT_ID} \
–member serviceAccount:algo-vpn@${PROJECT_ID}.iam.gserviceaccount.com \
–role roles/compute.admin
gcloud projects add-iam-policy-binding ${PROJECT_ID} \
–member serviceAccount:algo-vpn@${PROJECT_ID}.iam.gserviceaccount.com \
–role roles/iam.serviceAccountUser
gcloud services enable compute.googleapis.com
6. Далее выполните эту команду:
sudo apt install -y --no-install-recommends python3-virtualenv,
Это установит инструмент Python, который необходим для работы Algo.
7. Вставьте эту команду для установки других зависимостей Algo:
python3 -m virtualenv --python="$(command -v python3)" .env && source .env/bin/activate && python3 -m pip install -U pip virtualenv && python3 -m pip install -r requirements.txt
Вы увидите много данных в терминале, большинство из которых вы можете игнорировать, если конечно не видите ошибок.
8. Далее используйте текстовый редактор nano (или другой редактор, например vim, если вы умеете им пользоваться) для редактирования конфигурации Algo. Введите команду
nano config.cfg
- В большинстве случаев достаточно опций по умолчанию. Тем не менее, прочитайте все комментарии до раздела «Дополнительно», чтобы убедиться, что выбор имеет смысл для вашей ситуации.
- Обратите особое внимание на пользователей, которых вы устанавливаете изначально. По умолчанию это единственные учетные записи пользователей, которые будут созданы; вы не сможете добавить других после запуска сервера.
- Если вам требуется добавить больше пользователей, обязательно выберите «да», когда получите запрос «Хотите ли вы сохранить ключи (PKI)?» позже.
- Сохраните и выйдите, нажав control + X, затем Y для «Да, я хочу сохранить», далее кнопку Enter.
9. Чтобы запустить мастер настройки ведите следующую команду:
./algo -e "provider=gce" "gce_credentials_file=$(pwd)/configs/gce.json
10 Выберите имя для сервера. Имя по умолчанию, «algo«, думаю оно вам подойдет.
11. Теперь если вы хотите использовать «Подключение по требованию» на устройствах iOS и компьютерах Mac. Эта функция позволяет автоматически использовать VPN при каждом подключении к Интернету. В некоторых случаях это может быть неудобно, поэтому по умолчанию стоит «Нет». Вам нужно будет сделать выбор дважды: один раз для сотовых сетей и один раз для Wi-Fi.
12. Далее решите, хотите ли вы в дальнейшем добавлять пользователей. По умолчанию используется значение «Нет», что повышает безопасность в ущерб гибкости.
13. Выберите, хотите ли вы автоматическую блокировку рекламы при подключении к VPN. Это очень удобная функция.
14. Если вы не будете использовать туннелирование SSH или не знаете, что это такое, выберите «Нет» для следующей опции.
15. Выберите регион, в котором вы хотите разместить свой VPN-сервер.
16. Подождите некоторое время. Если все работает, вы только что создали свою собственную VPN! Поздравляем.
Как настроить собственный сервер VPN на маршрутизаторе
Ни один из маршрутизаторов не имеет одинаковой прошивки со всеми одинаковыми опциями, поэтому трудно предложить универсальные шаги. Вот некоторые общие рекомендации:
1. Найдите в Yandex или Google модель вашего маршрутизатора и добавьте к поиску «VPN сервер«. Если ваш маршрутизатор поддерживает эту функцию из коробки, то вы скорее всего, найдете статью в справке. Если нет, посмотрите, совместим ли ваш маршрутизатор с прошивкой сторонних производителей, например OpenWrt.
- Большинство маршрутизаторов не могут создавать VPN-серверы. В этом случае вам придется попробовать подход, который мы описали выше.
2. Откройте страницу конфигурации вашего роутера по IP-адресу внутренней сети. Попробуйте ввести в веб-браузере адреса 192.168.0.1 или 192.168.1.1 или 10.0.0.1.
3. Введите пароль администратора для вашего маршрутизатора.
4. Найдите нужную страницу с конфигурациями VPN и создайте сервер. Следуйте инструкциям вашего маршрутизатора или встроенного программного обеспечения, чтобы установить правильные параметры.
Подключение к собственному VPN-серверу
Теперь вы закончили с самой сложной частью — настройкой VPN-сервера. Дальше процесс несколько схож с использованием коммерческого VPN-провайдера.
- Если вы установили VPN-сервер в интернете с помощью Algo, следуйте их инструкциям для подключения с помощью ваших устройств. Обычно это просто — установить приложение и отсканировать QR-код.
- После настройки сервера выполните команду
/usr/bin/python -mSimpleHTTPServer 8080
Далее в правом верхнем углу окна Cloud Shell нажмите Web Preview, затем Preview on Port 8080. Откроется новая вкладка со списком ссылок. Нажмите configs, затем IP-адрес вашего сервера, затем WireGuard, затем соответствующий файл .png. - Подключение к VPN вашего маршрутизатора зависит от используемого протокола туннелирования. Если вы выбрали OpenVPN, то вам понадобится программное обеспечение, установленное на вашем клиентском устройстве. Запомните имена пользователей и пароли, которые вы выбрали при настройке сервера.
Статья отличная! но у меня нечего не получилось.. Видимо руки не от туда растут В итоге пришлось заказать https://vpn………….. и вот теперь им пользуюсь.. вроде норм