serveur:openvpn

OpenVPN

Le serveur

Installation
$ aptitude update; aptitude safe-upgrade; aptitude install openvpn
$ cp -R /usr/share/doc/openvpn/examples/easy-rsa/2.0/  /etc/openvpn/easy-rsa/
$ cd /etc/openvpn/easy-rsa/ 
 
# Editer le fichier suivant
$ nano /etc/openvpn/easy-rsa/vars

Mettre à jour les ligne suivante à la fin du fichier:

       export KEY_COUNTRY="FR"
       export KEY_PROVINCE="FR"
       export KEY_CITY="Paris"
       export KEY_ORG="Gwadanina"
       export KEY_EMAIL="me@gwadanina_net"
$ ln -s /usr/share/doc/openvpn/examples/easy-rsa/2.0/openssl-1.0.0.cnf openssl.cnf
$ source ./vars
$ ./clean-all
$ ./build-ca
 
# Création du certificat pour le serveur
$ ./build-key-server server
 
# Création du certificat pour un client
$ ./build-key android-mobile
 
# Création du paramètre Diffie Hellman
$ ./build-dh
$ mkdir -p /etc/openvpn/keys/
$ cp keys/ca.crt keys/ca.key keys/server.key keys/server.crt keys/dh1024.pem /etc/openvpn/keys/
 
# Création d'un user avec des droits limités
$ groupadd openvpn
$ useradd -d /dev/null -g openvpn -s /bin/false openvpn
$ chown openvpn:openvpn -R /etc/openvpn/
 
# Génération d’une clef TLS
$ openvpn --genkey --secret /etc/openvpn/ta.key
 
# Configuration d’OpenVPN
$ nano /etc/openvpn/server.conf

Mettre les informations suivantes dans le fichier:

# Configuration du serveur
mode server
dev tun # l’interface réseau utilisée               
max-clients 4
port 4443
 
# port-share XXX.XXX.XXX.XXX 4443
server 10.10.0.0 255.255.255.0
proto tcp # on peut utiliser le protocole TCP ou UDP
keepalive 10 120
persist-key
persist-tun
comp-lzo
ifconfig-pool-persist ipp.txt
 
# SSL parameters
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
dh /etc/openvpn/keys/dh1024.pem
tls-auth /etc/openvpn/ta.key 0
tls-server
 
# VPN Gateway offer DNS parameters
push "dhcp-option DOMAIN gwadanina.net"
push "dhcp-option DNS 10.1.0.1" 
push "dhcp-option DNS 10.1.0.2" 
push "dhcp-option WINS 10.1.0.3" 
push "dhcp-option NTP 10.1.0.4"
push "redirect-gateway def1"
push "dhcp-option DNS 88.191.254.60" # DNS À MODIFIER SAUF POUR DEDIBOX
 
# VPN Gateway offer this routes to clients
push "redirect-gateway"
push "route 10.2.0.0 255.255.0.0"
ifconfig-pool-persist ipp.txt
 
# Fix MTU problems
mssfix 1300
 
# Drop root privileges
chroot /etc/openvpn
user openvpn
group openvpn
chroot /etc/openvpn/jail
 
#  Gestion des clients
client-to-client
client-config-dir ccd
 
# Logging configuration
status /var/log/openvpn/status.log
log-append /var/log/openvpn.log
 
verb 1
Fichier de log
$ mkdir -p /var/log/openvpn/
$ nano /etc/logrotate.d/openvpn
 
# Ajouter les lignes suivantes:
/var/log/openvpn/status.log {
    rotate 4
    daily
    copytruncate
    compress
    missingok
    notifempty
}
Validations
$ /etc/init.d/openvpn start
$ ps aux | grep openvpn
$ ifconfig tun0
$ ping 10.10.0.1
Rajouter la configuration du NAT au redémarrage
$ cd /etc/init.d
$ touch openVPN.sh
$ chmod +x openVPN.sh
$ update-rc.d openVPN.sh defaults 99
$ nano /etc/init.d/openVPN.sh
 
 echo 1 > /proc/sys/net/ipv4/ip_forward
 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE # -i tun0
 iptables -t nat -A POSTROUTING -s 10.10.0.0/24 -o eth0 -j MASQUERADE # -i tun0
 iptables -t filter -A OUTPUT -p tcp --dport 4443 -j ACCEPT
 iptables -t filter -A INPUT -p tcp --dport 4443 -j ACCEPT
 iptables -A INPUT -i eth0
 iptables -A FORWARD -i tun0 -j ACCEPT
 iptables -A FORWARD -o tun0 -j ACCEPT

Le client

Configuration du client

Copier les certificats : ta.key, ca.crt, client.crt, client.key et client.conf dans le repertoire /sdcard/openvpn du mobile

$ nano /sdcard/openvpn/client.conf
client
dev tun
proto tcp
remote IP_PUBLIQUE_DE_VOTRE_SERVEUR 4443 # IP À MODIFIER
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert android-mobile.crt # NOM À MODIFIER
key android-mobile.key # NOM À MODIFIER
tls-auth ta.key 1
comp-lzo
verb 3
route-method exe 
route-delay 2
OpenVpn sur Android

Installer la version d'OpenVPN de Friedrich Schäuffelhut : https://play.google.com/store/apps/details?id=de.schaeuffelhut.android.openvpn.installer

Pour la configuration : https://play.google.com/store/apps/details?id=de.schaeuffelhut.android.openvpn

Suivre l'installation en rajoutant les différents logiciels demandés comme busybox …

Test du client

Utilisez le site http://www.whatismyip.com/ afin de constater l'adresse IP du serveur sur le client

  • serveur/openvpn.txt
  • Dernière modification: 2018/10/13 14:59
  • (modification externe)