- How to configure a WireGuard Android VPN Client
- Download the WireGuard App
- Configure your connection
- Add your client to your server
- Getting connected
- Test your connection
- It’s really that easy!
- Support future content
- Written By Jay
- Like this? Subscribe
- WireGuard
- Сервер wireguard.
- Подготовка и установка.
- Настройка сервера.
- Клиент wireguard.
- Пишем конфиг.
- Wireguard и десктоп клиент.
- Wireguard на android.
- Дополнительно.
- 21 thoughts on “ WireGuard ”
- Инструкция по настройке WireGuard® для всех основных платформ
- Скачайте VPN Unlimited!
- Как настроить WireGuard® соединение вручную?
- Скачайте VPN Unlimited прямо сейчас
- Как настроить WireGuard® с помощью KeepSolid VPN Unlimited?
- Попробуйте наш надежный VPN!
How to configure a WireGuard Android VPN Client
In this section of the Gain Flexibility & Increase Privacy with WireGuard VPN mini-course, we are going to be configuring WireGuard VPN on an Android device.
This is what it looks like:
Download the WireGuard App
Configure your connection
Once the app is downloaded, we need to add a new configuration file.
Rather than typing in everything manually, let’s use the QR code we generated from my other post to quickly import.
It will ask for camera permission, then you should be able to scan your code.
You’ll be prompted to confirm your action, but you should definitely press OK.
Add your client to your server
Your client is configured, but you need to authorize it on your server.
ON YOUR SERVER run this command:
IMPORTANT: You need to replace YOUR_CLIENT_PUBLIC_KEY and YOUR_CLIENT_VPN_IP
Getting connected
All you need to do now when you want to connect is open your WireGuard app and turn it on.
Test your connection
The easiest way to test your connection is visiting fast.com and dnsleaktest.com to make sure that everything is performing well.
It’s really that easy!
I hope you found this post to be helpful. If you have any questions, you can ask me in the comments below or ask me on Twitter. If you like content like this, sign up on our mailing list.
Support future content
Psst. any earnings that we make off of our book is being reinvested to bringing you more content . If you like what you read, consider getting our book or get sweet perks by becoming a sponsor.
Written By Jay
I’m a DevOps engineer who accidentally ended up in application & user-experience design. ?? I’m a husband and proud dog-dad who co-founded 521 Dimensions & Server Side Up. I like to having meaningful conversations with people who love building things. Please reach out and say hello!
Like this? Subscribe
We’re privacy advocates. We will never spam you and we only want to send you emails that you actually want to receive. One-click unsubscribes are instantly honored.
./footer
You’ve enjoyed another post by Server Side Up (hosted by Vultr).
Источник
WireGuard
WireGuard — инструмент для построения виртуальных сетей. Многие называют его этаким «VPN нового поколения». Он включен в состав ядра, начиная с версии 5.6.
Заметка обновлена 27.02.2020.
В рамках этой заметки, мы запустим в работу простой WireGuard VPN сервер и настроим подключение из Linux клиента к нему. Работать мы будем в CentOS 8, но инструкция вполне подойдёт и для других дистрибутивов, разве что пакетные менеджеры и репозитории будут отличаться.
Сервер wireguard.
Подготовка и установка.
1. Для начала, подключаем репозитории EPEL и RPMFusion Free. Cтавим доступные обновления и запускаем систему с новым ядром.
2. Далее, ставим на сервер всё необходимое и собираем модуль для Wireguard. После, убеждаемся, что модуль запущен в работу:
Вывод последней команды будет примерно таким:
Настройка сервера.
3. Генерируем ключи для клиента и сервера:
В результате, здесь мы получаем четыре файла — приватный и публичный ключ для сервера, и аналогичные для клиента, которым будем подключаться.
4. Создаём конфигурационный файл для сервера /etc/wireguard/wg0.conf со следующим содержимым:
Разумеется, вместо SERVER_PRIVATE_KEY и CLIENT_PUBLIC_KEY мы прописываем ключи, из созданных ранее файлов. Далее, комментарии по конфигу:
Address — адрес виртуального интерфейса wg0 на сервере.
ListenPort — порт, на котором будет работать VPN.
AllowedIPs — виртуальные IP клиентов, которые будут подключаться к нашему серверу.
При необходимости, мы можем так же указать параметры PostUp и PostDown — команды, которые будут выполнены при включении и отключении интерфейса.
5. Включаем форвардинг пакетов:
6. Настраиваем фаервол:
7. Запускаем сервис в работу:
Клиент wireguard.
Пишем конфиг.
8. На основе сделанной настройки, пишем простой конфиг для клиента. Этот конфиг подойдёт и для десктопа, и для, например, android приложения:
В данном случае, вместо CLIENT_PRIVATE_KEY и SERVER_PUBLIC_KEY мы опять же, подставляем ключи, сгенерированные ранее, а вместо SERVER_REAL_IP прописываем IP адрес нашего сервера, на котором установлен VPN.
Wireguard и десктоп клиент.
— Создаём директорию /etc/wireguard, а в ней сохраняем наш конфигурационный файл под именем wg0-client.conf.
— Пробуем подключиться к серверу с помощью wg-quick:
Проверяем подключение, и если всё сделано верно, то весь наш трафик теперь будет проходить через VPN сервер.
Для отключения от VPN просто выполняем команду wg-quick down wg0-client:
При необходимости, мы можем управлять сервисом через systemd:
Wireguard на android.
Для использоания wireguard на android, достаточно скачать клиента из Play Market или из F-Droid репозитория, а для подключения просто выполнить импорт подготовленного wg конфига для клиента.
И, собственно, всё. Вот так, очень просто (куда проще чем тот же OpenVPN) мы можем настроить защищённый VPN туннель и использовать его в повседневной работе.
Дополнительно.
Быстрая установка.
wireguard-manager — инструмент для быстрой установки и настройки Wireguard на сервере.
wireguard-install — ещё одна реализация быстрого установщика.
Использование iptables.
Для случаев, когда в системе не оказывается firewalld (либо его не хочется ставить по какой-то причине), можно настроить обработку подключений с помощью iptables, для этого, конфиг на сервере нужно модифицировать так:
Несколько клиентов.
Для работы с несколькими клиентами, каждому из них нужно сгенерировать свои открытый и закрытый ключи. Затем, в конфиге сервера указать каждого из них. Пример такого конфига:
Просто, для истории.
В дополнение — на видео ещё один пример быстрой настройки WireGuard, но уже вручную:
21 thoughts on “ WireGuard ”
Буквально с месяц назад пробовал, понравилось. НО всегда есть одно «но»:
Не могу повесить несколько клиентов на один интерфейс сервера, работает по принципу «кто ПЕРВЫЙ встал того и тапки». остальные подключаются но с сетью не работают, даже сервер не пингуют, не говоря уже о том чтобы между собой по ssh гулять или ещё что. Может ты подскажешь как это исправить?
Хм, как появится время — протестирую это дело и отпишусь либо тут, либо как-то в отдельной заметке.
Так и не дошли руки?
Сам нашел косяк, у клиента в конфиге обязательно должна быть маска /32
Более производительный. На роутере где tinc загибался под 10 мегабитами, wireguard 80-90 давал.
Проблема в том, что он только UDP.
А почему это проблема?
Потому что в офисной сетке нашей например UDP вообще зарезан. А вот OpenVPN по TCP на 443-й порт прекрасно работает.
Возможно ли с помощью WireGuard создать VPN между
точкой с реальным IP адресом и точкой без реального IP адреса ( роутер+OpenWRT+3G/4G internet)? При этом требуется доступ к компьютерам, находящимся за роутером с OpenWRT.
как отключить логи?
Не получилось подключиться. Всё сделал по инструкции.
wg-quick up wg0-client
Warning: `/etc/wireguard/wg0-client.conf’ is world accessible
[#] ip link add wg0-client type wireguard
[#] wg setconf wg0-client /dev/fd/63
[#] ip -4 address add 10.8.0.2/32 dev wg0-client
[#] ip link set mtu 1420 up dev wg0-client
[#] mount `8.8.8.8′ /etc/resolv.conf
Error: ipv6: FIB table does not exist.
Dump terminated
[#] wg set wg0-client fwmark 51820
[#] ip -4 route add 0.0.0.0/0 dev wg0-client table 51820
[#] ip -4 rule add not fwmark 51820 table 51820
[#] ip -4 rule add table main suppress_prefixlength 0
Возможно неправильно указываю -> Endpoint = SERVER_REAL_IP:51820
Пробывал разные внешние сервисы, но не получилось.
Что не так? Где смотреть?
У WireGuard есть одна большая проблема — если по какой-то причине отваливается сервер, то клиент всё равно пытается посылать трафик в несуществующий тоннель. Для мобилки это даже хорошо — мы уверены в том, что наше соединение защищено. Но если я использую WireGuard для подключения удалённой точки, то даже3если на этой точке есть интернет, но нет коннекта с WireGuard сервером (например, инстанс на DO попал в чёрный список), то эта точка остаётся без связи вообще до тех пор, пока не подключится снова к WireGuard или кто-то там далеко на точке не остановить wireguard клиента.
Вы пробовали делать настройки, чтобы default gateway поднимался только после установления соединения?
Чтобы этого не произошло, достаточно настроить Kill Switch.
В конфиг клиента добавляем пару строк. Покажу на примере iptables в линукс:
[Interface]
Address = 10.8.0.2/32
PrivateKey = CLIENT_PRIVATE_KEY
DNS = 193.138.218.74
PostUp = iptables -I OUTPUT ! -o %i -m mark ! —mark $(wg show %i fwmark) -m addrtype ! —dst-type LOCAL -j REJECT && ip6tables -I OUTPUT ! -o %i -m mark ! —mark $(wg show %i fwmark) -m addrtype ! —dst-type LOCAL -j REJECT
PreDown = iptables -D OUTPUT ! -o %i -m mark ! —mark $(wg show %i fwmark) -m addrtype ! —dst-type LOCAL -j REJECT && ip6tables -D OUTPUT ! -o %i -m mark ! —mark $(wg show %i fwmark) -m addrtype ! —dst-type LOCAL -j REJECT
[Peer]
PublicKey = SERVER_PUBLIC_KEY
Endpoint = SERVER_REAL_IP:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 21
—————————————-CONF—————————————-
Примечания к конфигу:
— DNS — для примера указан non-logged DNS-сервер Mullvad. Лучшим решением будет указание собственного DNS.
— PostUp и PostDown — вот тут настраиваем KillSwitch
— CLIENT_PRIVATE_KEY и SERVER_PUBLIC_KEY — мы опять же, подставляем ключи, сгенерированные ранее,
— SERVER_REAL_IP — прописываем IP адрес нашего сервера, на котором установлен WireGuard
А как написать конфиг если у меня на серваке серый адре, на роутере белый с пробросом протов на серый и клиентом является плашет с симкой?
Здравствуйте, есть VPS установил WG (192.168.2.1) так же есть debian 10 клиент 192.128.2.2 он же шлюз в локальной сети для обхода блокировок, соединение через WG с сервером установлено, как сделать так что бы был доступ в локальную сеть 192.168.1.0/24 с сервера? Не могу разобраться с маршрутом
Здравствуйте, есть VPS установил WG (192.168.2.1) так же есть debian 10 клиент 192.128.2.2 он же шлюз (192.168.1.2) в локальной сети для обхода блокировок, соединение через WG с сервером установлено, как сделать так что бы был доступ в локальную сеть 192.168.1.0/24 с сервера? Не могу разобраться с маршрутом
Столкнулся с не критичной проблемой:
Несмотря на то, что мой хостинг провайдер находится в Англии, а по тестам DNS leaks мне выделили сервер во Франции, поисковики считают что я в Украине..
Вот и думаю, где пошаманить, чтобы играться с определением геолокации
Ребят, подскажите, пожалуйста, как сконфигурировать route, чтобы клиент не маршрутизировал трафик до одного конкретного айпишника? То есть чтобы трафик до этого шел напрямую на клиенте.
в конфиге опенвпн на клиенте я просто добавлял
route 255.255.255.255 net_gateway
У меня ANR уведомление перестало выплывать! Отметьте у себя в качестве достоинства приложения!
Источник
Инструкция по настройке WireGuard® для всех основных платформ
WireGuard® – новый VPN протокол с открытым исходным кодом и высоко оптимизированной производительностью, который использует самые современные методы криптографии. Этот протокол был первоначально выпущен для ядра Linux, однако на данный момент он является кроссплатформенным и может быть установлен на любой операционной системе.
Больше информации о функциях WireGuard® VPN протокола вы можете найти в статье Что такое WireGuard®?
Скачайте VPN Unlimited!
Скачайте VPN Unlimited прямо сейчас и сделайте вашу работу в сети максимально безопасной, приватной и без каких-либо границ!
Мы составили для вас подробную инструкцию по настройке WireGuard® VPN подключения на Android устройствах.
Существует два способа настроить защищенное WireGuard® подключение. Выберите один из них и обеспечьте вашему устройсту конфиденциальность в сети:
Как настроить WireGuard® соединение вручную?
1. Прежде всего, вам необходимо создать файлы конфигурации WireGuard®. Для этого выполните несколько простых шагов, которые описаны в этой инструкции.
2. Загрузите приложение WireGuard® из Google Play.
3. Откройте приложение и нажмите на кнопку в правом нижнем углу.
4. Выберите метод импорта VPN конфигураций. Чтобы избежать возможных опечаток, мы рекомендуем использовать методы QR-code или Import from file.
Если вы предпочитаете метод Import from file , тогда вам необходимо будет выберать соответствующий конфигурационный файл, который был автоматически загружен на ваше устройство.
Если вы выбираете Scan from QR-code, вам достаточно просто отсканировать QR-код из вашего Личного кабинета, а затем ввести названиедля этого VPN соединения, например, VPNUnlimited.
Если вы хотите создать VPN соединение самостоятельно, выберите Create from scratch и введите данные из вашего Личного кабинета, как показано ниже:
Interface
Name: введите любое название для нового VPN соединения, например, VPNUnlimited
Private key: вставьте Private Key из Личного кабинета
Public key: скопируйте значение Public Key
Addresses: введите Address из вашего Личного кабинета
Listen port: вставьте значение Listen Port
DNS server: введите DNS из вашего Личного кабинета
Peer
Public key: скопируйте Public Key из Личного кабинета
Pre-shared key: вставьте значение Preshared Key
Persistent keepalive: установите 25 секунд
Endpoint: введите Endpoint из вашего Личного кабинета
Allowed IPs: вставьте значение Allowed IPs
5. Активируйте WireGuard® VPN соединение и начните безопасное и анонимное путешествие по сети.
Скачайте VPN Unlimited прямо сейчас
Защищите ваши данные и с легкостью обходите любые блокировки в сети с помощью нашего надежного VPN-решения!
Как настроить WireGuard® с помощью KeepSolid VPN Unlimited?
Примечание: Приложение VPN Unlimited поддерживает устройства с Android 4.4 и выше.
1. Запустите последнюю версию приложения KeepSolid VPN Unlimited на вашем Android устройстве.
2. Перейдите в Меню. Для этого нажмите на кнопку в левом верхнем углу главного экрана.
3. Откройте вкладку Настройки и выберите пункт Протоколы.
Убедитесь, что ваше VPN соединение не активно. Иначе оно автоматически переподключится с использованием выбранного VPN протокола.
4. Выберите WireGuard® VPN протокол и вернитесь на главный экран. Для этого нажмите на стрелку в верхнем левом углу.
5. Выберите подходящее расположение VPN сервера и наслаждайтесь безопасным подключением к сети.
Отлично! Теперь ваше VPN соединение работает с использованием WireGuard® протокола.
Если вам нужна инструкция по настройке VPN на других устройствах, проверьте страницу Инструкций или обратитесь в нашу службу поддержки по адресу [email protected] .
«WireGuard» является зарегистрированным товарным знаком Джейсона А. Доненфельда.
Попробуйте наш надежный VPN!
Получите 7-дневный пробный период + 30-дневную гарантию возврата денег = 37 дней, чтобы все проверить!
Источник