Bon tuyaux Linux / *BSD  -   Mardi 29 Mars 2005

<Précédent Suivant>

Serveur VPN PPTP avec MPD
Catégorie : FreeBSD
par hika hika AT bsdmon DOT com Homepage : http://www.bsdmon.com

Voici une des méthodes permettant de monter un serveur VPN PPTP :
Il s'agit de MPD pour Multi link PPP Daemon.
L'avantage est qu'il permet de faire de l'encryption.
De plus, MPD ne gère pas seulement le PPTP, mais aussi PPPOE, et peut fonctionner aussi en tant que client PPTP.

Pour l'installer, faites simplement :
$ cd /usr/ports/net/mpd
$ make install clean

Ensuite, 3 fichiers sont à éditer : mpd.conf, mpd.links et mpd.secret
Ces fichiers se trouvent normalement dans /usr/local/etc/mpd

Voici un exmple de mpd.conf :


default:
        load pptp0
        load pptp1
        load pptp2

pptp0:
        new -i ng0 pptp0 pptp0
        set ipcp ranges 10.2.0.1/32 10.2.0.2/32
        load pptp
pptp1:
        new -i ng1 pptp1 pptp1
        set ipcp ranges 10.2.0.1/32 10.2.0.3/32
        load pptp
pptp2:
        new -i ng2 pptp2 pptp2
        set ipcp ranges 10.2.0.1/32 10.2.0.4/32
        load pptp

pptp:
#       new -i ng0 pptp pptp
        set iface disable on-demand
        set iface enable proxy-arp
        set iface idle 1800
        set iface enable tcpmssfix
        set bundle enable multilink
# enable TCP-Wrapper (hosts_access(5)) to block unfriendly clients
#       set bundle enable tcp-wrapper
# use RADIUS servers 
#       load radius
        set link yes acfcomp protocomp
        set link no pap chap
        set link enable chap
        set link keep-alive 10 60
        set link mtu 1460
        set ipcp yes vjcomp
#       set ipcp ranges 10.2.0.1/32 10.2.0.10/32
        set ipcp dns 10.2.0.1
#       set ipcp nbns 10.2.0.1
#
# The five lines below enable Microsoft Point-to-Point encryption
# (MPPE) using the ng_mppc(8) netgraph node type.
#
        set bundle enable compression
        set ccp yes mppc
        set ccp yes mpp-e40
        set ccp yes mpp-e128
        set ccp yes mpp-stateless



Pour mpd.links :


pptp0:
        set link type pptp
        set pptp self 192.168.1.1
        set pptp enable incoming
        set pptp disable originate
pptp1:
        set link type pptp
        set pptp self 192.168.1.1
        set pptp enable incoming
        set pptp disable originate
pptp2:
        set link type pptp
        set pptp self 192.168.1.1
        set pptp enable incoming
        set pptp disable originate



Dans cet exemple, le serveur PPTP dispose d'une carte réseau configurée avec l'adresse 192.168.1.1.
Son adresse du réseau VPN sera 10.2.0.1,
et seul 3 clients simultanés peuvent être connectés avec les adresses 10.2.0.2 , 10.2.0.3 et 10.2.0.4.
A chaque client, une interface y sera associé.
ng0 pour le premier client, ng1 pour le deuxième et ng2 pour le troisième.

Si on le souhaite, on peut tout à fait ajouter le nombre de clients PPTP qu'on veut.
La limite sera a priori, sur le nombre possible d'interface netgraph c'est à dire "ng".

Viens ensuite un exemple de fichier mpd.secret contenant la liste des utilsateurs et leur mot de passe :


fred            "fred-pw"
joe             "foobar"        192.168.1.1
bob             "\x34\"foo\n"   192.168.1.10/24
sal             "yipee"         192.168.1.254



Sur chaque ligne, le login en 1ère colonne et le mot de passe en 2ème colonne sont obligatoires.
La 3ème colonne est optionnelle et correspond à l'adresse IP du client qu'on autorise pour le login concerné.

Pour récupérer les logs syslog de mpd, vous pouvez modifier votre /etc/syslog.conf :


!mpd
*.*                                             /var/log/mpd.log



Si vous utiliser syslog-ng, vous pouvez modifier votre /usr/local/etc/syslog-ng/syslog-ng.conf
et ajouter ces 3 lignes :


destination mpd { file("/var/log/mpd.log" owner("root") group("wheel") perm(0640)); };
filter f_mpd { program("^mpd$"); };
log { source(src); filter(f_mpd); destination(mpd); };



Il ne vous reste plus qu'à lancer mpd
Ajouter :
mpd_enable="YES" dans votre /etc/rc.conf

Puis
$ /usr/local/etc/rc.d/mpd.sh start


Serveur VPN PPTP avec Poptop
Catégorie : FreeBSD
par hika hika AT bsdmon DOT com Homepage : http://www.bsdmon.com

Voici une des méthodes permettant de monter un serveur VPN PPTP :
Il s'agit d'utiliser Poptop.
L'avantage est que son installation est très simple.
Le problème, c'est qu'il n'y a pas d'encryption.
A l'heure où je rédige cet article, il s'agit de la version 1.1.4.

Pour l'installer, faites un petit :
$ cd /usr/ports/net/poptop
$ make -DWITH_KERNPPP install clean

Au préalable, il faut avoir activer ppp au niveau du kernel FreeBSD, ce qui est le cas avec le kernel GENERIC.

Ensuite, éditer le fichier /usr/local/etc/pptpd.conf


option /etc/ppp/options.pptpd
localip 10.2.0.1
remoteip 10.2.0.2-10



Ensuite, éditer ce fichier /etc/ppp/options.pptpd

require-chap



Reste à remplir votre fichier d'utilisateur dans le fichier /etc/ppp/chap-secrets

login1    *     password1    *
login2    *     password2    *



ATTENTION, ce fichier est sensible car les mots de passe sont en clair, donc
$ chmod 600 /etc/ppp/chap-secrets
$ chown root /etc/ppp/chap-secrets

Dans cet exemple, l'IP du réseau VPN du serveur sera 10.2.0.1.
Les IP de 10.2.0.2 à 10.2.0.10 correspondront à la plage d'adresses pour les clients PPTP.

Ensuite, il n'y a plus qu'à lancer le script suivant :
$ /usr/local/etc/rc.d/pptpd.sh start

<Précédent Suivant>
FreeBSD Mall Smarty Template Engine Page générée le Samedi 20 Avril 2024 05:38:35 Powered by FreeBSD
POWERED BY FreeBSD, Apache, PHP, PostgreSQL, Code & design by Hika
BSD Daemon Copyright 1988 by Marshall Kirk McKusick. All Rights Reserved.