8 votes

Comment partager la connexion VPN avec des appareils en point d'accès?

J'utilise un VPN sur mon Galaxy S8+ et je cherche un moyen de pouvoir partager ma connexion ExpressVPN via hotspot pour pouvoir connecter des appareils tels que la Xbox One et une Smart TV. Actuellement je ne peux pas utiliser un PC et mon routeur est nul donc mon téléphone est le dernier recours. Que puis-je faire? Quels sont quelques astuces?

1 votes

Doublons : 1, 2, 3

4voto

Irfan Latif Points 16863

Android ne redirige pas le trafic du hotspot à travers le réseau VPN autant que j'ai testé sur la ROM Pie (presque stock; les ROM personnalisées peuvent avoir des implémentations différentes ou des paramètres spécifiques). La raison est que l'API VPNService fonctionne dans le framework Java d'Android pour rediriger le trafic vers l'interface tun du VPN basée sur les UIDs (et / ou les SOcket MARKs) des applications. Alors que le partage de connexion fonctionne en code natif; dnsmasq est le serveur DNS (jusqu'à Pie) tandis que le reste du trafic est géré directement par le noyau. De plus, utiliser la même connexion Internet ou VPN pour plusieurs appareils peut violer les termes du contrat avec les fournisseurs de services. Donc, c'est laissé désactivé par défaut.

Une solution de contournement consiste à modifier la table de routage mais cela nécessite des droits root et c'est un peu complexe sur Android. Ceci fonctionne pour moi:

~# ip rule add iif wlan0 lookup table 5000
~# ip route add default dev tun0 table 5000
~# ip rule add to 192.168.43.0/24 lookup table 5001
~# ip route add default dev wlan0 table 5001
  • La première commande ajoute une règle au RPDB pour envoyer le trafic arrivant sur l'interface du hotspot (WiFi) vers la table 5000.
  • La deuxième commande ajoute une route à la table de routage 5000 pour envoyer tout le trafic sur l'interface tun0 c'est-à-dire celle utilisée par l'application VPN.
  • Les troisième et quatrième règles font l'inverse c'est-à-dire envoient le trafic provenant du VPN vers les appareils en partage de connexion.

Le pare-feu fonctionne au-dessus de la politique de routage. Les règles de transfert et le NAT source devraient déjà être définis avec le hotspot mais juste pour s'assurer:

~# echo -n 1 >/proc/sys/net/ipv4/ip_forward
~# iptables -I FORWARD -o wlan0 -i tun0 -j ACCEPT
~# iptables -I FORWARD -i wlan0 -o tun0 -j ACCEPT
~# iptables -t nat -I POSTROUTING -o tun0 -j MASQUERADE
  • Les trois premières commandes indiquent au noyau / pare-feu de transférer le trafic dans les deux sens entre les interfaces VPN et hotspot.
  • La quatrième commande définit SNAT c'est-à-dire suit le trafic du hotspot sortant de l'interface VPN et revenant.

Assurez-vous que les noms des interfaces et les adresses IP sont corrects sur votre appareil.

Il y a aussi VPN Hotspot mais je ne l'ai pas essayé. Pour les appareils non root, il existe des solutions basées sur le Wi-Fi Direct (adhoc) comme PdaNet qui nécessitent une configuration des deux côtés.

LIÉ: Comment utiliser un DNS privé sur Android Pie pour le partage de connexion?

1voto

tim Points 828

Une autre option serait d'utiliser un Raspberry Pi comme routeur avec un de ses ports USB connecté à votre téléphone avec la connexion internet basée sur VPN. Pour fournir internet à d'autres appareils, le port ethernet du Raspberry Pi peut se connecter à un routeur/commutateur/pont et/ou également, le wifi du Pi lui-même pourrait être utilisé pour le diffuser pour les appareils sans fil. Ou un point d'accès sans fil pourrait être ajouté au routeur attaché au Pi.

Voici une réponse pour utiliser un Raspberry Pi connecté à un téléphone pour permettre à son réseau mobile d'être fourni comme connexion internet à d'autres appareils:

Réponse à: Périphérique 4G LTE [USB Tethering] --> Raspberry Pi [Ethernet] --> Routeur, est-ce possible?

Cette réponse suppose que votre téléphone prendra en charge le partage de connexion USB et le VPN en même temps et que la connexion internet basée sur VPN peut être routée via cette connexion USB à l'hôte USB auquel votre téléphone est connecté.

Si c'est possible, alors je ne vois pas d'autres obstacles, en supposant que les étapes décrites dans cette réponse soient correctes (je ne les ai pas encore essayées).

Si réussi, cela signifie que vous n'auriez pas besoin de faire d'ajustements particuliers à votre téléphone - des exemples possibles de réduction d'ennuis pourraient être: moins impliqué, moins de risque de "briquer" le téléphone, moins de risque que les applications bancaires cessent de fonctionner en raison du rootage, vous pouvez également utiliser un autre téléphone sans avoir à refaire les étapes sur celui-ci.

Mise à jour

_(Suite à un commentaire de @Irfan Latif ici, j'ai ajouté un commentaire de réponse, et j'ai mis à jour ma réponse avec celui-ci, ici):_

Cependant, si le VPN n'est pas pris en charge en même temps que le partage de connexion USB sur votre téléphone, alors la prochaine option que vous pourriez essayer est d'exécuter le VPN sur le Pi lui-même. D'autres fournisseurs de VPN, comme speedify.com prennent également en charge le Raspberry Pi - et Speedify en particulier peut lier différentes connexions réseau ensemble si, disons, l'auteur original souhaite utiliser plusieurs téléphones, etc. comme sources de connexion internet. Je ne travaille ni pour ExpressVPN ni pour Speedify ni je n'ai un intérêt financier ou une affiliation avec eux.

Il convient également de noter que si vous essayez ceci, alors les paramètres dans cette réponse liée ci-dessus pourraient nécessiter des ajustements car ils ont peut-être été rédigés pour un scénario qui n'utilise pas de VPN. Je dis pourraient - car ils pourraient toujours fonctionner - je ne sais pas - je veux juste attirer votre attention sur cela pour minimiser toute frustration :) . Dans cette optique, l'approche pourrait être de faire fonctionner les étapes sur votre configuration avec le Raspberry Pi, sans VPN en cours d'exécution. Ensuite, installez ExpressVPN sur le Raspberry Pi et vérifiez si cela fonctionne toujours. En ayant essayé sans VPN d'abord, vous saurez que le Raspberry Pi peut fonctionner comme un routeur, donc vous avez cela et utilisez cela comme base pour le faire fonctionner avec le VPN. Peut-être que le fournisseur de VPN peut vous aider, ou au moins ils pourraient être intéressés car il pourrait y avoir d'autres personnes qui veulent faire ce que vous vous efforcez d'accomplir, donc cela leur fait gagner du temps de support pour tous sur cela en plus de leur donner un avantage en matière de support et en attirant ceux qui apprécient l'adaptabilité - tout bon pour leur offre sur le marché.

2 votes

Comme la question indique que le téléphone ne prend pas en charge le partage de connexion WiFi et le VPN en même temps. Y a-t-il une raison de "supposer que le téléphone prend en charge le partage de connexion USB et le VPN en même temps" ? La seule différence est le type d'interface réseau, c'est-à-dire WiFi ou RNDIS. Le routage du réseau est similaire autant que je sache.

0 votes

+1 point juste. Je pourrais m'attendre à ce que l'auteur original de cette question confirme cela - mais d'ici là, nous ne le saurions pas, cependant c'est certainement possible comme vous l'avez conseillé. Si effectivement le partage de connexion USB n'est pas possible avec le VPN, alors la prochaine chose à essayer est d'exécuter le VPN sur le Pi lui-même, ExpressVPN semble fournir un support pour cela : expressvpn.com/support/vpn-setup/app-for-raspberry-pi D'autres fournisseurs de VPN, tels que speedify.com, prennent également en charge le Raspberry Pi - et ils peuvent fusionner différentes connexions réseau ensemble si, par exemple, l'auteur original souhaite utiliser plusieurs téléphones, etc.

0 votes

P.S. Je ne travaille pas pour ExpressVPN ni Speedify et je n'ai aucun intérêt financier ou affiliation avec eux.

0voto

jmdev Points 669

Dans mon cas, j'ai une tablette Samsung qui a été briquée et a perdu sa fonctionnalité de réseau mobile. Maintenant, je voulais partager la connexion vpn sur le téléphone qui m'avait partagé le wifi. Il s'avère qu'Android spécialise les paquets partagés (je veux dire que les connexions des clients partagés ne peuvent pas être suivies par le système lui-même ou bloquées par des applications pare-feu Android normales mais iptables peuvent le bloquer) donc j'ai utilisé cela à mon avantage.

Il s'avère que la solution est simple. Fonctionne sur des réseaux privés virtuels personnalisables en TCP (pour UDP peut-être que vous devez exécuter un serveur proxy SOCKS, je n'ai pas essayé).

  1. Téléchargez n'importe quelle application serveur proxy sur le PlayStore.
  2. Dans mon cas, j'utilisais OpenVPN donc vous avez besoin d'un client OpenVPN personnalisable et allez dans les options d'exclusion des routes et entrez l'adresse IP du téléphone qui doit se connecter à mon serveur proxy.
  3. Simplement démarrer la connexion vpn et changer les paramètres wifi et ajouter l'adresse IP et le port du serveur proxy et vous êtes prêt à partir ou simplement exécuter un vpn en TCP en utilisant ce serveur proxy sur le téléphone que vous souhaitez partager.

Remarque : À l'étape 2, l'exclusion des routes est pour mon cas ou simplement lorsque vous voulez vous connecter au point d'accès mais si vous êtes celui qui partage la connexion, il n'est pas nécessaire de changer les routes. De plus, dans mon cas, j'ai pu exécuter un vpn sur mon point d'accès sans que cela ne coupe ma connexion sur le téléphone client comme un vpn sur un 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