J'essaie de faire en sorte que mon client transfère tout le trafic via un VPS exécutant OpenVPN. Comme vous pouvez le voir, il autorisera les pings vers les domaines et les adresses IP brutes, mais il n'autorisera pas le trafic comme celui effectué via curl et traceroute ne génère rien. Le trafic fonctionne correctement lorsqu'il n'est pas connecté au VPN.
Toutes les informations sont ici: https://pastebin.com/tGspNefn
Merci.
Configurations de travail grâce à la solution ci-dessous:
Serveur:
port <integer>
proto udp
dev tun
ca ca.crt
cert vpnserver.crt
key vpnserver.key # This file should be kept secret
dh dh4096.pem
tls-auth ta.key 0
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway autolocal"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
cipher AES-256-CBC
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
Client:
client
dev tun
proto udp
remote x.x.x.x <port number>
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert vpnclient.crt
key vpnclient.key
tls-auth ta.key 1
ns-cert-type server
cipher AES-256-CBC
comp-lzo
verb 3
/sbin/route add -net 0.0.0.0 netmask 128.0.0.0 gw 10.8.0.5
pourquoi netmask 128.0.0.0?Réponses:
La solution comprend deux parties:
1. Redirigez tout le trafic dans le tunnel
La solution la plus simple - utilisez l'
--redirect-gateway autolocal
option d'OpenVPN (ou placez-la dans le fichier de configuration sousredirect-gateway autolocal
.2. Traitez le trafic sur le serveur OpenVPN
Maintenant que le tunnel est en place, tout le trafic entre dans le tunnel et apparaît à l'extrémité du serveur depuis l'
tun0
interface.Vous devez configurer deux choses pour le faire fonctionner:
une. Activer le transfert de paquets
Par défaut dans la plupart des distributions, le transfert de paquets est désactivé, par conséquent, les paquets provenant de l'interface de tunnel ne parviennent jamais à l'interface publique. Vous devez activer le transfert avec:
Une fois testé, rendre le changement permanent
/etc/sysctl.conf
Assurez-vous également que
iptables
ne bloquent pas le trafic transféré:C'est assez bon pour les tests - en production, vous voudrez rendre les règles de pare-feu un peu plus spécifiques, mais cela est hors de portée ici.
b. NAT les paquets sortants du tunnel
Avec le transfert activé, les paquets sont transférés par défaut avec leur adresse source inchangée, c'est dans votre cas
10.8.0.6
- ces paquets sont soit abandonnés sur la passerelle ISP ou même s'ils arrivent à destination, la réponse ne retrouve jamais le chemin du retour. Ces adresses privées ne sont pas routables sur Internet.La solution consiste à NAT le trafic de sortie, c'est-à-dire remplacer l'
10.8.0.6
adresse privée par l' adresse IP publique du serveur VPN. Cela garantira que les réponses parviennent au serveur VPN et là, elles seront renvoyées dans le tunnel.3. Testez-le
Essayez maintenant à
ping 8.8.4.4
partir de votre client VPN. Vous devriez voir une réponse. Faites-nous savoir si non :)la source
Redirect all the traffic into the tunnel
étape de configuration du client?