Magazine

Installation openvpn

Publié le 20 janvier 2011 par Lmns972 @guestblog

Comme dans beaucoup d'entreprise il n'est pas rare de voir des liens VPN dans tous les sens ou même pour nous adminsys afin de nous connecter aux différents serveurs. Je n'expliquerais pas l'utilité d'utiliser des liaisons VPN mais comment nous allons mettre tout ceci en place.

Architecture: Serveur : eth0 connecté au net Client VPN : eth0 connecté au web , eth1 connecté au LAN 10.10.1.254 eth1.10 : 10.10.10.254 Client dérriere le client VPN : 10.10.10.0/24

Installation de openvpn sur le serveur

  1. /*
  2. apt-get install openvpn liblzo2-2 lzop
  3. */

On copie

  1. /*
  2. cp -R /usr/share/doc/openvpn/examples/easy-rsa/2.0/ /etc/openvpn/keys #si le répertoire keys n'existe pas le crée .
  3. */

On clen les certificats et les clés existantes (si nécessaire)

  1. /*
  2. ./clean-all
  3. */

On crée la clée et le certificat master

  1. /*
  2. ./build-ca
  3. */

Il faut maintenant créer une clée et un certificat pour notre serveur VPN

  1. /*
  2. ./build-key-server server-vpn #Mettre le même common-name que vous avez mis précedemment. , le mot de passe n'est pas obligatoire.
  3. */

Deux fichiers ont été crées server-vpn.crt et un server-vpn.key

Passons maintenant à la configuration des clées pour le client.

  1. ./build-key client-vpn # Garder votre common name il sera utile plus tard (client-vpn)

On génére les paramètres Diffie-Hellman

  1. /*
  2. ./build-dh
  3. */

Maintenant que tout cela ets fait il faut maintenant copier les fichiers que nous venons de générer sur notre client VPN

  1. /*
  2. cp fichiers/générés clientvpn:/etc/openvpn/
  3. */

Ah enfin notre fichier de configuration

  1. /*
  2. cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
  3. gunzip server.conf.gz
  4. */

Configuration Serveur:

  1. /*
  2. # Serveur TCP/1194
  3. mode server
  4. proto udp
  5. port 1194
  6. dev tun
  7.  
  8. # Cles et certificats
  9. ca ca.crt
  10. cert server-vpn.crt
  11. key server-vpn.key
  12. dh dh1024.pem
  13. tls-auth server-vpn.key 0
  14. cipher AES-256-CBC
  15.  
  16. # Reseau
  17. client-to-client
  18. server 10.8.0.0 255.255.255.0
  19. keepalive 10 120
  20.  
  21. # Securite
  22. user openvpn
  23. group openvpn
  24. chroot /etc/openvpn/
  25. persist-key
  26. persist-tun
  27. comp-lzo
  28.  
  29. # Log
  30. verb 4
  31. mute 20
  32. status openvpn-status.log
  33. log-append /var/log/openvpn/openvpn.log
  34.  
  35. __client-config-dir ccd
  36. route 10.10.0.0 255.255.255.0__
  37. */

La partie en gras nous permets de dire à notre serveur VPN comment atteindre le réseau distant . Pour cela il faut créer un répertoire ccd dans /etc/openvpn/ et créer un fichier avec le nom de votre common-name .
Ce fichier contient

  1. /*
  2. iroute 10.10.10.0 255.255.255.0
  3. */

Configuration Client

  1. /*
  2. #Configuration client
  3. client
  4. dev tun
  5. proto udp
  6. remote ip_publique_serveur 1194
  7. resolv-retry infinite
  8. nobind
  9. persist-key
  10. persist-tun
  11.  
  12. #Clefs
  13. ca ca.crt
  14. cert client-vpn.crt
  15. key remote-server.key
  16. tls-auth client-vpn.key 1
  17. cipher AES-256-CBC
  18. pull
  19. comp-lzo
  20. verb 3
  21. mute 20
  22. */

Test de ping depuis le serveur

  1. /*
  2. # ping 10.8.0.6
  3. PING 10.8.0.6 (10.8.0.6) 56(84) bytes of data.
  4. 64 bytes from 10.8.0.6: icmp_seq=1 ttl=64 time=22.7 ms
  5. 64 bytes from 10.8.0.6: icmp_seq=2 ttl=64 time=23.0 ms
  6. ^C
  7. --- 10.8.0.6 ping statistics ---
  8. 2 packets transmitted, 2 received, 0% packet loss, time 1001ms
  9. rtt min/avg/max/mdev = 22.720/22.904/23.088/0.184 ms
  10.  
  11. # ping 10.10.10.53
  12. PING 10.10.10.53 (10.10.10.53) 56(84) bytes of data.
  13. 64 bytes from 10.10.10.53: icmp_seq=1 ttl=63 time=25.5 ms
  14. 64 bytes from 10.10.10.53: icmp_seq=2 ttl=63 time=23.4 ms
  15. ^C
  16. --- 10.10.10.53 ping statistics ---
  17. 2 packets transmitted, 2 received, 0% packet loss, time 1001ms
  18. rtt min/avg/max/mdev = 23.403/24.456/25.510/1.065 ms
  19. */

On voit bien que nous pouvons joindre notre client VPN ainsi que les machines qui se trouvent derrière elles

:)

Si vous avez ce genre d'erreur

  1. /*
  2. MULTI: bad source address from client [10.10.10.53], packet dropped
  3. MULTI: bad source address from client [10.10.10.53], packet dropped
  4. */

C'est que votre configuration au niveau des ccd n'est pas correct. Ou que le nom du fichier dans le répertoire ccd ne correspond pas au common-name.


Retour à La Une de Logo Paperblog

A propos de l’auteur


Lmns972 3 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte