Acheminer tout le trafic via le tunnel OpenVPN

11

J'ai installé le serveur OpenVPN sur Archlinux et j'utilise maintenant OpenVPN GUI sur Windows 7, je peux parler à d'autres ordinateurs connectés via le VPN mais je n'ai pas encore compris comment acheminer tout le trafic à travers le tunnel.

Comment puis-je faire cela? J'ai pensé que je devais le faire avec route(commande cmd) mais je pense que j'ai besoin de quelques pointeurs ici.

J'ai suivi l'OpenVPN HowTo sur la question, mais cela ne fonctionne pas, cela ne pousse tout simplement pas l'option "forcer le client à passer par cette passerelle".

Et passer d'OpenVPN à une alternative PPTP / IPSec n'est pas une option pour le moment.

Filip Ekberg
la source

Réponses:

2

Définissez l'interface VPN comme passerelle par défaut (assurez-vous qu'elle est active) ...

Sous Linux, ce serait quelque chose dans le sens de (d'abcd est l'adresse de votre interface VPN):

sudo ip route replace 0.0.0.0/0 via abcd

Ou vous pouvez utiliser "/ sbin / route" mais la syntaxe est légèrement différente.

Si vous voulez que cela persiste pendant les redémarrages, vous pouvez l'ajouter à /etc/rc.local mais vous voulez probablement utiliser la méthode spécifique pour votre distribution. Je vois que vous utilisez Arch Linux donc le fichier que vous souhaitez modifier pour une route statique permanente ajoutée au démarrage est /etc/rc.conf. Cliquez ici pour plus d'informations.

Bonne chance!

=====================

Je viens d'écrire cette réponse et de relire la question ....

Pour Windows, vous voulez faire cela (sur une ligne de commande):

route add 0.0.0.0 mask 0.0.0.0 abcd

ou éventuellement:

changement d'itinéraire 0.0.0.0 masque 0.0.0.0 abcd

wawawawa
la source
Bien que cette réponse fournisse des informations sur l'ajout de routes dans Windows (en général), elle est de loin inférieure à la réponse Erics compte tenu du contexte OpenVPN.
Shaamaan
15

Sur Windows Vista et versions ultérieures, il est souvent nécessaire de dire à OpenVPN:

route-method exe
route-delay 2

Sinon, les itinéraires ne peuvent pas être définis.

Ensuite, je recommande de ne pas modifier vos itinéraires manuellement mais d'utiliser le paramètre dédié OpenVPN:

redirect-gateway def1

Il y a une grande différence entre les deux: votre itinéraire interfère avec celui par défaut et lorsque votre DHCP local renouvelle votre bail ou quelque chose, il peut restaurer l'itinéraire par défaut d'origine et gâcher les choses. La passerelle de redirection def1 installe plutôt deux routes: 0.0.0.0/1 et 127.0.0.0/1. Il quitte la route par défaut, est plus spécifique et a donc priorité sur la route par défaut et est facilement supprimé.

Eric Darchis
la source
1
redirect-gateway def1a fait l'affaire pour moi après avoir exécuté OpenVPN en tant qu'administrateur.
EnigmaRM
Excellente description de quelque chose que j'ai trouvé assez étrange à première vue. Merci
regulatre
1

Dans le fichier de configuration OpenVPN, avez-vous essayé de changer le "redirect-gateway" en "redirect-gateway def1"?

CGA
la source
Oui, comme je l'ai dit, j'ai fait ce que le HowTo a dit et ce n'est toujours pas wokring.
Filip Ekberg
la passerelle de redirection devrait fonctionner. Pouvez-vous publier la sortie d'impression de l'itinéraire et également la sortie client openvpn. Là, vous devriez voir si la route par défaut est remplacée.
Robert Ivanc,
1

N'oubliez pas de faire:

echo 1 > /proc/sys/net/ipv4/ip_forward
user36218
la source