Как в VPN только одно приложение?

13

Скажем, вы хотите направить трафик одного приложения через VPN.

(Поскольку приложению не хватает надлежащей поддержки шифрования или удаленная служба доступна только в совместной сети.)

Другие вещи, такие как просмотр веб-страниц, должны проходить через обычное соединение для передачи данных.

Как настроить это на последнем устройстве Android (> = Android 4.0)?

Конкретная мотивация: К сожалению, довольно много провайдеров VoIP-шлюзов не обеспечивают шифрование данных (голос и сигнализация), поэтому использование VPN необходимо (по крайней мере, при подключении через WLAN). Один провайдер (sipgate.de) даже предоставляет свой собственный VPN (и никаких других методов шифрования SIP / RTP).

maxschlepzig
источник
Может помочь дополнительная информация о том, какие приложения вы специально пытаетесь туннелировать. Они поддерживают SOCK5 Proxy? SSH Tunnel может быть хорошим началом.
earthmeLon
1
@earthmeLon, приложения VoIP, приложения VoIP, поддерживающие SIP - ср. последний абзац вопроса - например, CSimple.
maxschlepzig

Ответы:

6

Бесплатное приложение OpenVPN для Android с открытым исходным кодом поддерживает это.

В диалоговом окне конфигурации профиля есть вкладка «разрешенные приложения», которая позволяет вам выбрать список приложений, которые либо исключены, либо исключены из использования установленного VPN:

  • «VPN используется для всех приложений, кроме исключенных»
  • «VPN используется только для выбранных приложений» (sic)

Затем список содержит все доступные приложения, которые можно выбрать / отменить выбор.

Это не требует рутированного устройства. Например, он отлично работает на устройстве Nexus 5x со стандартным Android 8.1.

Простым тестом является установка другого браузера, такого как Firefox, включение в список только одного из Chrome и Firefox, а затем переключение между браузерами и посещение https://wtfismyip.com в обоих.

Одна ловушка - когда вы находитесь в сети с двумя стеками IPv4 + IPv6, но VPN - это только IPv4. В этом случае «Обход VPN для локальных сетей» на вкладке «Маршрутизация» должен быть отключен. В противном случае трафик IPv6 передается в незашифрованном виде, кроме VPN.

maxschlepzig
источник
0

Каждое приложение на Android работает от своего пользователя, поэтому iptables должен иметь возможность распознавать данное приложение, используя -m owner --uid-owner, НО. Как и многие другие вещи в Android, пользовательский интерфейс не может сделать это легко. (как нет возможности использовать ext4 в качестве формата для внешней SD-карты). Если у вас есть знания о таблицах маршрутизации и iptables, попробуйте пойти по этому пути.

Другой способ - настроить VPN для маршрутизации через него только ip-адреса вашего провайдера sip (не по умолчанию). Существует, однако, другая не связанная с этим проблема - SIP не нравится NAT, поэтому вам может потребоваться настроить переадресацию трафика на вашем VPN-сервере.

Yt Comment
источник
-3

Попробуйте использовать более старый Интернет Hola Better, а не Hola Free VPN, он дает вам право выбирать только приложения для услуг VPN.

parindonga
источник
1
Можете ли вы уточнить, что это за приложения "Hola", дать ссылку на конкретное приложение, которое вы рекомендуете, и дать инструкции о том, как пользователь может использовать его для решения своей проблемы?
TurboFool