19 votes

Comment faire pour que le VPN ne concerne qu'une seule application ?

Supposons que vous souhaitiez acheminer le trafic d'une seule application à travers un VPN.

(Parce que l'application ne dispose pas d'un support de cryptage approprié ou que le service à distance n'est disponible que sur un réseau coopératif).

Les autres activités, comme la navigation sur le web, doivent être effectuées via la connexion de données normale.

Comment configurer cela sur un appareil Android récent (>= Android 4.0) ?

Une motivation concrète : Malheureusement, un certain nombre de fournisseurs de passerelles VoIP n'assurent pas le cryptage des données (voix et signalisation) - l'utilisation d'un VPN est donc nécessaire (au moins en cas de connexion via WLAN). Un fournisseur (sipgate.de) fournit même son propre VPN (et aucune autre méthode de cryptage SIP/RTP).

0 votes

Des informations supplémentaires sur les applications que vous essayez spécifiquement de tunnelliser pourraient vous aider. Prennent-elles en charge SOCK5 Proxy ? Tunnel SSH peut être un bon début.

1 votes

@earthmeLon, les applications VoIP, les applications VoIP qui supportent SIP - cf. le dernier paragraphe de la question - par exemple CSimple.

10voto

1amtoo1337 Points 163

Le logiciel libre et gratuit OpenVPN pour Android L'application le prend en charge.

Dans la boîte de dialogue de configuration du profil, il y a un onglet "applications autorisées" qui vous permet de sélectionner une liste d'applications qui sont soit exclues soit exclues de l'utilisation du VPN établi :

  • Le VPN est utilisé pour toutes les applications mais exclut certaines d'entre elles.
  • Le VPN n'est utilisé que pour certaines applications" (sic)

La liste contient alors toutes les applications disponibles qui peuvent être sélectionnées/désélectionnées.

Cela ne nécessite pas d'appareil enraciné. Par exemple, il fonctionne parfaitement sur un appareil Nexus 5x avec Android 8.1 standard.

Un test simple est d'installer un autre navigateur comme Firefox, d'inclure un seul de Chrome et Firefox dans la liste et ensuite de changer de navigateur et de visiter https://wtfismyip.com dans les deux.

Un des pièges est que vous êtes sur un réseau à double pile IPv4+IPv6 mais que le VPN est uniquement IPv4. Dans ce cas, l'option "Bypass VPN for local networks" de l'onglet "Routing" doit être désactivée. Sinon, le trafic IPv6 circule en clair en dehors du VPN.

0voto

TK-421 Points 2848

Chaque application sur Android fonctionne sur un utilisateur différent, donc iptables devrait être capable de reconnaître l'application donnée en utilisant -m owner --uid-owner, MAIS. Comme beaucoup de choses dans Android, il n'y a pas d'interface utilisateur pour faire cela facilement. (comme il n'y a pas d'option à ce jour pour utiliser ext4 comme format pour la carte sd externe). Si vous avez quelques connaissances sur les tables de routage et iptables, vous pouvez essayer de suivre cette voie.

Une autre solution consiste à configurer le VPN pour qu'il achemine uniquement l'adresse IP de votre fournisseur de services Internet (et non la route par défaut). Il y a cependant un autre problème non lié - SIP n'aime pas NAT, donc vous pouvez avoir besoin de configurer un transfert de trafic sur votre serveur VPN.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X