1 votes

Serveur OpenVPN sur Windows 7 - Comment router des adresses IP spécifiques vers les clients ?

D'accord, je n'ai pas une grande expérience de l'informatique, ni des réseaux, et je commence à peine à apprendre ces choses, pour une entreprise familiale relativement petite. C'est assez fascinant et j'ai beaucoup à apprendre. Cependant, j'ai récemment joué avec des configurations de serveurs OpenVPN et j'ai eu quelques succès avec le bridging. Je travaille actuellement sur une configuration de routage. Une chose avec laquelle j'ai passé des heures et des heures à jouer est la possibilité d'avoir un client qui se voit attribuer une adresse IP comme telle : (10.8.0.6) avec le serveur OpenVPN : (10.8.0.1), ayant accès à UNE SEULE adresse IP LAN INTERNE pour une application web.

Permettez-moi de m'expliquer. Sur le réseau local, il y a un serveur à l'adresse suivante 192.168.50.100 qui est un serveur Apache hébergeant une application web à usage interne. Pour les personnes qui travaillent localement, tout est accessible, comme on peut s'y attendre. Port 80 HTTP. Ouvrez un navigateur et tapez http :// 192.168.50.100 et bingo, c'est là.

Cependant, comme nous nous développons et que des personnes travaillent à distance, nous souhaitons leur donner accès à cette application web également (à l'adresse http :// 192.168.50.100). En mode ponté, cela fonctionne bien, mais ils ont également accès à toutes les autres ressources/ordinateurs du réseau, etc. Bien sûr, un bon pare-feu aide (nous avons récemment installé un pare-feu WatchGuard, mais seulement pour quelques autres serveurs, le serveur d'application web n'est pas derrière. Pour l'instant). Il semble que cela devrait être possible, à faire. Mais, alors que je suis en train de tâtonner, j'aurais besoin d'un peu de conseils, car actuellement, sur une connexion routée, il n'est pas accessible.

BTW - ma question est très proche de celle posée ici :

Connexion d'un réseau local à un serveur OpenVPN via une passerelle client Windows 7

La seule différence est que les deux ordinateurs (y compris le serveur pour l'application web) sont sous Windows. Et oui, j'ai désactivé tous les pare-feux pour tous les adaptateurs (celui d'OpenVPN également) (uniquement pendant les tests/expérimentations), y compris le pare-feu Windows, sur l'ordinateur passerelle et le serveur Apache. Dans la question mentionnée ci-dessus, la personne a trouvé sa solution en utilisant IPTABLES, mais je suis certain qu'il s'agit d'un problème propre à Linux. (Je n'en ai jamais entendu parler auparavant).

Néanmoins, voici les mesures que j'ai prises jusqu'à présent.

  1. Activation de l'IP Forwarding sur la passerelle (serveur OpenVPN) par l'édition du registre documentée dans le lien précédent.

  2. Ajouté dans server.conf (pousser "route 192.168.50.0 255.255.255.0")

  3. J'ai expérimenté sur l'ordinateur passerelle qui fait partie du sous-réseau privé (192.168.50.*) avec diverses lignes de commande "route ADD 10.8.0.0 MASK ... " et cetera. Je les ai exécutées de manière non persistante et je les ai effacées par la suite, après avoir vérifié qu'elles ne fonctionnaient pas.

Par conséquent, toute aide supplémentaire serait grandement appréciée. Désolé pour la forme de la dissertation, je voulais juste donner le plus d'informations possible dès le départ.

Gracias.

Jean

ÉDITÉ ET ANNEXÉ POUR RÉPONDRE À LA RÉPONSE/QUESTION DE TESSELATINGHECKLERS CI-DESSOUS. (BTW - Merci pour le temps consacré à la TH).

(Client VPN <-> Serveur VPN) : En laissant de côté le serveur Apache pour un moment, où en êtes-vous avec le >tunnel OpenVPN lui-même ? Est-ce qu'il se connecte ? Pouvez-vous avoir du trafic sur ce >tunnel et savoir qu'il fonctionne ? Utilisez ping sur le client VPN et essayez de pinger le serveur >10.8.0.1 et prouvez que vous obtenez une connexion.

Oui, le client peut se connecter avec succès au serveur en utilisant une combinaison de certificats spécifiques au client et d'autorisation (nom d'utilisateur/mot de passe). À ce stade, oui, le trafic passe par là et cela fonctionne. Même lorsque tout le trafic du client est forcé de passer par là (je n'ai joué avec ce paramètre qu'à des fins de test), de sorte que le trafic du navigateur Web passe par lui, tout fonctionne très bien. Quant au ping entre le client VPN et le serveur 10.8.0.1, il fonctionne parfaitement les quatre paquets reviennent comme prévu.

(VPN <-> LAN sur le serveur VPN) : Vous avez activé le routage dans le registre, mais cela >fonctionne-t-il ? Le serveur OpenVPN a besoin d'une adresse IP sur le réseau 192.168.50.x.

