Настройка wireguard для андроид

Свой WireGuard VPN за 10 минут на ПК и Android

Настройка WireGuard VPN-сервера

Добавляем unstable репозиторий в пакетный менеджер apt. Меняем приоритет для unstable пакетов. Делаем обновления ОС и устанавливаем пакет wireguard.

Но могут возникнуть проблемы типу не хватает открытого pgp ключа:

Не паникуем и просто импортируем его командой:

И как мы видим, ошибка ушла:

Если нет модуля ядра, ставим и его

apt-get install wireguard-dkms wireguard-tools linux-headers-$(uname -r)

Как только все будет готово, проверяем, что модуль загружен:

modprobe wireguard && lsmod | grep wireguard
wireguard 225280 0
ip6_udp_tunnel 16384 1 wireguard
udp_tunnel 16384 1 wireguard

Создаем открытый и закрытый ключи для сервера и для клиента.

/wireguard
umask 077
wg genkey | tee server_private_key | wg pubkey > server_public_key
wg genkey | tee client_private_key | wg pubkey > client_public_key

В результате, у нас будет создано четыре файла:

Включаємо форвардинг в sysctl.conf:

nano /etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p

Создаем директорию / etc / wireguard, а в ней конфигурационный файл /etc/wireguard/wg0.conf следующего содержания:

Разумеется, вместо SERVER_PRIVATE_KEY и CLIENT_PUBLIC_KEY мы прописываем ключи, которые были созданы ранее файлов. Далее, комментарии по конфиге:
Address — адрес виртуального интерфейса wg0 на сервере.
PostUp и PostDown — команды, которые будут выполнены при включении и отключении интерфейса.
ListenPort — порт, на котором будет работать VPN.
AllowedIPs — виртуальные IP клиентов, которые будут подключаться к нашему серверу.

Сохраняем изменения, делаем файл доступен только для root, включаем и запускаем сервис:

chmod 600 /etc/wireguard/wg0.conf
systemctl enable wg-quick@wg0.service
systemctl restart wg-quick@wg0.service

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

Добавьте репозиторий Wireguard в ваш список источников. Затем Apt автоматически обновит кэш пакета.

sudo add-apt-repository ppa:wireguard/wireguard

Установите Wireguard. Пакет установит всю необходимую зависимость.
Bash:

Переходим в директорию / etc / wireguard, а в ней создаем конфигурационный файл /etc/wireguard/wg0-client.conf следующего содержания:

В данном случае, вместо CLIENT_PRIVATE_KEY и SERVER_PUBLIC_KEY мы опять же, подставляем ключи, сгенерированные ранее, а вместо SERVER_REAL_IP прописываем IP адрес нашего сервера, на котором установлен VPN.

Сохраняем файл, и пробуем подключиться командой wg-quick up wg0-client:

Проверяем подключение, и если все сделано правильно, то весь наш трафик теперь будет проходить через VPN сервер.

Для отключения от VPN просто выполняем команду wg-quick down wg0-client:

При необходимости, мы можем управлять сервисом через systemd:

Источник

VPN на Wireguard для полных новичков

Это подробная инструкция по настройке личного VPN на протоколе Wireguard, чтобы обходить блокировки Роскомнадзора и защищаться от хакеров в чужих Wi-Fi с компьютеров и телефонов. По шагам, с картинками, для самых маленьких.

Если вы в России, у вас наверняка не работает LinkedIn или тормозит Twitter, а в месте с ним и половина интернета. VPN поможет нивелировать вредительство провайдеров и государственных органов. Кроме того, в общедоступных Wi-Fi точках, к которым вы подключаетесь в кафе, могут сидеть мамкины хакеры, которые перехватывают трафик и могут украсть у вас данные или подсунуть вирус. Достаточно включить VPN, и ваш трафик станет для таких вредителей недоступен.

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

