Бесплатный VPN-сервер на Oracle Cloud Free Tier: пошаговая настройка 2026
Освойте установку персонального VPN на Oracle Cloud Free Tier с нуля за 1–2 часа. Подробная инструкция для начинающих: регистрация, сеть, сервер, WireGuard, клиенты, тесты, устранение ошибок. Итог — быстрый и безопасный VPN без абонплаты.
Содержание статьи
- Введение
- Предварительная подготовка
- Базовые понятия
- Шаг 1: регистрация в oracle cloud free tier и подготовка аккаунта
- Шаг 2: создание сети vcn, подсети, маршрутов и правил безопасности
- Шаг 3: создание always free виртуального сервера с ubuntu
- Шаг 4: базовая защита и подготовка системы
- Шаг 5: установка и настройка wireguard
- Шаг 6: добавление клиентов, генерация конфигов и подключение
- Проверка результата
- Типичные ошибки и решения
- Дополнительные возможности
- Faq
- Заключение
Введение
В этом пошаговом гайде вы развернете свой бесплатный VPN-сервер на Oracle Cloud Free Tier и подключите к нему телефон и компьютер. Мы пройдем весь путь: от регистрации в Oracle до установки WireGuard, выдачи конфигураций клиентам, проверки и устранения типовых ошибок. В результате вы получите персональный VPN с собственным публичным IP-адресом, который можно использовать для безопасного доступа в интернет, защиты в публичных Wi‑Fi и обхода блокировок.
Этот гайд для начинающих, но содержит продвинутые блоки: настройка IPv6, дополнительная защита сервера, альтернативные протоколы (OpenVPN, IKEv2), автоматизация и резервирование. Вам не нужно быть администратором: достаточно внимательно следовать инструкциям и вводить команды точно так, как написано.
Что нужно знать заранее: базовые навыки работы с браузером, копирование команд в терминал, понимание что такое логин и пароль. Опыт работы с Linux не обязателен — все команды приведены полностью.
Время: 60–120 минут. Большую часть занимает первичная регистрация, ожидание подтверждений и аккуратная настройка сети.
Предварительная подготовка
Перед стартом убедитесь, что у вас есть все необходимое.
Необходимые инструменты и доступы
- Личный email с доступом к почте.
- Мобильный телефон для подтверждений.
- Документы/карта для верификации Oracle аккаунта (требуется для активации Free Tier; списаний не будет при выборе Always Free).
- Компьютер с браузером и стабильным интернетом.
- SSH-клиент: на Windows — встроенный OpenSSH в PowerShell или любой терминал; на macOS/Linux — стандартный терминал.
Системные требования
- Поддерживаемый регион Oracle Cloud с доступной емкостью Free Tier.
- Для клиента: телефон на iOS или Android, и/или ПК на Windows/macOS/Linux для подключения к VPN.
Что нужно скачать или установить
- Приложение WireGuard на телефон и компьютер (скачаете позже, когда получите конфигурации).
- Опционально: генератор QR-кодов на сервере (пакет qrencode установим командой).
Резервные копии
Пока резервировать нечего. После настройки вы сохраните ключи и конфигурации клиентов. Мы покажем простой способ хранить их безопасно.
Базовые понятия
Ключевые термины
- VPN — защищенный туннель между вашим устройством и сервером. Шифрует трафик и маскирует реальный IP.
- WireGuard — современный быстрый VPN-протокол на базе UDP. Простой, безопасный, работает на телефонах и ПК.
- Oracle Cloud Free Tier — бесплатный уровень облака Oracle. Позволяет запускать небольшие виртуальные машины постоянно.
- VCN — виртуальная облачная сеть в Oracle. Аналог частной сети, где живут ваши серверы.
- NSG/Списки безопасности — правила файервола в облаке, определяют, какие порты открыты наружу.
- Публичный IP — внешний адрес сервера. Его будут использовать клиенты для подключения к VPN.
Принцип работы
Вы создаете виртуальную машину (сервер) в Oracle, назначаете ей публичный IP, настраиваете в ней WireGuard и разрешаете UDP-порт 51820 в сетевых политиках. Ваш телефон и компьютер получают конфигурации с ключами, после чего подключаются к серверу. Весь трафик идет через VPN-туннель, шифруется и выходит в интернет с IP сервера.
Что важно понимать заранее
- У вас должно быть два уровня файервола: системный (на сервере) и облачный (NSG/списки безопасности). Оба должны разрешить нужный порт.
- Free Tier ограничен по ресурсам. Выберите легковесный стек (WireGuard) и минимальный набор сервисов.
- Безопасность: используйте SSH-ключи вместо пароля, обновляйте систему и не открывайте лишние порты.
Шаг 1: Регистрация в Oracle Cloud Free Tier и подготовка аккаунта
Цель этапа
Создать учетную запись Oracle Cloud, включить доступ к Free Tier и войти в консоль.
Инструкция
- Откройте сайт Oracle Cloud и начните регистрацию на Free Tier. Укажите страну, email, пароль.
- Подтвердите email через код из письма.
- Заполните профиль: имя, адрес, телефон. Выберите регион по умолчанию. Совет: позже регион можно сменить при создании ресурсов; выбирайте тот, где чаще есть емкость Free Tier.
- Привяжите банковскую карту для верификации. Это стандартная проверка. Списание отсутствует при использовании Always Free.
- Дождитесь подтверждения и входа в консоль Oracle Cloud Console.
- В правом верхнем углу убедитесь, что выбран нужный регион (например, Frankfurt, Amsterdam, London). Если емкости нет, попробуйте другой регион.
- Создайте отдельный compartment (логический контейнер) для VPN: откройте меню навигации, раздел Identity and Security, затем Compartments, нажмите Create Compartment. Назовите его vpn и сохраните.
- Проверьте квоты Free Tier: откройте Governance and Administration, затем Limits, Quotas and Usage. Найдите Compute и убедитесь, что доступны формы Always Free (Ampere A1 или E2 Micro).
⚠️ Внимание: Если при создании инстанса вы видите сообщение о нехватке емкости, меняйте регион. Это частая ситуация в популярных регионах. Не сдавайтесь с первого раза.
Ожидаемый результат
Вы вошли в консоль Oracle Cloud, создали compartment vpn, выбрали рабочий регион, Free Tier доступен.
Возможные проблемы и их решения
- Нет подтверждения email — проверьте спам, повторите отправку.
- Карта не проходит верификацию — используйте другую карту или подождите пару часов.
- Free Tier недоступен — завершите верификацию профиля и повторите попытку через консоль.
✅ Проверка: В верхнем меню вы видите активный аккаунт, выбран регион, в списке compartments есть vpn.
Шаг 2: Создание сети VCN, подсети, маршрутов и правил безопасности
Цель этапа
Настроить виртуальную сеть, через которую сервер будет доступен из интернета и сможет выходить в сеть.
Инструкция
- Откройте меню Networking, выберите Virtual Cloud Networks. Нажмите Create VCN.
- Выберите Create VCN with Internet Connectivity (мастер создаст интернет-шлюз и таблицу маршрутов).
- Задайте имя: vcn-vpn, выберите compartment vpn, диапазон CIDR оставьте по умолчанию 10.0.0.0/16. Нажмите Create.
- Внутри VCN создайте публичную подсеть: зайдите в Subnets, Create Subnet, имя subnet-public, тип Public, CIDR 10.0.0.0/24. Выберите Availability Domain либо Regional (рекомендуется Regional).
- Проверьте, что к VCN привязан Internet Gateway и в Route Table есть маршрут 0.0.0.0/0 через этот шлюз.
- Создайте Network Security Group (NSG) для VPN: раздел Network Security Groups, Create. Имя nsg-vpn.
- Добавьте правила NSG: Ingress UDP 51820 из источника 0.0.0.0/0 (для WireGuard). Ingress TCP 22 из вашего IP или 0.0.0.0/0 для SSH (лучше ограничить вашим IP). Ingress UDP 500, 4500 (на будущее для IKEv2). Ingress UDP 1194 (на будущее для OpenVPN). Egress: Allow All 0.0.0.0/0.
- Если вы используете Security Lists вместо NSG, откройте Security List подсети и добавьте те же правила.
- Сохраните изменения. Убедитесь, что Public Subnet использует требуемые маршруты и NSG.
Совет: Предпочитайте NSG вместо списков безопасности: так удобнее назначать разные правила на разные инстансы без изменения настроек всей подсети.
⚠️ Внимание: Не открывайте лишние порты. Для базовой работы WireGuard нужен только UDP 51820 и SSH 22. Остальные порты можно добавить позже, если понадобятся.
Ожидаемый результат
У вас есть VCN с публичной подсетью, интернет-шлюзом, таблицей маршрутов и NSG, который разрешает UDP 51820 и SSH 22.
Возможные проблемы и их решения
- Нет интернета из подсети — проверьте, что маршрут 0.0.0.0/0 указывает на Internet Gateway.
- Порт не открыт — проверьте, что правило добавлено в NSG и NSG будет привязан к инстансу на шаге 3.
✅ Проверка: В карточке VCN видны Internet Gateway, Route Table с 0.0.0.0/0 и NSG с нужными правилами.
Шаг 3: Создание Always Free виртуального сервера с Ubuntu
Цель этапа
Запустить бесплатный виртуальный инстанс в Oracle Cloud с публичным IP-адресом и доступом по SSH.
Инструкция
- Откройте меню Compute, Instances. Нажмите Create Instance.
- Имя: vpn-wg, Compartment: vpn.
- Image: выберите Ubuntu 22.04 LTS (если планируете Ampere A1, убедитесь что ARM64 образ). Подойдет и Ubuntu 24.04 LTS, если доступен и вам знаком.
- Shape: нажмите Change shape. Ищите Always Free допустимые варианты: VM.Standard.A1.Flex (Ampere A1) или VM.Standard.E2.1.Micro. Для A1 укажите 1 OCPU и 1–2 GB RAM, для E2.micro — автоматически. Отметьте Always Free eligible.
- Networking: выберите VCN vcn-vpn и подсеть subnet-public. Отметьте Assign a public IPv4 address. Совет: Зарезервируйте публичный IP как Reserved Public IP после создания, чтобы он не менялся при перезапусках.
- Network Security Groups: выберите nsg-vpn.
- SSH keys: сгенерируйте пару ключей на своей машине (если нет): на Windows PowerShell выполните ssh-keygen, на macOS/Linux — тоже ssh-keygen. Загрузите публичный ключ в форму или вставьте содержимое файла ~/.ssh/id_rsa.pub или ~/.ssh/id_ed25519.pub.
- Boot volume: оставьте стандартный размер 50 GB или уменьшите до 20 GB (экономия не влияет на Free Tier, но хранение лишних данных не нужно).
- Нажмите Create. Дождитесь статуса Running.
- Скопируйте публичный IPv4 адрес инстанса из его карточки. Пример: 129.146.XX.XX.
- Подключитесь по SSH: на Windows откройте PowerShell: ssh ubuntu@ПУБЛИЧНЫЙ_IP. На macOS/Linux точно так же. Если вы используете нестандартный ключ, укажите путь: ssh -i ~/.ssh/id_ed25519 ubuntu@ПУБЛИЧНЫЙ_IP.
Совет: Если SSH-подключение не удается, временно разрешите порт 22 из любого источника в NSG, подключитесь, а затем сузьте правило до вашего IP.
Ожидаемый результат
Инстанс создан, запущен, у него есть публичный IPv4 и вы успешно вошли по SSH под пользователем ubuntu.
Возможные проблемы и их решения
- Access denied (publickey) — убедитесь, что загружен верный публичный ключ, и вы используете соответствующий приватный ключ при подключении.
- Connection timed out — проверьте, что инстанс Running, у него есть публичный IP, порт 22 разрешен в NSG/списке безопасности, и ваш провайдер не блокирует исходящие 22/TCP.
- Нет Always Free формы — смените регион и повторите.
✅ Проверка: Команда uname -a на сервере возвращает информацию о ядре Linux, а ip a показывает интерфейсы и адреса.
Шаг 4: Базовая защита и подготовка системы
Цель этапа
Обновить ОС, настроить пользователя, усилить SSH, установить базовый файервол и включить форвардинг пакетов.
Инструкция
- Обновите систему: sudo apt update && sudo apt -y upgrade. Дождитесь завершения.
- Создайте отдельного пользователя для администрирования (не обязательно, но полезно): sudo adduser admin, задайте пароль, затем sudo usermod -aG sudo admin.
- Скопируйте в новый аккаунт SSH-ключ: выполнив под ubuntu — sudo rsync -a ~/.ssh /home/admin/ && sudo chown -R admin:admin /home/admin/.ssh.
- Опционально: запретите вход по паролю, разрешив только ключи. Откройте SSH-конфиг: sudo nano /etc/ssh/sshd_config, установите PasswordAuthentication no, PermitRootLogin no, сохраните и примените: sudo systemctl reload ssh.
- Установите UFW (простой файервол): sudo apt -y install ufw. Разрешите SSH: sudo ufw allow 22/tcp.
- Пока не включайте UFW. Мы добавим правило для WireGuard позже и включим его тогда, чтобы не потерять доступ.
- Включите IP-переадресацию для будущего NAT: откройте sudo nano /etc/sysctl.conf, раскомментируйте или добавьте строки: net.ipv4.ip_forward=1 и при необходимости net.ipv6.conf.all.forwarding=1. Примените: sudo sysctl -p.
- Проверьте, что система на ARM64 (для Ampere A1) или AMD64 (для E2.micro) корректно определилась: uname -m вернет aarch64 или x86_64.
Совет: Если вы не уверены в редактировании конфигов, перед изменением делайте копию: sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak.
Ожидаемый результат
Система обновлена, второй админ-пользователь создан (опционально), SSH ужесточен, IP-форвардинг включен.
Возможные проблемы и их решения
- Потеряли доступ по SSH после правок — подключитесь через консоль серийного доступа в Oracle Compute, верните резервную копию конфига: sudo mv /etc/ssh/sshd_config.bak /etc/ssh/sshd_config && sudo systemctl restart ssh.
- Форвардинг не включился — проверьте вывод sysctl net.ipv4.ip_forward, значение должно быть 1.
✅ Проверка: Команда sysctl net.ipv4.ip_forward выводит net.ipv4.ip_forward = 1, SSH-сессия активна.
Шаг 5: Установка и настройка WireGuard
Цель этапа
Развернуть WireGuard-сервер, открыть нужные порты, настроить NAT и подготовить базовую конфигурацию для клиентов.
Инструкция
- Установите WireGuard: sudo apt -y install wireguard qrencode. Пакет qrencode нужен для генерации QR-кодов конфигов.
- Сгенерируйте ключи сервера: sudo umask 077; wg genkey | sudo tee /etc/wireguard/server.key | wg pubkey | sudo tee /etc/wireguard/server.pub. Посмотрите публичный ключ: sudo cat /etc/wireguard/server.pub. Сохраните его отдельно — пригодится для отладки.
- Выберите адресную сеть VPN. Рекомендуем 10.6.0.0/24 для IPv4 и fd42:42:42::/64 для IPv6 (опционально). Адрес сервера в туннеле: 10.6.0.1 и fd42:42:42::1.
- Создайте конфиг сервера: sudo nano /etc/wireguard/wg0.conf. Вставьте: [Interface] Address = 10.6.0.1/24 ListenPort = 51820 PrivateKey = ПОДСТАВЬТЕ_СОДЕРЖИМОЕ_/etc/wireguard/server.key PostUp = iptables -t nat -A POSTROUTING -s 10.6.0.0/24 -o eth0 -j MASQUERADE; iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT PostDown = iptables -t nat -D POSTROUTING -s 10.6.0.0/24 -o eth0 -j MASQUERADE; iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT. Если ваш интерфейс не eth0, определите его командой ip route get 1.1.1.1 и подставьте правильное имя (например, ens3).
- Откройте порт в UFW: sudo ufw allow 51820/udp. Разрешите и включите файервол: sudo ufw --force enable. Проверьте статус: sudo ufw status verbose. Вы увидите правила для 22/tcp и 51820/udp.
- Разрешите маршрутизацию через UFW: откройте sudo nano /etc/ufw/sysctl.conf, убедитесь в строке net/ipv4/ip_forward=1. Затем добавьте правила NAT в /etc/ufw/before.rules прямо перед блоком COMMIT таблицы *nat: вставьте *nat :POSTROUTING ACCEPT [0:0] -A POSTROUTING -s 10.6.0.0/24 -o eth0 -j MASQUERADE COMMIT. Замените eth0 на свой интерфейс. Примените: sudo ufw reload.
- Включите WireGuard: sudo systemctl enable --now wg-quick@wg0. Проверьте: sudo systemctl status wg-quick@wg0 — должен быть Active.
- Посмотрите состояние: sudo wg show. Интерфейс wg0 должен присутствовать, порт 51820 прослушивается.
Совет: Если предпочитаете nftables вместо iptables, используйте PostUp/PostDown с nft, но убедитесь, что UFW не конфликтует с nftables. Для начала проще оставить iptables, как показано.
⚠️ Внимание: Никогда не публикуйте приватный ключ сервера (/etc/wireguard/server.key). Он дает полный контроль над туннелем.
Ожидаемый результат
WireGuard запущен, порт 51820 открыт в UFW и в NSG, NAT настроен, интерфейс wg0 активен.
Возможные проблемы и их решения
- Служба не стартует — проверьте права на server.key (600), формат wg0.conf и имя внешнего интерфейса в правилах NAT.
- Порт закрыт — проверьте sudo ss -lunp | grep 51820, затем NSG и UFW статус.
- Нет интернета через туннель — проверьте правила MASQUERADE, IP-форвардинг и таблицу маршрутов.
✅ Проверка: Команда sudo wg show выводит интерфейс wg0 с ListenPort 51820, а curl ifconfig.me на сервере возвращает внешний IP инстанса (это просто тест общей связности).
Шаг 6: Добавление клиентов, генерация конфигов и подключение
Цель этапа
Создать конфигурации для телефона и компьютера, добавить их на сервер и подключиться к VPN.
Инструкция
- Определите публичный IP или доменное имя сервера. Возьмите IPv4 из карточки инстанса. Если вы резервировали адрес, он стабильный. Если нет — зарезервируйте в разделе IP Addresses и привяжите.
- Сгенерируйте ключи клиента №1 (например, для телефона): wg genkey | tee client1.key | wg pubkey | tee client1.pub. Скопируйте их в безопасное место.
- Определите адрес клиента в VPN-сети: 10.6.0.2/32. Для следующего клиента будет 10.6.0.3/32 и так далее.
- Добавьте клиента в конфиг сервера: sudo nano /etc/wireguard/wg0.conf и допишите в конец: [Peer] PublicKey = СОДЕРЖИМОЕ client1.pub AllowedIPs = 10.6.0.2/32. Сохраните и примените: sudo wg syncconf wg0 <(sudo wg-quick strip wg0) или просто перезапустите: sudo systemctl restart wg-quick@wg0.
- Создайте конфиг-файл для клиента: nano client1.conf. Вставьте: [Interface] PrivateKey = СОДЕРЖИМОЕ client1.key Address = 10.6.0.2/32 DNS = 1.1.1.1 [Peer] PublicKey = СОДЕРЖИМОЕ /etc/wireguard/server.pub AllowedIPs = 0.0.0.0/0 Endpoint = ПУБЛИЧНЫЙ_IP:51820 PersistentKeepalive = 25. Сохраните. Совет: Если вам нужен только доступ к корпоративной подсети, укажите нужный список в AllowedIPs, например 10.10.0.0/16, а не 0.0.0.0/0.
- Сгенерируйте QR-код для телефона: qrencode -t ansiutf8 < client1.conf и посмотрите в терминале. Или сохраните в PNG: qrencode -o client1.png < client1.conf.
- Установите приложение WireGuard на смартфон из магазина приложений, откройте, нажмите добавить туннель, выберите Сканировать QR-код, наведите камеру на QR из терминала или файл client1.png. Сохраните профиль.
- На ПК установите WireGuard-клиент, нажмите Импортировать из файла, выберите client1.conf. Активируйте туннель переключателем.
- Добавьте клиента №2 (например, ноутбук) аналогично: создайте пару ключей client2.key/client2.pub, адрес 10.6.0.3/32, внесите [Peer] в wg0.conf, сделайте client2.conf и импортируйте в приложение.
Совет: Для iOS и Android удобнее использовать QR. Для Windows/macOS/Linux — файл конфигурации.
Ожидаемый результат
Клиенты успешно подключаются к серверу WireGuard. На телефоне/ПК кнопка Активировать включает туннель, трафик уходит через VPN.
Возможные проблемы и их решения
- Handshake не происходит — проверьте правильность ключей, порт 51820/UDP в NSG и UFW, адрес Endpoint, а также что у клиента есть интернет.
- Подключается, но нет интернета — проверьте NAT MASQUERADE, форвардинг, и что AllowedIPs в клиенте равен 0.0.0.0/0 (для полного туннеля).
- Периодические обрывы — установите PersistentKeepalive = 25 у клиента и убедитесь, что провайдер не режет UDP.
✅ Проверка: На сервере выполните sudo wg show — в разделе peer видите свой клиент с последним handshake и счетчиком transfer. На клиенте откройте любой сайт и проверьте IP — он должен совпадать с IP сервера.
Проверка результата
Чек-лист
- Инстанс Oracle в статусе Running с публичным IP.
- VCN и подсеть настроены, маршрут 0.0.0.0/0 на Internet Gateway.
- NSG/список безопасности разрешает UDP 51820 и SSH 22.
- WireGuard запущен, wg0 активен.
- Клиенты подключаются, трафик идет через VPN.
Как протестировать
- На сервере: sudo wg show — есть latest handshake за последние минуты.
- На клиенте: откройте проверку IP. Должен отображаться IP сервера Oracle.
- Проверьте скорость. WireGuard обычно дает высокую пропускную способность даже на Free Tier.
Показатели успешного выполнения
- Подключение клиента происходит за 1–2 секунды, без ошибок.
- Счетчики трафика на сервере растут при загрузке страниц.
- Наблюдается стабильная работа в течение 10–15 минут без обрывов.
Типичные ошибки и решения
- Проблема: Клиент не подключается. Причина: Порт 51820 заблокирован в NSG или UFW. Решение: Проверьте правила NSG и команду sudo ufw status, откройте sudo ufw allow 51820/udp.
- Проблема: Есть подключение, но нет интернета. Причина: Нет NAT или отключен IP-форвардинг. Решение: Проверьте sysctl net.ipv4.ip_forward и правила MASQUERADE; перезапустите wg-quick.
- Проблема: Сервер не слушает порт. Причина: Синтаксическая ошибка в wg0.conf. Решение: Проверьте файл, исключите лишние пробелы и невалидные символы, пересоздайте через минимальный шаблон.
- Проблема: После включения UFW пропал доступ по SSH. Причина: Не разрешили 22/tcp до enable. Решение: На консоли инстанса выполните sudo ufw allow 22/tcp && sudo ufw reload.
- Проблема: Подключение падает через мобильную сеть. Причина: NAT у провайдера агрессивно закрывает UDP. Решение: Установите PersistentKeepalive=25, при необходимости попробуйте порт 53/udp или 443/udp (не забудьте изменить NSG и UFW).
- Проблема: Случайная смена публичного IP. Причина: Адрес не зарезервирован. Решение: Создайте Reserved Public IP в Oracle и привяжите к инстансу.
- Проблема: Нет доступности в конкретных странах. Причина: Геоблоки на стороне ресурсов. Решение: Поменяйте регион инстанса на нужный ближе к аудитории.
- Проблема: Низкая скорость. Причина: Дальний регион, перегрузка канала, слабый Wi‑Fi. Решение: Выберите ближний регион, тестируйте по кабелю или 5 GHz Wi‑Fi, исключите фоновые загрузки.
- Проблема: Ошибка прав доступа к ключам. Причина: Неверные разрешения. Решение: sudo chmod 600 /etc/wireguard/server.key, владельцем root.
- Проблема: Клиент не видит локальную сеть. Причина: Маршруты не добавлены. Решение: В AllowedIPs клиента добавьте подсети локалки, настройте соответствующие маршруты на сервере.
Дополнительные возможности
Продвинутые настройки безопасности
- Fail2ban для защиты SSH: sudo apt -y install fail2ban, настройте jail для sshd.
- Ограничение SSH по IP в NSG — оставьте только ваш домашний или офисный адрес.
- Смена порта SSH: в /etc/ssh/sshd_config установите нестандартный порт и обновите NSG/UFW.
IPv6
Если в вашем регионе Oracle есть IPv6, добавьте в [Interface] сервера Address = fd42:42:42::1/64, а в клиентах — персональные /128. В AllowedIPs добавьте ::/0 для полного IPv6-туннеля. Проверьте sysctl net.ipv6.conf.all.forwarding=1 и добавьте NAT66 только при необходимости — чаще достаточно маршрутизации без NAT.
Альтернативные протоколы
- OpenVPN: больше совместимости со старыми устройствами, но тяжелее. Установите openvpn, сгенерируйте серверный профиль, откройте порт 1194/udp. Не забудьте NAT и форвардинг.
- IKEv2 (strongSwan): родная поддержка в iOS/macOS/Windows, высокое качество, но сложнее выпуск сертификатов. Откройте UDP 500 и 4500, настройте strongSwan и профили клиентов.
Обфускация и обход DPI
Если в вашей сети жесткий DPI, можно перенести WireGuard на порт 443/udp или использовать UDP-обфускаторы. Некоторые клиенты поддерживают переименование порта и внешние туннели.
Собственный DNS и блокировка рекламы
Поставьте легкий DNS-релэй или Pi-hole на том же инстансе. Пропишите его адрес в DNS клиентов. Учтите потребление памяти.
Резервные копии и ключи
- Экспортируйте /etc/wireguard и сохраните в надежном месте: sudo tar czf wg-backup.tgz /etc/wireguard.
- Храните приватные ключи клиентов и сервера в менеджере паролей.
Автоматизация и инфраструктура как код
- cloud-init: добавьте user-data при создании инстанса, чтобы развернуть WireGuard автоматически.
- Terraform: опишите VCN, подсеть, NSG, инстанс и IP как код. Это ускорит восстановление и перенос между регионами.
Мониторинг
- Установите prometheus-node-exporter или легковесный netdata для графиков нагрузки (учтите ресурсы Free Tier).
- Периодически проверяйте systemctl status и логи journalctl -u wg-quick@wg0.
Совет: Назначьте календарную напоминалку на ежемесячную проверку обновлений: sudo apt update && sudo apt -y upgrade.
Совет: Если планируете несколько инстансов в разных регионах, используйте одинаковые правила NSG и шаблоны wg0.conf для унификации.
Альтернатива DIY, когда времени нет
Если требуется персональный VPN «здесь и сейчас», без развертывания в консоли и отладки, рассмотрите сервис vpn.how. Это не общий shared-доступ, а личный VPN-сервер с выделенным для вас IP. Поддерживаются разные протоколы — WireGuard, OpenVPN, IKEv2, L2TP, SSTP — выбираете под свою задачу. Доступна география серверов: Москва, Санкт‑Петербург, Амстердам, Франкфурт, Лондон, Нью‑Йорк, Сан‑Хосе, Чикаго, Сингапур, Сидней, Мадрид, Хельсинки, Стокгольм, Варшава, Копенгаген, Ставангер. Принимаются карты РФ (Tinkoff, Озон), СБП, USDT/BTC. Тарифы — от 490 ₽ за день и от 2490 ₽ в месяц, действуют скидки на длительные периоды. После оплаты сервер поднимается автоматически примерно за 5 минут, логов не ведется. Честно: DIY-подход дает максимальный контроль, но требует часов на настройку, мониторинг и резервирование; готовое решение оправдано, если важны скорость запуска и отсутствие возни с консолью.
FAQ
- Какой регион Oracle выбрать для лучшей скорости? — Ближайший к вам географически. Тестируйте пинг и пропускную способность. Для Европы часто подходят Франкфурт и Амстердам, для США — Нью‑Йорк или Сан‑Хосе.
- Можно ли сменить порт WireGuard? — Да. Измените ListenPort в wg0.conf, обновите NSG и UFW, поправьте Endpoint в конфиге клиентов.
- Поддерживается ли подключение нескольких клиентов одновременно? — Да. Для каждого создайте отдельные ключи, выдайте уникальный адрес /32, добавьте новый [Peer] на сервер.
- Можно ли частично направлять трафик через VPN? — Да. В AllowedIPs клиента укажите только нужные префиксы (например, корпоративные подсети). Остальное пойдет напрямую.
- Что делать, если пропал публичный IP? — Проверьте статус инстанса. Зарезервируйте адрес и привяжите его, чтобы избежать смены после рестартов.
- Как добавить DNS-over-HTTPS внутри туннеля? — Установите локальный резолвер, направьте его трафик через DoH/DoT. Пропишите его адрес в DNS клиентов.
- Есть ли смысл в IPv6? — Да, если ваши клиенты и провайдеры поддерживают IPv6. Это улучшит качество связи. Но учитывайте настройку маршрутизации и брандмауэра.
- Как удалить клиента? — Удалите его секцию [Peer] из wg0.conf и перезапустите сервис. Удалите конфиг на клиенте.
- Сколько клиентов выдержит Free Tier? — Зависит от нагрузки. Практически 5–20 одновременных клиентов с умеренным трафиком работают стабильно.
- Как полностью удалить WireGuard? — Остановите sudo systemctl disable --now wg-quick@wg0, удалите /etc/wireguard, снимите правила UFW и перезагрузите.
Заключение
Вы прошли полный путь — от регистрации в Oracle Cloud Free Tier до запуска быстрого и безопасного VPN на WireGuard. Мы создали виртуальную сеть и правила безопасности, подняли бесплатный инстанс, установили и настроили WireGuard, выдали конфиги и успешно подключили устройства. Теперь у вас персональный VPN с контролем на каждом уровне: от облачной сети до клиентских профилей. Дальше вы можете развивать проект: добавить IPv6, альтернативные протоколы, собственный DNS, мониторинг и резервное копирование конфигураций. Для масштабирования продумайте автоматизацию cloud-init или Terraform, чтобы быстро поднимать копии в других регионах и обеспечивать отказоустойчивость. Если иногда нужен быстрый запуск без консоли, помните про управляемые решения вроде vpn.how — они экономят время, но DIY-подход дает максимальную гибкость и самостоятельность. Удачи и безопасного интернета!