web-dev-qa-db-fra.com

Route tout le trafic (passerelle de redirection) ne fonctionne pas - OpenVPN

Tout d’abord, je sais que cette question a été posée au moins un million de fois. J'ai essayé de nombreuses solutions et je ne parviens toujours pas à faire fonctionner mon VPN. Lorsque je me connecte à mon VPN, l'IP de mon client change en IP VPN (attendu). Mais ne routera pas tout le trafic à travers le VPN. Je peux le savoir, car j'utilise OpenDNS comme serveur DNS domestique et j'utilise leur domaine de test internetbadguys.com pour tester le trafic via le VPN. J'utilise les drapeaux Push dans le fichier server.conf:

Push "redirect-gateway def1"
Push "remote-gateway vpn_server_ip"
Push "dhcp-option DNS 8.8.8.8"
keepalive 10 60

et dans client.ovpn:

Push "redirect-gateway def1"

De plus, si cela peut aider, j'utilise une instance AWS EC2 pour exécuter mon VPN. Je ne sais pas quoi faire d'autre ensuite. Espérons que quelqu'un puisse comprendre cela :)

Merci d'avance!

Configurations serveur et client ci-dessous:

Serveur:

port PORT
proto udp
dev tun
ca ca.cert
cert server.crt
key server.key
dh dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
Push "route 172.31.0.0 255.255.0.0"
keepalive 10 120
tls-auth ta.key 0
key-direction 0
cipher AES-128-CBC
auth SHA256
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
# ROUTE CLIENT'S INTERNET ACCESS THROUGH THE SERVER
Push "redirect-gateway def1"
Push "remote-gateway vpn_server_ip"
Push "dhcp-option DNS 8.8.8.8"
keepalive 10 60

crl-verify crl.pem

Client:

client
dev tun
proto udp
remote MY-SERVER-IP PORT
remote MY-SERVER-HOSTNAME PORT
resolv-retry infinite
nobind
user nobody
group nogroup
persist-key
persist-tun
remote-cert-tls server
comp-lzo
Push "redirect-gateway def1"
verb 3
1
shadowydesktop

Pour quiconque ayant ce problème, vous devrez probablement activer le transfert IP sur le serveur, car celui-ci sera probablement désactivé par défaut.

Mettez ceci dans /etc/sysctl.conf:

net.ipv4.ip_forward = 1

Et puis courez:

sysctl -p /etc/sysctl.conf

Maintenant, cela prend en charge votre transfert d'adresse IP. Si vous utilisez un pare-feu (peut-être iptables), vous voudrez probablement que votre NAT continue de fonctionner, lancez ceci:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

Mettez quelque chose comme ceci dans/etc/sysconfig/iptables pour le rendre permanent:

*nat
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
COMMIT

Tout va bien, votre serveur transfère maintenant votre trafic VPN client. La prochaine chose que vous allez faire est de diriger votre navigateur client vers whatismyipaddress.com pour voir qu’il affiche une adresse Amazon, puis sur www.dnsleaktest.com et voir l’évolution de la situation. En cas de fuite via Google, vous pouvez envisager de mettre en place un simple serveur de mise en cache DNS sur votre serveur VPN et d'indiquer votre client si l'anonymat est souhaité.

J'espère que ça aide.

1
Miles Gillham