Attention, cet article a plus d'une année d'ancienneté. Il est possible que les informations présentées ne soient plus à jour, spécialement dans le cadre d'un article technique.
Une version de ce tutoriel avec la création d’une brique sous Raspberry Pi 2 sortira la semaine prochaine.
Bonjour à tous,
J’ai entendu parler du projet La Brique Internet et j’ai trouvé cela très intéressant.
Je vais donc vous montrer comment comment créer votre propre « brique » chez vous et en plus je vais vous montrer la configuration d’un serveur OpenVPN distant.
Création d’un serveur OpenVPN :
Dans cet exemple, j’ai choisi de prendre un serveur OpenVPN en Suède chez l’hébergeur YourServer, mais vous pouvez commander un VPS offshore n’importe tout dans le monde grâce à ce comparateur 🙂
Commandez par exemple un VPS à 4€ par mois en Suède pour tester :
Installez ce serveur avec un Debian 7 x64 lors de la commande :
Après le paiement, vous recevrez un mail comme celui-ci, connectez vous ensuite à votre serveur en SSH :
Surtout pensez à activer le TUN/TAP
Bon l’installation minimale proposée par YourServer est vraiment … minimale …
On va commencer par installer un nouveau fichier sources.list et ensuite on va mettre à jour vers Debian 8 :
rm /etc/apt/sources.list vi /etc/apt/sources.list
Appuyez sur la touche i pour rentrer en mode édition et copiez le contenu suivant :
deb http://ftp.proxad.net/mirrors/ftp.debian.org/ jessie main contrib non-free deb-src http://ftp.proxad.net/mirrors/ftp.debian.org/ jessie main contrib non-free deb http://security.debian.org/ jessie/updates main contrib non-free deb-src http://security.debian.org/ jessie/updates main contrib non-free deb http://ftp.proxad.net/mirrors/ftp.debian.org/ jessie-updates main contrib non-free deb-src http://ftp.proxad.net/mirrors/ftp.debian.org/ jessie-updates main contrib non-free deb http://ftp.proxad.net/mirrors/ftp.debian.org/ jessie-backports main contrib non-free deb-src http://ftp.proxad.net/mirrors/ftp.debian.org/ jessie-backports main contrib non-free
Ensuite, appuyez sur échap et tapez la commande suivante suivie de entrée :
:x
Maintenant, lancez la commande suivante :
apt-get update && apt-get dist-upgrade -y --force-yes
Répondez N à toute les questions sur les fichiers de configuration et redémarrez le serveur avec la commande suivante :
reboot
Maintenant, mettez à jour le système et installez nano :
apt-get update && apt-get upgrade -y && apt-get install nano -y
Nous allons maintenant installer OpenVpn et générer le certificat avec la commande suivante :
wget git.io/vpn --no-check-certificate -O openvpn-install.sh; bash openvpn-install.sh
Le script d’installation vous guide bien. Au choix du système de DNS, choisissez celui qui vous plait le plus ou utilisez ceux fournis avec le serveur (google par défaut).
Un fichier .ovpn sera créer, gardez-le pour la suite.
N’oubliez pas d’ouvrir les ports nécessaires dans Iptables et dans votre pare-feu externe :
iptables -A INPUT -p tcp -m tcp --dport 1194 -j ACCEPT iptables -A INPUT -p udp -m udp --dport 1194 -j ACCEPT
Et c’est fini pour la configuration du serveur, on va maintenant passer à la « brique » en elle même qui sera chez vous.
Création de la brique Internet :
Personnellement, je dispose d’un serveur Hyper-V qui tourne 24/24 chez moi. Il servira donc a héberger Yunohost. L’installation sera la même que sous un PC physique.
Dans un premier temps, j’ai récupéré l’image 64 bits de Yunohost en torrent sur le site officiel.
J’ai ensuite créé une nouvelle machine virtuelle avec la configuration suivante :
- 2 vCPU
- 1024mo de ram
- 20Gb d’espace disque sur SSD
Choisissez Graphical install au démarrage :
Choisissez votre langue et laissez le système s’installer :
Ensuite, lancez l’assistant de post-installation de YunoHost. Pour finir vous aurez un écran semblable :
Maintenant, accédez à l’adresse donnée et acceptez le certificat auto-signé :
Maintenant, mettez à jour le système en allant dans Outils -> Mettre à jour le système :
Ensuite, installez l’application VPN client de la brique internet en allant dans Applications -> Installer, rentrez cette URL dans le dépôt git en bas :
https://github.com/labriqueinternet/vpnclient_ynh
Maintenant, dans les paramètres d’installation, renseignez l’adresse IP du vps qui héberge votre serveur OpenVPN :
Créez un utilisateur et connectez vous à l’administration web du client VPN.
Retournez sur votre serveur OpenVPN et allez dans ce répertoire :
cd /etc/openvpn/easy-rsa/2.0/keys
Récupérez ces 3 fichiers :
client.key client.crt ca.crt
Envoyez les et appliquez les changements :
Si tout est bien fait, le service va redémarrer :
Maintenant, retournez en ligne de commande sur votre serveur Yunohost et ouvrez le fichier sysctl.conf :
nano /etc/sysctl.conf
Décommentez les lignes suivantes :
net.ipv4.ip_forward=1 net.ipv6.conf.all.forwarding=1
Ouvrez le fichier des interfaces réseau de Debian :
nano /etc/network/interfaces
Et rajoutez cette ligne en bas :
post-up iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
Maintenant, redémarrez votre serveur :
reboot
Maintenant, deux cas de figure s’offrent à nous.
Si vous avez un serveur DHCP paramétrable :
Vous avez du bol.
Changez simplement l’adresse de votre passerelle actuelle par celle du serveur Yunohost. Mettez juste le serveur Yunohost en adressage automatique pour qu’il ne perde pas la « vraie » passerelle !
Si vous n’avez pas un serveur DHCP paramétrable :
Pareil, avant tout vous devez mettre le serveur Yunohost en adressage automatique en lui donnant la « vraie » passerelle.
Ensuite, suivez la documentation officielle de Debian pour en configurer un sur votre serveur.
Pensez bien au fait que la passerelle doit être le serveur Yunohost.
Test :
Redémarrez d’abord tous vos équipements pour que les paramètres IP soit pris en compte sur tout votre réseau.
Rendez-vous sur un site comme mon-ip. Si c’est l’adresse de votre serveur OpenVPN qui s’affiche alors c’est gagné !
Plus cocasse, si Google s’affiche en Suédois (ou autre selon le pays de votre VPS) c’est que cela marche aussi 🙂
Bonus :
Je souhaite quand même bonne chance aux guignols qui nous pondent le projet de loi sur le renseignement et qui espèrent que cela va passer sans casse …
Salut, J’ai suivi le tuto pour la mise en place d’un serveur VPN sur Yourserveur. Cependant je crois qu’il y a deux trois trucs qui n’ont pas fonctionner ou qui ne sont plus a jours, car le script ne m’a pas généré les fichier client.crt et .key. Je les ai édité moi même a partir du fichier .ovpn. A l’installation de VPN client sur mon serveur Yunohost aucun serveur VPN n’est demande. J’ai essayer de paramétrer l’appli en mettant l’ip du serveur VPS dans « Serveur address »et l’ip6 dans Delegated prefix puis les certificat et la clef mais ca ne fonctionne… Voir plus »
Salut,
Pas de bugs, le script est bien censé générer un fichier .ovpn.
Par contre je ne me sers quasiment pas de Yunohost alors je ne pourrais pas t’aider là-dessus.