This site uses cookies! Learn More

Ce site utilise des cookies !

En continuant à utiliser ce site, vous vous engagez à nous permettre de stocker des cookies sur votre ordinateur.

 

Si nous utilisons des cookies et retenons des données anonymes, c’est pour nous aider à mieux gérer notre mesure d’audience, aider nos partenaires commerciaux à nous rémunérer et nos partenaires publicitaires à proposer des annonces qui vous correspondent.

 

Grâce à ces cookies, le forum est en mesure de savoir qui écrit un message et utile pour le système d'authentification.

 

En cliquant sur « J'accepte », vous acceptez l'utilisation par NAS-Forum de cookies publicitaires et de mesure d'audience fine.

Einsteinium

[VPS] OpenVPN/Nginx pour l’ouverture de ports en 4G

Messages recommandés

Bonjour à tous,

 

Introduction :

Alors dans ce tutoriel nous allons voir l’installation d’un VPS avec OpenVPN et Nginx, afin de pouvoir ouvrir des ports vers notre NAS lorsque l’on passe par la 4G ou alors si on ne désire pas exposer directement notre IP/Serveur à la façon cloudfire.

Je parlerai de l’installation sous OVH, ce dernier permettant un firewall performant et simple en entrée avant même de pouvoir atteindre le VPS et évitant donc de jouer avec iptables, cela permet donc aux novices de mettre en application ce tutoriel sans trop de difficulté.

Informations importantes Dans ce tutoriel soit vous vous limitez à OpenVPN avec l’ouverture de port direct, soit vous poussez plus loin avec un domaine, Nginx et lets encrypts pour faire du reverse proxy et ne pas ouvrir directement des ports.

Niveau requis : Être familier avec le ssh (putty) et l’édition de fichier en mode console (vim), je détaillerai chaque commande ssh pour les novices.

 

Le VPS :

https://www.ovh.com/fr/vps/vps-ssd.xml

Pour ma part j’ai pris le plus petit à 2,99€ HT (3,59€. TTC), inutile de prendre plus gros, le serveur ne servira que de passerelle.

Une fois validé la localisation de votre serveur, il faudra « Sélectionnez une image » et c’est ici que l’on choisira « Système d'exploitation seul » puis « debian 9 ».

Vous recevrez après paiement, le VPS sous une dizaine de minute, avec un mail contenant adresse et identifiants.

 

Configuration du firewall network :

1564603958-dc2cdc2a-8af8-49f5-813a-4b611

Vous cliquez dans le menu sur « IP », vous verrez les deux IP de notre VPS une IPV4 et une IPV6. En bout de ligne IPV4, on fait les 3 petits points et on active le firewall, après quelques minutes nous aurons le choix au même endroit de configurer le firewall, les règles de base à mettre :

Priorité 0 | Action autoriser | Protocole TCP | Drapeaux established 

Priorité 19 | Action refuser | Protocole IPV4

Nous rajouterons ensuite entre deux les ports de notre serveur que nous utiliserons :

1194 en UDP sur notre seule IP si possible. (OpenVPN)

943/22 en TCP sur notre seule IP si possible. (Serveur web OpenVPN d’administration et SSH)

80/443 en TCP pour toutes les IP. (Serveur Nginx, uniquement si vous comptez le mettre)

Pour ma part je suis chez free en internet fixe, je n’autorise donc que cette IP pour le port 943/22 pour l’administration du serveur. (Port 22 que nous changerons par la suite)

Pour le port 1194, vu que je passe par free mobile via routeur 4G, j’ai fait 3 règles qui n’autorisent que les IP free mobile à se connecter à OpenVPN, là aussi afin de réduire à néant les tentatives d’attaques sur le serveur (Sachant que nous mettrons une protection contre les tentatives de connections multiples, mais à ce jour je n’ai subi aucune tentative de connection venant d’un utilisateur free mobile en dehors des miennes)

1564603959-8c7335cf-3bef-40ce-8088-15b18

Vous pouvez fermer la fenêtre, profitez en pour renseigner le reverse dns du domaine que vous avez pris si tel est le cas.

 

Installation du VPS :

Vous avez reçu par mail l’adresse et les identifiants de votre VPS, on s’y connecte en ssh et on y va...

passwd root

(changement du password root)

adduser VOTREUSER --force-badname

(Création d’un utilisateur, afin de désactiver la connection direct par root)

cd /home/VOTREUSER

(on se déplace dans le dossier personnel de votre utilisateur)

wget https://openvpn.net/downloads/openvpn-as-latest-debian9.amd_64.deb

(on télécharge OpenVPN)

dpkg -i openvpn-as-latest-debian9.amd_64.deb

(on installe)

passwd openvpn

(on change le mdp du compte admin d’openvpn)

 

Configuration de OpenVPN :

On configure désormais OpenVPN via l’interface web, et l’identifiant openvpn :

https://IPDEVOTREVPS:943/admin/

Ci joints les différents paramètres à avoir.

 

TLS Settings :

1564602247-26107c1e-98f8-49ee-89d4-a5e8c

 

Server Network Setting :

1564602247-7bfccf21-e893-47c6-91d4-9a266

 

VPN Setting :

1564602248-a0b8aa6b-9f64-4cc7-8f14-bfd4e

 

User Authentification :

1564602248-15d6d45e-1673-4180-8f2d-965b2

 

User Permissions :

Dans new username on indique le nom d’utilisateur précédemment créé :

1564602247-9c15d7cc-d3f8-4d96-8be2-f0b02

De là on modifie les settings afin de mettre une IP fixe à la machine :

1564602248-50336eca-e580-4b43-863c-cad61

Alors admettons que vous vouliez ouvrir directement un port car vous n’avez pas de domaine, je vous mets un exemple ci dessous, sachant que si vous ouvrez un port directement, il faudra aussi le mettre dans le firewall network d’ovh :

1564606718-b2bb0436-70c4-4c93-997f-d509a

 

Si vous ne comprenez pas certains choix, faites le savoir en commentaire.

 

Poursuite de l’installation du VPS :

On termine la configuration du VPS en repartant en ssh.

apt-get update

(On met à jour la liste des paquets)

apt-get upgrade

(On met à jour le serveur)

apt-get install fail2ban vim htop dnsutils unzip sendmail

(on installe plusieurs paquets qui seront utiles, fail2ban pour la sécurité par exemple et empêcher les attaques par brute force)

On va désactiver l’ipv6 sur le VPS, inutile dans notre cas et par sécurité :

vim /etc/sysctl.conf

On va à la fin du fichier, on appuie sur « i » pour pouvoir insérer du texte et on met :

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.all.autoconf = 0
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.default.autoconf = 0

On fait ensuite « echap », on tape « :wq » et enfin « entrée », cela sauvegarde et ferme le fichier (on appliquera le même principe pour la suite des modifications), on tapera ensuite afin de valider les changements pour l’ipv6 :

sysctl -p

On va modifier fail2ban maintenant, on commence par l’augmentation de durée de bannissement.

vim /etc/fail2ban/jail.conf

Et on modifie la valeur :

bantime 604800

Durée en seconde d’un ban, soit 7 jours, bien mieux que les 10 minutes d’origine.

vim /etc/fail2ban/jail.d/defaults-debian.conf

On rajoute dedans :

[pam-generic]
enabled = true

Vous remarquerez les premières lignes déjà présentes qui protègent le ssh, ici nous rajoutons pour protéger la connection à OpenVPN, on relance le service maintenant.

/etc/init.d/fail2ban restart

On modifie maintenant le port ssh et on désactive la connection root.

vim /etc/ssh/sshd_config

On modifie :

PermitRootLogin no
Port ???

A vous de choisir, on n’oubliera pas de supprimer le 22 puis de mettre ce nouveau dans le firewall network d’ovh, on relance ensuite le service

/etc/init.d/ssh restart

On ne tient pas à devoir surveiller les updates de sécurité du serveur pour ne pas avoir de failles, on automatise donc cela.

Attention après re connection ssh à partir de maintenant, la connection se fera avec notre utilisateur créé précédemment et on tapera « su », on validera puis on tapera le mot de passe root.

apt-get install unattended-upgrades apt-listchanges
vim /etc/apt/apt.conf.d/50unattended-upgrades

On modifie les deux valeurs suivantes telles quelles :

Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "03:00";

On lance ensuite pour vérifier :

unattended-upgrades -v

Et voilà nous aurons une machine qui fera tous ses updates de sécurité et qui s’il faut reboot, le fera à 3 heures du matin.

Voilà si vous n’avez pas de domaine et faites de l’ouverture de port directement à travers OpenVPN, le tutoriel est fini pour vous, vous récupérez le profil client.opvn pour connecté votre nas à cette adresse en utilisant notre utilisateur précédemment créé :

https://ipdevotrevps:943

Pour les autres la suite démarre maintenant 🙂

(Enfin démarre bientôt 🤪)

 

😉

Partager ce message


Lien à poster
Partager sur d’autres sites

Hello,

Dis moi pas que tu as fait ce tuto sur ta tablette 😧

Grand fou va 🤣

Bon sinon, plus sérieusement, tuto bien sympathique et hâte de lire la suite (partie domaine).

Je ne pense pas le mettre en application car je n'en vois pas trop l'intérêt de mon côté à part peut-être cacher ma réelle IP pour afficher celle du VPS...

Tu dis ceci :

Citation

afin de pouvoir ouvrir des ports vers notre NAS lorsque l’on passe par la 4G ou alors si on ne désire pas exposer directement notre IP/Serveur à la façon cloudfire.

