J'essaie d'utiliser le serveur Google Compute Engine comme serveur VPN pour tout mon trafic (je vis en Russie, nous avons des problèmes de censure ici).
Il y a un mini-tutoriel sur VPN sur GCE , mais il s'agit d'un réseau entre 2 serveurs à l'intérieur de GCE et non avec OpenVPN.
J'ai fait toutes les étapes d'un autre tutoriel, sur la configuration de VPN avec OpenVPN sur Debian , je peux me connecter au VPN à partir du client, mais je ne peux pas ouvrir de connexions (je ne peux même pas cingler google). Sur le serveur, je peux cingler et télécharger tout comme d'habitude.
J'ai VPN sur Linode avec la même configuration et cela fonctionne bien. Le problème vient donc du routage réseau GCE ou des règles de pare-feu.
J'ai essayé beaucoup de variantes mais rien ne fonctionne. S'il vous plaît, regardez les paramètres et dites-moi ce que je dois changer.
// lignes de configuration supprimées, car le problème est résolu //
Réponses:
Tout d'abord, merci à @Shivox pour sa réponse .
Et voici le petit guide pratique:
sudo su
apt-key update && apt-get update && apt-get -y upgrade && apt-get -y install python-software-properties && apt-get -y install software-properties-common && add-apt-repository -y ppa:pritunl && apt-get update && apt-get -y install pritunl
https://instance_ip:9700
pritunl
comme nom d'utilisateur et mot de passeJ'utilise Viscosity pour OS X et OpenVPN connect pour iOS en tant que clients. Dans Viscosité, activez l'option "Envoyer tout le trafic via une connexion VPN" dans l'onglet "Réseau".
la source
Vous pouvez résoudre le problème de ne pas pouvoir naviguer sur le Web via le VPN malgré le fait de pouvoir ping, traceroute ... par l'une des deux façons suivantes:
Tout d'abord, vous pouvez utiliser le protocole TCP au lieu d'UDP, en remplaçant «proto udp» par «proto tcp» dans les fichiers de configuration client et serveur.
Deuxièmement, vous pouvez utiliser l'appareil tactile au lieu de tun, en changeant «dev tun» en «dev tap» dans les fichiers de configuration client et serveur.
Je ne sais pas quel est le problème, mais il semble que ce soit un problème de la part de Google.
la source
N'oubliez pas que Google VPC supprime des paquets qui n'ont
source_ip
pas l'IP interne d'une machine virtuelle ayant une IP externe.Ce document https://cloud.google.com/compute/docs/vpc/advanced-vpc indique:
Donc, si votre openVPN ne fait que transférer des paquets de l'autre réseau, les paquets vers le public interne seront supprimés car ils
source_ip
ne correspondent à aucune IP interne de VM existante. Pour cette raison, vous devez NAT les paquets quittant votre réseau local, par exemple sur votre nœud VPN."Pritunl" mentionné dans la réponse OZ_ fonctionne, car il configure automatiquement le NAT.
la source
Ce n'est pas vraiment une réponse, mais le site ne m'a pas permis de l'ajouter en commentaire à votre question.
Néanmoins, j'ai presque exactement la même configuration que vous avez détaillée ci-dessus (je n'ai pas configuré le dnsmaq sur le serveur difficile)
Malheureusement, le VPN ne fonctionne pas comme prévu. Je peux résoudre une adresse, envoyer une requête ping à certains hôtes Internet et même faire une trace complète lorsque je suis connecté au VPN. Cependant, lorsque j'ouvre le navigateur et navigue vers un site, la connexion est vraiment lente. Je ne sais pas ce qui peut affecter la connexion, mais c'est vraiment un problème étrange.
Peut-être que quelqu'un de Google peut nous aider à savoir ce qui se passe.
PS 1. Comme d'autres personnes l'ont suggéré auparavant, pouvez-vous vérifier si le transfert IP est activé? Pour moi, la seule façon de garantir que la valeur de net.ipv4.ip_forward a été correctement restaurée après un redémarrage était après avoir utilisé une règle personnalisée sur /etc/sysctl.d
Par exemple, vous pouvez ajouter la règle à l'aide de la commande suivante:
PS 2. Si le transfert fonctionne pour vous, pouvez-vous tester un itinéraire de trace vers un hôte externe tout en étant connecté au VPN?. La sortie que j'ai obtenue lorsque je fais cela est un peu étrange (pourquoi il y a plusieurs sauts sur la même IP ????):
PS 3. La seule chose qui semble fonctionner correctement est que le VPN utilise l'adresse IP externe de mon hôte pour accéder à Internet
la source
Modifier
/etc/sysctl.conf
en supprimant les commentaires#net.ipv4.ip_forward=1
Cela devrait permettre à OpenVPN de diriger votre trafic.
la source
Vous devez activer le transfert IP pour votre instance de machine virtuelle dans Google Cloud, sinon les paquets n'atteindront pas votre machine virtuelle. Remarque, ceci est distinct de
net.ipv4.ip_forward = 1
celui que vous pouvez définir dans votre machine virtuelle.Le transfert IP ne peut être défini qu'une seule fois avant de créer une machine virtuelle et ne peut pas être modifié par la suite. Pour l'activer pour une nouvelle VM, cliquez sur
Management, security, disks, networking, sole tenancy
:Ensuite, dans l'
Networking
onglet, cliquez surNetwork Interface
et définissez le transfert IP surON
:la source
Vous devez ajouter une règle qui autorise le trafic pour OpenVPN lui-même:
la source
À propos du réseau.
1) Activez tout le trafic provenant du sous-réseau OpenVPN (par exemple 10.8.0.0/24) sur la console
2) Je vous suggère fortement d'ajouter Masquerade à votre réseau
3) N'oubliez pas d'activer le routage des paquets dans le noyau
a) une fois
b) pour toujours dans /etc/sysctl.conf:
la source