Gateway VPN avec OpenVPN.
System-linux aime OpenVPN et vous propose une petite configuration client/serveur pour utiliser votre VPN comme route par défaut.
Pratique pour accéder à l'intranet de votre entreprise depuis chez vous.
Dans notre exemple nous avons choisi le mode d’authentification par clef SSL. Je vous invite à consulter notre précédent article, qui vous expliquera comment générer les certificats client et serveur.
Configuration du client
client ;dev tun dev tap remote $SERVER_IP 1194 proto udp ;proto tcp nobind ca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys/$client.crt key /etc/openvpn/keys/$client.key comp-lzo log /var/log/openvpn.log log-append /var/log/openvpn.log verb 3
Pensez à adapter les variables $client et $SERVER_IP, avec vos propres paramètres.
Configuration du serveur
/etc/openvpn/server.conf (sous Debian)
port 1194 proto udp ;proto tcp ;dev tun dev tap 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.8.0.0 255.255.255.0 ifconfig-pool-persist /etc/openvpn/ipp.txt push "redirect-gateway" push "dhcp-option DNS $SERVER_DNS1" push "dhcp-option DNS $SERVER_DNS2" comp-lzo keepalive 10 120 log /var/log/openvpn.log log-append /var/log/openvpn.log status /var/log/openvpn-status.log verb 3
Pensez à adapter les variables $SERVER_DNS1, $SERVER_DNS2 et $server avec vos propres paramètres.
NAT de l'IP source cliente.
Pour ne pas s'embêter avec le routage de la classe d'adresse cliente, nous allons traduire l'IP source cliente par l'une des IP de notre serveur déjà routé sur le réseau de l'entreprise.
Avec iptables c'est simple.
# iptables -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j SNAT --to-source $IP
Ici eth0 est notre interface de sortie et $IP l'une des adresses configuré sur eth0. Si vous n'avez pas besoin de finesse un simple -j MASQUERADE devrait fonctionner sans problème.