Обычно VPN-сервисы продают аккаунты с ограничением на одновременное количество пользователей. Тот же Astrill, популярный в Китае, не позволяет подключаться больше чем с трёх устройств одновременно, при этом в месяц их VPN стоит от $10. Со своим сервером вы можете легко создать 10-20 пользователей и раздать их всем своим друзьям и знакомым: даже самый дешёвый VPS за $5 в месяц справится с такой нагрузкой.

Конечно, у платных VPN есть свои плюсы, например быстрое переключение между локациями (чтобы сменить сервер с Германии на США, например), особо продвинутые средства обхода блокировок и тому подобное. К счастью, в России блокировки осуществляются довольно просто, и для их обхода такие сервисы избыточны.

Вам понадобится VPS — самый дешёвый хостинг в стране, где блокировок нет. Мои рекомендации:

  • Vultr
    от $3.5 в месяц, при регистрации по рефералке дадут $100 на месяц.
  • DigitalOcean
    от $5 в месяц, по рефералке дадут $100 на два месяца.
  • Linode
    от $5 в месяц, по рефералке ничего не дают, зато считают использование по часам — можно экспериментировать за гроши.

Или любой другой сервер на Ubuntu за пределами России, к которому у вас есть root-доступ.

За каждого нового клиента на VPS по ссылкам, которые я указал вначале, мне перепадает несколько долларов. Этого как раз хватает на оплату хостинга для этого блога. Если вы зарегаетесь через мои ссылки — мне будет приятно.

Шаг 1 — Запустите VPS

