VPN avec Client PPTP (problème de config)

la machine concernée (cliente) est une VM sous linux Debian 5
l’host est une deb 5 avec couche openvz
le client pptp-linux est en version 1.7.2-1

le serveur VPN lui est un netasq

le VPN monte correctement, pas de soucis
ma VM récupère une adresse ip via le dhcp, et j’arrive convenablement à joindre les machines du réseaux

mon problème est que justement je cherche à joindre un sous réseau… rien de bien compliqué.
pour cela, il me faut non pas utiliser le dhcp, mais fixer l’ip
j’avais cru comprendre qu’il suffisait de saisir l’ip voulue dans /etc/ppp/chap-secrets (le dernier champ)
j’ai beau indiqué l’ip voulue, et relancer mon VPN, rien n’y fait
ma VM continue d’utiliser le dhcp et ne tient pas compte de mon ip

je n’ai rien trouvé sur la doc en ligne de pptp mis à part les “route add …” que j’aimerais éviter sur cette VM
quand au bon génie goût-gueule, il m’indique comment configurer des ip fixes oui… mais côté serveur et non client

quelqun aurait une idée pour m’aiguiller un peu ?

Remarque :
Il n’y a pas de DHCP avec les tunnels PPTP qui sont basés sur le protocole PPP. Le protocole de configuration des paramètres IP pour les connexions PPP est IPCP. Il ne permet pas de passer des routes au client comme le permet OpenVPN par exemple.

En revanche il est possible de créer des routes automatiquement (ou d’exécuter une commande quelconque) lors de l’établissement d’une connexion PPP (et donc PPTP). Après la réussite de la négociation IPCP, pppd exécute le script /etc/ip-up qui exécute à son tour les scripts placés dans /etc/ppp/ip-up.d/ qui répondent aux exigences de run-parts (cf page de manuel). Le nom de l’interface PPP créée, son adresse et l’adresse du pair sont passées dans des variable d’environnement, ainsi que la valeur de l’option ipparam qui peut être mise dans les options de pppd (contenues dans les fichiers d’options placés dans /etc/ppp/peers/ généralement) afin de distinguer entre plusieurs connexions PPP différentes si nécessaire.

EDIT : exemple d’un fichier que j’ai utilisé pour mon pare-feu

[code]#!/bin/sh

/etc/ppp/ip-up.d/1firewall

appele par /etc/ppp/ip-up avec run-parts

avant les scripts ayant besoin de l’acces reseau

Historique :

21/12/2004 creation

Variables d’environnement :

Variable Name Example

PPP_IFACE Interface name ppp0

PPP_TTY The tty ttyS1

PPP_SPEED The link speed 38400

PPP_LOCAL Local IP number 12.34.56.78

PPP_REMOTE Peer IP number 12.34.56.99

PPP_IPPARAM Optional “ipparam” value foo

actions apres le debut d’une connexion PPP en IPv4

creation ou suppression des regles iptables liees aux interfaces PPP

connexion internet ADSL

if [ “$PPP_IPPARAM” == “internet” ]; then
/usr/local/firewall/fw_wan $PPP_IFACE $PPP_LOCAL $PPP_REMOTE

connexion d’un client PPTP

elif [ “$PPP_IPPARAM” == “tunnel” ]; then
/usr/local/firewall/fw_tun $PPP_IFACE $PPP_LOCAL $PPP_REMOTE

autre connexion PPP

else
:
fi

fin[/code]

et pourtant…
j’ai bien vu la possibilité des scripts dans ip-up.d et donc la possibilité de créer ses routes.
volontairement je ne les utilise pas.
donc en suivant ton raisonement, je ne devrais pas récupérer d’ip
et pourtant… une fois ma connexion établie, je me vois attribuer une adresse qui est bien dans un des réseaux à joindre (132.200.0.xxx où xxx est une valeur entre 250 et 253)
le seul défaut est le netmask que la machine récupère qui est 255.255.255.255
mais bon… une fois mon vpn monté, en lançant un ifconfig ppp0 netmask 255.255.0.0
paf je peux pinger mes machines du réseau (ce qui est logique)

de là je tente ! je lance un ifconfig ppp0 132.200.0.240 pointopoint 132.200.0.254 netmask 255.255.0.0
je retente mes pings : plus rien ne passe

je ne suis pas du tout expert VPN à ce jour, et je n’ai pas non plus la main sur le netasq qui fait serveur VPN… donc je patauge

Je n’ai fait aucun raisonnement, mais seulement exposé des faits. Et à aucun moment dans ma réponse il n’est question de la récupération de l’adresse IP. Celle-ci est négociée par pppd avec le pair via IPCP, et configurée indépendamment des scripts ip-up.

Ce n’est pas un réseau, c’est une plage d’adresses. Il n’y a pas de notion de réseau dans une connexion PPP qui est par définition une liaison “point à point” : une adresse IP à chaque extrémité et c’est tout. PPTP = Point to Point Tunneling Protocol.

Encore une fois, c’est parfaitement normal en PPP : juste deux adresses arbitraires (dans le sens ou elles n’ont pas besoin d’être proches) aux extrémités, pas de réseau, pas de masque.

Tout le reste est du routage qui est mis en place indépendamment de la connexion PPP proprement dite.[quote=“Mitsu”]je lance un ifconfig ppp0 132.200.0.240 pointopoint 132.200.0.254 netmask 255.255.0.0
je retente mes pings : plus rien ne passe[/quote]
Pas étonnant, les options pointopoint et netmask ne peuvent pas fonctionner ensemble.

[quote=“Mitsu”]j’ai bien vu la possibilité des scripts dans ip-up.d et donc la possibilité de créer ses routes.
volontairement je ne les utilise pas[/quote]
Pourquoi pas ? Ce serait pourtant une solution plus efficace et fiable que tes bidouillages.

[quote=“PascalHambourg”]

[quote=“Mitsu”]j’ai bien vu la possibilité des scripts dans ip-up.d et donc la possibilité de créer ses routes.
volontairement je ne les utilise pas[/quote]
Pourquoi pas ? Ce serait pourtant une solution plus efficace et fiable que tes bidouillages.[/quote]
ne maitrisant pas le VPN comme dit précédemment, je n’avais pas envie de m’embarquer dans l’établissement d’un table de routage qui pourrait impacter l’accessibilité de ce serveur.

bref, il ne me reste donc plus qu’à plancher sur cette question de route

Créer une simple route vers le réseau de destination (apparemment 132.200.0.0/255.255.0.0) sur l’interface PPP, ce n’est vraiment pas compliqué.

La route est automatiquement supprimée lorsque l’interface (c’est-à-dire le VPN) tombe.

[quote=“PascalHambourg”]Créer une simple route vers le réseau de destination (apparemment 132.200.0.0/255.255.0.0) sur l’interface PPP, ce n’est vraiment pas compliqué.

La route est automatiquement supprimée lorsque l’interface (c’est-à-dire le VPN) tombe.[/quote]
déjà mis oui, et cela fonctionne, à la différence que je n’ai pas ip en début de ligne