3. WireGuard client настройка на Android

У WireGuard есть одна большая проблема — если по какой-то причине отваливается сервер, то клиент всё равно пытается посылать трафик в несуществующий тоннель. Для мобилки это даже хорошо — мы уверены в том, что наше соединение защищено. Но если я использую WireGuard для подключения удалённой точки, то даже3если на этой точке есть интернет, но нет коннекта с WireGuard сервером (например, инстанс на DO попал в чёрный список), то эта точка остаётся без связи вообще до тех пор, пока не подключится снова к WireGuard или кто-то там далеко на точке не остановить wireguard клиента.

Вы пробовали делать настройки, чтобы default gateway поднимался только после установления соединения?

  1. Чтобы этого не произошло, достаточно настроить 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

 

В Google Play  НЕОБХОДИМО НАЙТИ  и установить WireGuard:

Wireguard android

Далее сгенерировать QR код из файла конфига  client.conf:

qrencode -t ansiutf8 <client.conf

Wireguard qrcode

В приложении для Android нажать  +  далее  Создать из QR-кода , подключиться:

провод android2

Проверить (если есть например termux) наличие нужного адаптера (в моем случае tun0):

ip -cal tun0

wg android ip a

Проверяем внешний IP:

curl https://ipinfo.io/ip

Подключение с клиента

Здесь все просто, можно запустить как службу:

systemctl перезапустить wg-quick @ client

Можно средствами  wg:

Потому что в офисной сетке нашей например UDP вообще зарезан. А вот OpenVPN по TCP на 443-й порт прекрасно работает.

Результат:

клиент wg-quick up 
[#] IP-ссылка добавить устройство защиты типа клиента 
[#] wg setconf client / dev / fd / 63 
[#] IP-адрес добавить 10.0.0.2/24 dev client 
[#] IP link set mtu 65456 up dev client 
[#] wg установить клиент fwmark 51820 
[#] ip -6 route add :: / 0 dev client table 51820 
[#] ip -6 rule add not fwmark 51820 table 51820 
[#] ip -6 правило добавить таблицу main suppress_prefixlength 0 
[#] ip -4 route add 0.0.0.0/0 dev client table 51820 
[#] ip -4 rule add not fwmark 51820 table 51820 
[#] ip -4 правило добавления таблицы main suppress_prefixlength 0

Просмотр текущего состояния можно посмотреть командой  wg:

Источник: https://sysadmin.pm/wireguard/

  • wg client android
  • 0 Users Found This Useful
這篇文章有幫助嗎?

相關文章

1. Установка и настройка VPN Wireguard топология Mesh

WireGuard ® - это чрезвычайно простой, но быстрый и современный VPN, в котором используется...

2. Установка VPN Wireguard на Windows server 2016

Установка VPN Wireguard на Windows server 2016  Загружаем с официального сайта клиент для...

4. WG VPN via docker

Установим и настроим Wireguard VPN на собственном vps сервере легко и просто с помощью docker,...

6. Проброс сервиса с приватного сервера на публичный через WireGuard

Переадресация портов WireGuard из Интернета!  Данный опус является частью...

5. Проброс подсети L2 через L3 VPN на Mikrotik

Проброс broadcast domain поверх L3 на Mikrotik!  Данный опус является частью...