Que veux-tu dire exactement ? Dans quel but exactement tu en as l'utilisation ? Tu veux dire que par exemple pour Plex, ça passe par le port 32400 via le VPS sans que ta connexion 4G (modem) ne bronche ?

Je pense qu'il me faudrait un schéma pour comprendre le fonctionnement 😅

Tu n'as donc plus cette limitation de 2m sur Plex ou ça n'a rien changé de ce côté là ?

Et niveau performance sur la ligne ? Tu notes des soucis ou rien du tout comme désagrément stp ?

Bravo en tout cas, beau tuto même si je suis pas certain qu'il attire les foules sur le forum.

PS: rahhh, tu me donnes envie de prendre de suite un VPS pour faire mumuse 😂

Partager ce message


Lien à poster
Partager sur d’autres sites

Sur iPhone XS Max, et la mise en forme sur iPad Pro 12,9’´ 🤣

Oui ce tutoriel est utile pour ceux comme moi qui n’ont pas la fibre 🤣

Et bien en 4G on ne peut pas ouvrir de port globalement (hormis quelques exceptions coûteuses), dans mon cas oui cela me sert en t’autre pour plex, ds file et chat, le nas passant par la connection 4G au lieu de l’adsl.

Il y a des coupures en 4G, comme sur l’adsl en IP non fixe, mais le fait d’avoir une liaison VPN actif, réduit ses dernières, qui se font que lors des périodes de temps mort d’activité (on parle d’une micro coupure, qui ne se ressent même pas à l’usage, du moins avec mon routeur 4G), le nas lui ne se déconnecte même pas du VPN à vraie dire (sauf si reboot du VPS suite update), cela doit entrainé quelques millisecondes de timeout voir 1 seconde ou 2 grand Max avec le VPS...

Au début je passais que par cette méthode d’ouverture de port direct (bon après tu le sais à 15€ les 10 ans pour un .eu la promo...)

Je passes par le reverse dns, avec tout de déclare sur le serveur plex et c’est transparent et plus de bridage de débit, enfin si la limite du VPS qui est de 100mbits, mais à 12,5mo/s... faut déjà avoir de très gros flux.

Après en suivant ce que j’ai mis dans le tutoriel, le traffic du nas ne traverse pas en totalité le VPS, seul les échanges entre les services ouverts, quand on les interroges via les sous domaines/ports transitent, le reste passe normalement à travers la connection habituelle.

Partager ce message


Lien à poster
Partager sur d’autres sites

Ok merci pour ces éclaircissements.

Avec ton routeur 4G, tu arrives à combien en débit 4G que ce soit en période creuse comme le soir tard ou les périodes moins creuses comme les rentrées de travail et d'école vers 17h30 ?

Parce que tu dis avoir cette limitation de 100m chez OVH mais il y a aussi le débit 4G en plus à prendre en compte et ses fluctuations.

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Alors j’habite dans un hameau de 3000 âmes qui n’a qu’une antenne 4G free, je suis à 1,2km à vol d’oiseau, le routeur et pas particulièrement bien placé (aussi bien chez moi, que géographiquement par l’antenne) et je n’utilises que ses deux oreilles de lapin.

C’est un routeur que je dois avoir mis en signature de mémoire, mais je n’ai pour le moment que deux bande sur l’antenne relais (bientôt 3 huhu), je download à environ 20mo/s et upload à 3mo/s (au lieu de 1mo/s et 115ko/s en adsl...), débit constant en permanence, par contre je remarque que en face y a des ralentissements sur les serveurs de téléchargement par exemple (je dois en cumulé plusieurs pour plafonné au lieu d’un seul, uptobox par exemple)

Nan franchement dans ma ville, je suis surpris de la 4G, après je penses aussi que le routeur y est pour beaucoup aussi sur la réception et la stabilité, car vue le nombre de gens chez free dans ma zone, l’antenne elle doit être bien chargée 🤣

Partager ce message


Lien à poster
Partager sur d’autres sites

Super tuto, je pense m'en servir bientôt pour un copain... 😎

au fait, la commande apt-get n'est plus utile sous debian 9, remplacée par apt...

je pense que unbound aurais sa place sur ton vps.

bonne soirée

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 34 minutes, MS_Totor a dit :

au fait, la commande apt-get n'est plus utile sous debian 9, remplacée par apt...

je pense que unbound aurais sa place sur ton vps.

 

alors je suis de la vieille école moi, après apt-get à encore bien plus de fonction que apt qui est encore tout jeune comparé, voilà le pourquoi ici 😜

Unbound, c’est une fonction qui peu être envisageable pour un VPS, mais ici c’est vraiment pour servir de relais, la suite du tutoriel que je mettrais d’ici fin août, sera un peu plus costaud, surtout niveau sécurité pour nginx, et cela afin d’avoir une très bonne note, le tout en filtrant géographiquement les sous domaines contre les indésirables assez simplement.

Partager ce message


Lien à poster
Partager sur d’autres sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

Chargement