Ouvrir un port sans rendre tout le VPS public
Autoriser le protocole et la source nécessaires dans le pare-feu du panel et dans Linux. Une application peut être bloquée par deux couches.
Une application peut être bloquée par deux couches : le pare-feu ACLClouds du panel et UFW, nftables ou iptables dans la VM. Les deux doivent autoriser le même trafic.
Procédure étape par étape
-
Confirmer l’écoute
Avant le pare-feu, vérifiez avec ss -lntup que l’application écoute sur 0.0.0.0 ou l’interface voulue.
-
Choisir protocole et source
N’ouvrez que TCP ou UDP selon l’application. Limitez l’adresse source pour SSH, base de données et administration.
-
Ajouter la règle panel
Dans « Outils supplémentaires » > « Pare-feu », ajoutez une règle ACCEPT avec le protocole et le port, puis vérifiez dans « Options du pare-feu » que le pare-feu est activé.
-
Ajouter la règle Linux
Autorisez le même port dans UFW ou nftables, puis testez depuis une machine extérieure.
Exemples UFW
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow from 203.0.113.10 to any port 22 proto tcp
ufw status numbered
Activer UFW sans perdre SSH
ufw allow 22/tcp
ufw default deny incoming
ufw default allow outgoing
ufw enable
ufw status verbose
Avant de commencer
Le pare-feu du panel se trouve dans « Outils supplémentaires » > « Pare-feu », ses réglages généraux dans « Options du pare-feu ». Il filtre le trafic avant qu’il n’atteigne la VM. Tant que « Pare-feu activé » est désactivé, les règles du panel n’ont aucun effet.
- Notez le port et le protocole exacts : 25565/TCP pour Minecraft Java, 19132/UDP pour Bedrock, 30120 en TCP et UDP pour FiveM.
- Autorisez le port 22/TCP avant d’activer un pare-feu qui bloque tout le reste.
Comprendre le pare-feu du panel
Chaque règle s’applique au trafic entrant et comporte une « Action » (ACCEPT, DROP ou REJECT), un « Protocole » (TCP, UDP ou TCP+UDP), un « Port » et une « Source » facultative. Le port accepte une valeur seule (22), une liste (80,443) ou une plage (8000-9000), dans la limite de 15 ports par règle, une plage comptant pour deux.
La « Politique d’entrée » des options s’applique à tout ce qu’aucune règle n’a accepté. Avec DROP, seuls les ports autorisés restent joignables : c’est le réglage le plus sûr, à condition d’avoir d’abord autorisé le port 22.
Vérifier que tout fonctionne
Depuis une machine extérieure, testez un port TCP avec nc -vz IP PORT. Une connexion réussie confirme l’ouverture, Connection refused signifie que rien n’écoute, et un délai dépassé signale un filtrage. Pour UDP, ce test n’est pas fiable : essayez avec le client de l’application.
Questions fréquentes
J’ai activé le pare-feu du panel et SSH ne répond plus, comment revenir en arrière ?
La politique d’entrée DROP bloque le port 22 faute de règle. Le panel ne passe pas par SSH : ajoutez une règle ACCEPT TCP sur le port 22 dans « Pare-feu », ou désactivez temporairement « Pare-feu activé » dans « Options du pare-feu », puis reconnectez-vous.
Le port est autorisé partout mais j’obtiens Connection refused, pourquoi ?
Le paquet arrive, mais aucun programme n’écoute sur cette adresse. Si ss -tlnp montre 127.0.0.1:3000, l’application n’accepte que les connexions locales : configurez-la pour écouter sur 0.0.0.0, ou placez un proxy inverse devant elle.
Le panel refuse la règle avec Port invalide, que corriger ?
La saisie ne respecte pas le format attendu : un port entre 0 et 65535, des valeurs séparées par des virgules, une plage dont la première valeur est la plus petite, et 15 ports au plus. Découpez une longue liste en plusieurs règles.
Pourquoi un port Docker reste joignable alors qu’UFW le bloque ?
Docker ajoute ses propres règles iptables pour les ports publiés, avant celles d’UFW. Publiez le port sur 127.0.0.1:8080:80 s’il ne doit servir qu’en local derrière un proxy, ou filtrez-le avec le pare-feu du panel, qui agit avant la VM.