Le protocole PPTP (Point-to-Point Tunneling Protocol) mis en oeuvre par
pptpd côté serveur et
pptp (paquet pptp-linux) côté client consiste à établir un tunnel GRE pour y faire passer une session PPP (Point-to-Point Protocol). La gestion de la session PPP elle-même est déléguée par
pptpd au démon
pppd (paquet ppp). Le fichier pptpd-options dont tu montres le contenu est un fichier d'options passé par
pptpd à
pppd.
Je ne sais pas d'où sort cette option "netmask" que j'ai aussi vue dans le fichier pptpd-options par défaut fourni avec le paquet pptpd sur mon serveur, mais il n'en est fait aucune mention dans aucune page de manuel de
pppd,
pptpd ni
pptp. D'ailleurs elle n'apparaît plus dans une version plus récente de ce fichier. Cela me semble normal : le protocole PPP est par définition "point à point" : il établit une liaison entre deux hôtes, deux adresses, et non un sous-réseau. La notion même de masque n'a pas de sens pour une interface réseau de type point à point. Les seules options de routage disponibles dans pppd sont "defaultroute" et replacedefaultroute qui permettent de définir une route par défaut via le pair, si besoin en remplaçant la route par défaut existante. Avec PPP, c'est donc tout ou rien (ou plutôt tout ou seulement l'adresse du pair). Mais si le pair n'est pas un routeur vers le reste du monde, tu n'as accès à rien d'autre.
Pour pouvoir communiquer avec un sous-réseau via un VPN PPTP, ce n'est pas du côté du serveur mais du côté de chaque client qu'il faut intervenir : une fois la session PPP établie, il faut créer une route pour le sous-réseau sur l'interface point à point du tunnel (ppp*) ou via l'adresse distante. Cela peut être fait automatiquement grâce à un script placé dans le répertoire /etc/ppp/ip-up.d/ qui est exécuté par pppd après l'établissement de la session. Il se peut que l'interface graphique de NetworkManager permette aussi de créer des routes, mais je ne l'ai jamais utilisé pour gérer une liaison PPP ou PPTP.
D'autre part, je ne sais pas si c'est toujours le cas, mais à l'époque assez reculée où je jouais en réseau, beaucoup de jeux en réseau local reposaient sur le broadcast (émission à destination de toutes les machines du LAN) pour la découverte du serveur de jeu. Or le protocole PPP ne gère pas le broadcast car cela n'a pas de sens dans une liaison entre deux machines. D'ailleurs une interface réseau de type point à point ppp* n'a pas d'adresse de broadcast. Apparemment pptpd peut s'adjoindre le démon bcrelay pour relayer vers les clients les broadcasts reçus sur une interface donnée, mais je n'ai jamais utilisé cette fonctionnalité et ignore comment elle se comporte entre les clients.
Ma conclusion est que PPTP n'est pas forcément le protocole de VPN le plus adapté à ce que tu veux faire. Une alternative est OpenVPN qui permet d'émuler une liaison Ethernet, avec masque de sous-réseau et broadcast comme dans un vrai réseau local.
Dernière modification par raleur (07-02-2016 00:31:22)
Il vaut mieux montrer que raconter.