4492
Commentaire: Créée
|
4493
|
Texte supprimé. | Texte ajouté. |
Ligne 5: | Ligne 5: |
Voici un petit guide pour installer un serveur et un client OpenVPN, qui correspond à ce que j'ai (CédricProtière) mis en oeuvre à Cotonou, en utilisant http://openvpn.net/howto.html et la patience de JéromeSantini. | Voici un petit guide pour installer un serveur et un client OpenVPN, qui correspond à ce que j'ai (CédricProtière) mis en oeuvre à Cotonou, en utilisant http://openvpn.net/howto.html et la patience de JérômeSantini. |
Création d'un tunnel VPN
Voici un petit guide pour installer un serveur et un client OpenVPN, qui correspond à ce que j'ai (CédricProtière) mis en oeuvre à Cotonou, en utilisant http://openvpn.net/howto.html et la patience de JérômeSantini.
Sur le serveur
Initialisation
Installer openvpn (aptitude install openvpn)
Copier le contenu du répertoire /usr/share/doc/openvpn/examples/easy-rsa dans un nouveau répertoire /etc/openvpn afin de ne rien perdre lors d'une maj d'openvpn (et puis c'est mieux rangé)
Modifier /etc/openvpn/vars (pour Cotonou : {{{export KEY_COUNTRY=BJ
export KEY_PROVINCE=Atlantique export KEY_CITY=Cotonou export KEY_ORG="AUF" export KEY_EMAIL="root+openvpn@bj.refer.org"}}}) == Création des certificats et des clés ===
Initialiser la PKI (Public Key Infrastructure) ; créer le certificat et la clé du CA (Certificate Authority) maître : cf http://openvpn.net/howto.html#pki {{{. ./vars
./clean-all ./build-ca}}}
Créer la paire certificat/clé du serveur : sudo grep "SET_DNS" /etc/dhcp3/dhclient* (/!\ A la question Common Name, répondre server ; "Sign the certificate? [y/n]" y ; "1 out of 1 certificate requests certified, commit? [y/n]" y)
Générer une paire par client : ./build-key sysadmin par exemple (bien choisir sysadmin comme Common Name)
Générer les paramètres Diffie Hellman : ./build-dh
Initialisation du fichier de configuration
Copier /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz dans /etc/openvpn et le décompresser (gunzip /etc/openvpn/server.conf.gz)
- Modifier les paramètres ca, cert, key, dh : {{{ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt key /etc/openvpn/keys/server.key dh /etc/openvpn/keys/dh1024.pem server 10.25.2.0 255.255.255.0 #Je choisis ici d'avoir comme RPV 10.25.2.0/24 push "route 10.0.0.0 255.0.0.0" #pour ajouter la route 10.0.0.0/8
Mettre à jour le filtrage
Ajouter les lignes suivantes dans le fichier de configuration du filtrage (par exemple /etc/network/firewall-install) : {{{#openvpn : on accepte openvpn (depuis poste de l'admin)
# nfs-cotonou a cause de snat, sinon ca devrait etre l'ip du poste : $IPT -A INPUT -p udp --dport 1194 -s 81.91.236.4 -j ACCEPT $IPT -A OUTPUT -p udp --dport 1194 -d 81.91.236.4 -j ACCEPT
# Allow TUN interface connections to OpenVPN server ${IPT} -A INPUT -i tun+ -j ACCEPT
# Allow TUN interface connections to be forwarded through other interfaces ${IPT} -A FORWARD -i tun+ -j ACCEPT }}}
Tester
sudo openvpn /etc/openvpn/server.conf devrait donner qqch comme : {{{Thu Nov 23 17:20:37 2006 OpenVPN 2.0 i386-pc-linux [SSL] [LZO] [EPOLL] built on Apr 6 2006
Thu Nov 23 17:20:37 2006 Diffie-Hellman initialized with 1024 bit key Thu Nov 23 17:20:37 2006 TLS-Auth MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ] Thu Nov 23 17:20:37 2006 TUN/TAP device tun0 opened Thu Nov 23 17:20:37 2006 /sbin/ifconfig tun0 10.25.2.1 pointopoint 10.25.2.2 mtu 1500 Thu Nov 23 17:20:37 2006 /sbin/route add -net 10.25.2.0 netmask 255.255.255.0 gw 10.25.2.2 Thu Nov 23 17:20:37 2006 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:23 ET:0 EL:0 AF:3/1 ] Thu Nov 23 17:20:37 2006 GID set to openvpn Thu Nov 23 17:20:37 2006 UID set to nobody Thu Nov 23 17:20:37 2006 UDPv4 link local (bound): [undef]:1194 Thu Nov 23 17:20:37 2006 UDPv4 link remote: [undef] Thu Nov 23 17:20:37 2006 MULTI: multi_init called, r=256 v=256 Thu Nov 23 17:20:37 2006 IFCONFIG POOL: base=10.25.2.4 size=62 Thu Nov 23 17:20:37 2006 IFCONFIG POOL LIST Thu Nov 23 17:20:37 2006 Initialization Sequence Completed}}}
Sur le client
- Installer le paquet openvpn
- Récupérer la pair clé/certificat du client ainsi que le CA maître générés sur le serveur (/!\ ce n'est pas optimal : il serait mieux de créer les pairs de chaque client directement sur le client et pas sur le serveur)
Récupérer client.conf dans /usr/share/... et configurer les paramètres ca, cert, key
Tester : sudo openvpn /etc/openvpn/client.conf
Finalisation
Installer le paquet resolvconf
- Ajouter les lignes suivantes dans /etc/network/interfaces : {{{dns-nameservers 10.25.1.1
dns-search refer.bj}}}
Redémarrer les interfaces : sudo invoke-rc.d networking restart