Oui, j'ai activé le routage dans le registre, mais cela fonctionne-t-il ? Je n'en sais rien. Je ne sais pas comment vérifier si le serveur OpenVPN a une adresse IP sur 192.168.50. ? Avant d'activer le serveur OpenVPN, si j'entre "ipconfig /all" dans la ligne de commande, je vois que l'adaptateur du réseau local a une adresse IP de 192.168.50.10 (IP LAN statique). Une fois que le serveur/service OpenVPN est démarré, le nouvel adaptateur prend maintenant une adresse de 10.8.0.1... et naturellement, si je tape "ipconfig /all", je vois pour les deux adaptateurs différents - deux adresses IP différentes respectivement énumérées il y a quelques instants. Je peux faire un ping du serveur vers 192.168.50.100 et 192.168.50.100 (et tous les autres serveurs/ordinateurs du réseau 192.168.50.x peuvent faire un ping vers 192.168.50.10)... cependant, les autres serveurs/ordinateurs du réseau 192.168.50.x ne peuvent pas faire un ping vers le serveur nouvellement connecté à 10.8.0.1 ni vers le client VPN connecté (premier client) avec l'adresse 10.8.0.6 (à titre d'exemple).

S'agit-il donc de configurer l'adaptateur dont l'adresse IP est 10.8.0.1 pour qu'il puisse communiquer avec les adresses 192.168.50.x ?

Que dois-je faire pour que "Le serveur OpenVPN a besoin d'une adresse IP sur le réseau 192.168.50.x." fonctionne ? Cette adresse est-elle différente de celle que l'ordinateur possède déjà sur son adaptateur LAN par défaut ? C'est une partie qui devient confuse.

Si vous regardez dans la table de routage du client ("route print" en ligne de commande), et/ou dans >les journaux de connexion OpenVPN, est-ce qu'il récupère les routes vers le réseau 192.168.50.x que >vous avez mis dans server conf ? Si c'est le cas, est-ce que la route gateway est réglée sur l'adresse 10.0.8.1 du >serveur OpenVPN ? Depuis le client, pouvez-vous envoyer un ping au serveur OpenVPN sur l'adresse 192.168.50.x ?

Cette partie devra être refaite. Depuis que j'ai posé ma question ici hier, j'ai passé un peu de temps à faire des recherches et il n'y a pas d'itinéraires par défaut qui ont été transférés. Je le ferai sous peu et réviserai ce billet à ce moment-là. Cependant, ce que je peux dire, c'est que lorsque j'ai poussé la route 192.168.50.x.. je n'ai absolument pas pu envoyer de ping à l'adresse 192.168.50.10 ou à toute autre adresse 192.168.50.x à partir du client.

1voto

Vous avez beaucoup parlé de ce que vous voulez et de la manière dont vous essayez de le faire fonctionner (et il semble que votre plan de haut niveau fonctionnera), mais vous n'avez rien dit sur le chemin parcouru et sur ce qui fonctionne ou ne fonctionne pas.

Considérez la connexion comme un voyage en plusieurs sections et testez chacune d'entre elles dans l'ordre à l'aide de tests ping de base.

(Client VPN <-> Serveur VPN) : En laissant de côté le serveur Apache pour un moment, où en êtes-vous avec le tunnel OpenVPN lui-même ? Se connecte-t-il ? Pouvez-vous obtenir du trafic à travers lui, et savoir qu'il fonctionne ? Utilisez ping sur le client VPN et essayez d'envoyer un ping au serveur 10.8.0.1 pour prouver que vous obtenez une connexion.

(VPN <-> LAN sur le serveur VPN) : Vous avez activé le routage dans le registre, mais cela fonctionne-t-il ? Le serveur OpenVPN a besoin d'une adresse IP sur le réseau 192.168.50.x.

Si vous regardez dans la table de routage du client ("route print" en ligne de commande), et/ou dans les logs de connexion OpenVPN, est-ce qu'il récupère les routes vers le réseau 192.168.50.x que vous avez mis dans server conf ? Si c'est le cas, la route gateway est-elle réglée sur l'adresse 10.0.8.1 du serveur OpenVPN ? Depuis le client, pouvez-vous envoyer un ping au serveur OpenVPN sur l'adresse 192.168.50.x ?

(Apache <-> Gateway) : Vérifier la route de retour. Lorsque vous dites "ordinateur passerelle", s'agit-il de la passerelle par défaut du serveur Apache ? Si oui, sur l'ordinateur passerelle vous avez raison, vous aurez besoin de "route add 10.8.0.0 mask 255.255.255.0 192.168.50.x" où x est l'adresse du serveur OpenVPN.

Pouvez-vous envoyer un ping au serveur OpenVPN à partir du serveur Apache sur l'adresse 192.168.50.x ? Pouvez-vous faire un ping sur l'adresse 10.8.0.1 ?

(Apache <-> VPN Client) : Pouvez-vous envoyer un ping au client OpenVPN 10.8.0.6 depuis le serveur Apache ?

Il est probable que l'une de ces étapes échoue, ce qui vous indiquera où chercher ensuite.

(Je pense que les Watchguards sont livrés avec des licences pour le VPN des utilisateurs mobiles, entre autres).

1voto

nix Points 924

Sans privilèges administratifs, OpenVPN sur le client ne peut pas modifier les tables de routage du système. Le client peut négocier la connexion, mais toutes les routes poussées par le serveur ne seront pas créées sur le client. Les routes poussées ne fonctionnent donc que si l'utilisateur exécute OpenVPN en tant qu'utilisateur administratif.

Vous devriez pouvoir le savoir en utilisant wireshark o tcpdump sur le client VPN si les paquets pour 192.168.50.100 sont envoyés par l'interface réseau souhaitée. Si ce n'est pas le cas, vos routes n'ont pas été configurées ou sont incorrectes. Vous pouvez vérifier cela en utilisant route print sur le client.

Si les routes sont transmises au client, mais qu'OpenVPN ne parvient pas à les créer, la sortie de débogage d'OpenVPN doit indiquer l'échec. Augmentez la verbosité en ajoutant verb 4 (un nombre plus élevé signifie une plus grande verbosité) dans votre configuration, ou en spécifiant --verb 4 lors de l'invocation d'openvpn sur la ligne de commande.

SistemesEz.com

SystemesEZ est une communauté de sysadmins 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