2 votes

Comment connecter un nouvel utilisateur au hotspot pendant que le vpn fonctionne ?

J'utilise marshmallow (6.0.1) rooté. J'exécute les commandes suivantes

iptables -F

iptables -t filter -F FORWARD

iptables -t nat -F POSTROUTING

iptables -t filter -I FORWARD -j ACCEPT

iptables -t nat -I POSTROUTING -j MASQUERADE

ip rule add from 192.168.43.0/24 lookup 61

ip route add default dev tun0 scope link table 61

ip route add 192.168.43.0/24 dev wlan0 scope link table 61

ip route add broadcast 255.255.255.255 dev wlan0 scope link table 61

Ainsi, je peux connecter la connexion vpn. Mon problème est qu'une fois connecté, aucun nouveau client ne peut se connecter, il reste à l'obtention de l'adresse iptables. Comment puis-je résoudre ce problème ?

0voto

xavier_fakerat Points 9582

Normalement, en mode hotspot simple (sans configuration VPN), les clients obtiennent une adresse IP à partir du le serveur DHCP du téléphone .

Cependant, lorsque le client OpenVPN est en cours d'exécution, il est par défaut redirige tout le trafic vers le serveur OpenVPN, ce qui signifie que tout client est également redirigé. Par conséquent, les clients ne parlent pas au le serveur DHCP du téléphone, ils parlent au serveur OpenVPN. et si ce dernier ne fournit pas d'adresse IP via le DCHP, les tentatives de les tentatives de connexion des clients seront "suspendues".

Il existe des solutions de contournement pour conserver la fonctionnalité de tethering sur les autres clients qui se connectent :

  1. Utilisation des règles de post-acheminement et de transfert

Vous pouvez simplement ajouter des règles de post-routage et de transfert, c'est à dire

iptables -t filter -F FORWARD
iptables -t nat -F POSTROUTING
iptables -t filter -A FORWARD -j ACCEPT
iptables -t nat -A POSTROUTING -j MASQUERADE

(c'est la solution que j'utilise actuellement),


  1. Configurer les adresses IP manuellement

    • Il se peut que vous deviez attribuer l'adresse IP d'autres clients manuellement (IP statique). statique) pour contourner le serveur DCHP.

  1. Exclure le sous-réseau du hotspot du tunnel
  • La solution est d'identifier le sous-réseau utilisé par le service de hotspot et l'ajouter manuellement aux réseaux exclus de la connexion. 192.168.43.0/24 .

  • Maintenant, lorsque le tunnel est initié, le sous-réseau du hotspot est toujours exclu du routage à travers le tunnel, quel que soit le démarrage. séquence de démarrage et le tethering fonctionne toujours.

ou simplement en excluant 192.168.43.0/24 (et comprenant 0.0.0.0/0 ) d'iptables.

Remerciements

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