Нужен самый простой сервер на Ubuntu 20.04 или новее.

  1. Зарегистрируйтесь
  2. Перейдите на страницу Products
  3. Products -> Deploy -> Instances -> New York (NJ) -> Ubuntu 20.04 -> 10 GB SSD $3.5/month ->Deploy Now
  4. Дождитесь запуска сервера
  5. На главной странице найдите сервер в списке
  6. Три точки -> Server details
  7. Запишите IP, логин и пароль
    1. Зарегистрируйтесь
    2. Перейдите на страницу Droplets
    3. Create -> Droplets -> Ubuntu 20.04 -> Basic -> Regular Intel with SSD -> $5/mo -> Amsterdam (или любой другой, кроме Singapore) -> Password (придумайте длинный пароль) ->Create Droplet
    4. Снова перейдите на страницу Droplets и найдите там IP-адрес вашего сервера
    1. Зарегистрируйтесь
    2. Перейдите на страницу Linodes
    3. Images — Ubuntu 20.04 LTS -> Region — Frankfurt, DE -> Linode Plan — Shared CPUs Nanode 1GB -> Root Password (придумайте длинный пароль) ->Create

    4. Найдите IP-адрес вашего сервера

    Шаг 2 — Подключитесь к VPS

    1. Скачайте и запустите Putty (для Windows)
    2. В поле Host Name введите root@xxx.xxx.xxx.xxx (вместо xxx — IP-адрес вашего сервера из предыдущего шага),
      Port 22
      Connection type: SSH
      и нажмите Open
    3. Увидев предупреждение PuTTY Security Alert о новом ключе, нажмите Да
    4. Введите пароль от root вашего сервера (который вы создали на этапе создания VPS)
      * при вводе пароля на клавиатуре вы не увидите символов на экране, просто вводите вслепую и нажмите Enter
      * чтобы вставить пароль, вместо сочетания Ctrl-V используйте одно нажатие правой кнопкой мыши — ничего не произойдёт, но пароль вставится; после этого нажмите Enter
    5. Вы подключились к серверу

    Шаг 3 — Установите Wireguard

    Мы воспользуемся готовым скриптом от доброго человека.

    1. Скопируйте первую команду и вставьте её правой кнопкой мыши
      Она скачает полный скрипт на ваш сервер
      curl -O https://raw.githubusercontent.com/angristan/wireguard-install/master/wireguard-install.sh

    2. Нажмите Enter, вы увидите, что скрипт скачался
    3. Скопируйте вторую строчку скрипта
      Она даст скрипту нужные права
      chmod +x wireguard-install.sh
    4. Нажмите Enter, скрипт получит нужные права.
    5. Вставьте последнюю команду, которая запустит скрипт, и нажмите Enter
      ./wireguard-install.sh
    6. В консоли по очереди будут появляться вопросы, в которых уже прописаны ответы — просто нажимайте Enter, пока не увиите надпись Press any key to continue…

    На этом этапе у вас есть установленный и работающий сервер WireGuard. Теперь нужно создать учётные записи для подключения с компьютера и телефона.

    Шаг 4 — Создайте учётные записи

    Сразу после установки WireGuard в консоли начнётся процесс создания учётной записи.

    1. Tell me a name for the client
      Введите произвольное имя для учётной записи. Например, «Vasya», «iPhone» или (как на скриншоте) — «wtigga_vpn», и нажмите Enter
    2. На все остальные вопросы в консоли нажимайте Enter, пока в консоли не появится QR-код
    3. Сделайте скриншот этого QR-кода и сохраните, он пригодится для быстрого подключения со смартфона

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

    1. Найдите строку с адресом файла конфигурации сразу под QR-кодом, в моём случае она выглядит так:
      It is also available in /root/wg0-client-wtigga_vpn.conf
    2. Наберите команду nano, а затем после пробела напишите адрес к этому файлу, в моём случае это:
      nano /root/wg0-client-wtigga_vpn.conf
    3. В консоли откроется файл с конфигурацией. Скопируйте весь текст из этого файла в любой текстовый файл на своём компьютере, и сохраните.

    Шаг 4.1 — Ещё одна учётная запись

    Лучше давать каждому пользователю по учётной записи, чтобы при необходимости можно было точечно её отключить.

    Чтобы добавить ещё одного пользователя, снова введите команду
    ./wireguard-install.sh

    Скрипт спросит, что именно сделать. Введите единицу (Add a new user), нажмите Enter и вы снова увидите процесс создания нового пользователя.

    Шаг 5 — Подключение к VPN

    Windows / Mac

    1. Скачайте официальный клиент, установите и запустите
    2. В левом нижнем углу Добавить туннель -> Добавить пустой туннель
    3. Введите название, а ниже вместо имеющегося текста вставьте тот, что сохранили в консоли из config-файла, и нажмите Сохранить
    4. Нажмите кнопку Подключить
    5. …И вы в интернете без блокировок!

    Android / iOS

    1. Установите официальное приложение для Android (APK) или iOS
    2. Запустите, выберите (+) и Сканировать QR-Код
    3. Отсканируйте код, который вы заскриншотили в консоли
    4. Назовите его любым именем и нажмите Создать туннель
    5. Теперь нажмите на переключатель напротив вновь сохранённого туннеля, и вы попадёте в интернет без блокировок.

    Послесловие

    От чего не защитит VPN

    Не используйте такой VPN для скачивания торрентов, продажи наркотиков или распространения детской порнографии. Вы оплачиваете VPS со своей банковской карты, а это значит, что для хостинга (Vult, DigitalOcean и других) вы не являетесь анонимом. И если полиция условной Германии будет расследовать уголовное дело, в котором фигурирует ваш VPN, то ваше имя там всплывёт.

    Именно по этой причине нужно делать отдельные учётные записи WireGuard для каждого пользователя, и никогда не выкладывать эти учётки в открытый доступ, иначе вам возможно придётся отвечать за действия какого-то анонима из интернета.

    И, разумеется, VPN не сделает вас анонимным, если вы заходите в социальные сети под учёткой с вашим настоящим именем.

    Источник

    Как настроить WireGuard, ваш собственный VPN нового века

    Напоминаем, что все действия, описанные в статье, пользователь делает на свой страх и риск. Материал приведен исключительно в ознакомительных целях. Если же вы собираетесь воспроизводить действия, описанные ниже, настоятельно советуем внимательно прочитать статью до конца хотя бы один раз. Редакция 3DNews не несет никакой ответственности за любые возможные последствия.

    ⇡#Что такое WireGuard и зачем он нужен?

    WireGuard — это современный протокол для организации VPN, написанный с нуля, бесплатный и с открытыми исходниками. В отличие от «мастодонтов» вроде OpenVPN или IPSec, он намного проще и легче. Это касается и скорости (пере)подключения, и производительности, и требований к ресурсам, и процесса настройки, и объёма кода. Недавно было объявлено, что WireGuard войдёт в состав будущих ядер Linux, а впоследствии попадёт и во все популярные дистрибутивы, что косвенно указывает на зрелость этого решения.

    Как и было заявлено в анонсе, мы рассматриваем сценарий защиты подключения к публичным и другим недоверенным сетям. Естественно, этим использование WireGuard не ограничивается. В качестве примера рассмотрим настройку клиентов и сервера (правда, в данном случае это условные понятия — в силу специфики протокола), работающего в облаке и на домашнем роутере Keenetic. Как показывает практика, многие публичные VPN-сервисы не отличаются щепетильностью в отношении данных клиентов, поэтому всегда лучше иметь что-то своё, подконтрольное только пользователю. В нашем случае мы рассматриваем установку и настройку WireGuard, используя для этого компьютер на Windows и облачную виртуальную машину на Ubuntu.

    Нам понадобится полный набор PuTTY, так что лучше скачать сразу MSI-пакет с инсталлятором (доступен по предыдущей ссылке), который всё установит и создаст новую группу в главном меню. Там нам нужна утилита PuTTYgen. После запуска генерируем новую пару ключей с настройками по умолчанию (RSA-2048), нажав кнопку Generate и поводив с полминуты мышкой в окне утилиты. Осталось заполнить несколько полей: в Key comment можно ввести название ключа в качестве напоминания, а в Key passphrase и Confirm passphrase ввести один и тот же пароль.

    Пароль этот ещё пригодится, так что его надо запомнить или сохранить в надёжном месте. Далее в PuTTYgen сохраняем по отдельности приватный (Save private key, файл .ppk) и публичный (Save public key) ключи. Если планируется использовать несколько облачных провайдеров, то для каждого из них, а лучше и для каждого сервера, использовать собственные ключи.

    ⇡#Настройка сервера Vscale

    Vscale — российский облачный провайдер, имеющий собственные площадки в Москве и Санкт-Петербурге и предлагающий неплохие конфигурации по низким ценам. Самый дешёвый сервер, мощностей которого вполне достаточно для наших задач, обойдётся в 200 руб./месяц. Хранение снапшота стоит ещё 40 руб./месяц. И его тоже можно перенести из одного региона в другой. Зато никаких ограничений по трафику нет.

    Специально для читателей 3DNews Vscale подготовила промокод 3DNEWS500, чтобы можно было ознакомиться со всеми возможностями сервиса. После регистрации надо пополнить баланс хотя бы на 100 рублей или привязать банковскую карту. Затем промокод надо активировать на этой странице. Код будет действовать до 23:59:59 18.02.2020.

    Интерфейс сервиса доступен на русском языке. Разобраться в нём просто, так что коротко опишем основные этапы. Для работы первым делом нужно в настройках аккаунта добавить публичный SSH-ключ, полученный в PuTTYgen. Затем в разделе серверов создать новый сервер с ОС Ubuntu 18.04, указав нужный регион, тариф и ключ. В течение минуты сервер будет готов и запущен.

    Отдельного SSH-клиента для доступа к командной строке не требуется, так как Vscale предоставляет веб-консоль. Для входа вводим логин root и нажимаем Enter, далее по одной вводим нижеприведённые команды и на всё соглашаемся, нажимая Enter:

    Пара замечаний на случай использования других облачных провайдеров. Во-первых, для Ubuntu 19.10 и более свежих версий ОС добавлять ppa не надо, достаточно будет первых двух команд. Во-вторых, доступ к командной строке возможен с помощью PuTTY. В поле Host Name надо ввести IP-адрес сервера, а в разделе Connection → SSH → Auth — путь до приватного ppk-ключа. Логин root, а пароль тот, что был указан при создании ключа (Key passphrase). Для удобства можно сохранить сессию (Save). По нажатии кнопки Open откроется окно консоли, при первом запуске предваряемое уведомлением о безопасности, с которым надо согласиться.

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

    ⇡#Настройка VPN-сервера WireGuard

    Для настройки сервера WireGuard не будем мудрствовать лукаво, а воспользуемся открытым решением easy-wg-quick. Данный скрипт автоматически формирует файлы конфигурации и позволяет легко манипулировать настройками. Предварительно надо установить сам wireguard и некоторые дополнительные утилиты. В веб-консоли Vscale или в PuTTY вводим следующие команды, нажимая Enter после каждой:

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

    Чтобы добавить настройки ещё для одного клиента (ноутбука, например), надо ещё раз выполнить эту же команду, указав имя нового профиля:

    Например, для имени профиля win10 будет создан соответствующий файл wgclient_win10.conf. Его содержимое можно просмотреть командой cat, что пригодится при настройке клиента WireGuard в будущем.

    После добавления всех нужных профилей осталось лишь добавить сервер WireGuard в автозапуск и включить его:

    Для просмотра текущих подключений используйте эту команду:

    ⇡#Настройка VPN-клиента WireGuard

    Клиенты для Windows, Android, iOS и других ОС можно скачать на сайте WireGuard. С мобильными версиями всё просто — достаточно отсканировать QR-код. Или же, как и для всех остальных клиентов, вручную скопировать настройки из файлов wgclient_*.conf. Из дополнительных опций там есть только возможность исключить доступ через VPN для выбранных пользователем приложений: Excluded Applications в настройках профиля.

    В случае Windows-клиента в меню левой нижней кнопки надо выбрать Add empty tunnel, вставить в новом окне всё содержимое conf-файла, указать имя профиля (Name). Опционально можно включить функцию kill-switch для блокировки любого трафика вне VPN-подключения. Наконец, надо сохранить (Save) и активировать (Activate) соединение. Для проверки корректности подключения проще всего зайти на какой-нибудь сайт, определяющий текущий внешний IP-адрес.

    В актуальных моделях роутеров Keenetic с прошивкой версии 3.3 или старше также появилась поддержка VPN-подключений WireGuard — нужно установить одноимённый компонент. Чтобы импортировать настройки соединения, нужно сохранить содержимое файла wgclient_*.conf (см. выше) в текстовый документ, а затем в разделе «Другие подключения» загрузить параметры из этого файла. Роутер создаст на их основе новое подключение, которое нужно активировать переключателем в левой части списка.

    Для корректной работы надо сделать несколько небольших изменений (кстати, после каждого действия не забывайте нажимать кнопку «Сохранить» в нижней части веб-интерфейса). Во-первых, включить галочку «Использовать для входа в Интернет». Во-вторых, поле «Разрешенные подсети» привести к виду 0.0.0.0/0. В-третьих, в разделе «Приоритеты подключений» перетащить свежесозданное подключение выше всех остальных.

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

    Обратите внимание, что для каждого клиента нужно будет сгенерировать и скопировать собственный conf-файл. Если на предыдущем этапе вы настроили DDNS-клиент на сервере, то в разделе Endpoint у всех клиентов надо будет прописать DDNS-имя вместо IP-адреса.

    ⇡#Настройка WireGuard для Keenetic: сервер и мобильный клиент

    В самом начале мы уже упоминали, что принципиального различия между сервером и клиентом в случае WireGuard нет. И раз уже поддержка этого протокола доступна в прошивке, то можно настроить подключение клиентов к роутеру. В текущей версии не все настройки вынесены в веб-интерфейс, но ничего сложного всё равно нет. Единственное требование — наличие «белого» внешнего IP-адреса, пусть даже динамического (в этом случае поможет DDNS).

    В разделе «Другие подключения» в секции WireGuard нужно добавить новое подключение. Указываем имя (любое) и ставим галочку «Генерация ключей» (Generate a random key pair). В поле «Адрес» надо ввести любой подходящий адрес из частного диапазона, но такой, чтобы он не пересекался с другими сетями на самом роутере. В качестве примера используем 10.11.12.1/24. Номер порта можно указать произвольный, лишь бы он не блокировался провайдером и не совпадал с уже открытыми портами для других сервисов. В нашем примере это 55555. Наконец, в поле DNS надо указать адрес любого публичного DNS-сервера.

    Следующий этап — добавление пиров (клиентов) соответствующей кнопкой. Имя указываем любое, а в поле «Разрешённые подсети» вводим 0.0.0.0/0. Теперь открываем на смартфоне мобильное приложение WireGuard и добавляем новое подключение — Create from scratch. В разделе Interface указываем имя (любое) и жмём кнопку Generate. Содержимое поля Public Key копируем и вставляем в настройках пира на роутере в поле «Публичный ключ». В поле Addresses указываем частный IP-адрес из той же подсети, что и для роутера. В нашем примере у него был 10.11.12.1/24, так что для клиента возьмём просто следующий: 10.11.12.2/24. DNS опять же любой публичный.

    В разделе Peers в поле Public keys копируем содержимое поля «Публичный ключ» роутера, в Allowed IPs вводим 0.0.0.0/0, а в Endpoint вводим внешний IP-адрес роутера (или DDNS-имя) и порт через двоеточие, то есть для нашего примера должна получиться конструкция вида xx.xx.xx.xx:55555. Опционально можно включить функцию поддержки активности подключения, указав время в секундах в поле Persistent keepalive на клиенте и в поле «Проверка активности» в параметрах пира на роутере. Обычно достаточно интервала от 3 до 30 секунд. Для остальных клиентов придётся повторить эту же процедуру добавления новых пиров.

    Но это ещё не всё. После добавления пиров необходимо разрешить им доступ в локальную сеть и в Интернет. В разделе «Межсетевой экран» надо найти WireGuard-подключение — ориентируйтесь по имени, оно может быть в выпадающем меню сверху — и завести для него новое разрешающее правило (см. скриншот выше). Также надо будет подключиться к роутеру по telnet с помощью PuTTY и ввести несколько команд. Адрес по умолчанию my.keenetic.net, логин и пароль те же, что для доступа к веб-интерфейсу, команды приведены ниже:

    Наконец, после всех этих действий надо активировать WireGuard-соединение. Если всё прошло успешно, то после подключения клиента напротив пира будет гореть зелёный кружочек и показываться статистика по трафику. Только учтите, что производительность роутера всё-таки намного меньше, чем у любого облачного сервера. Так что приличную скорость соединения он обеспечит ценой нагрузки на CPU маршрутизатора, что может повлиять на работу других сервисов.

    Напоследок напомним «народную» мудрость: на VPN надейся, а сам не плошай. Проще говоря, надо всегда соблюдать осторожность и цифровую гигиену. К совсем уж подозрительным сетям и вовсе подключаться не надо, да и про базовые правила забывать не стоит. Их не так уж много: вовремя ставить обновления ОС и ПО, использовать двухфакторную аутентификацию, тщательно выбирать используемые программы, проверять разумность запросов ПО на доступ к различным ресурсам устройства, обзавестись современным антивирусом. Всё это касается и смартфонов, и планшетов, и ноутбуков, и десктопов.

    Источник

    Читайте также:  Как использовать андроид как wifi адаптер для пк
Оцените статью