Ports de transfert sur Centos 7

9

Je travaille sur un serveur CentOS 7 et j'essaie de faire fonctionner JBoss comme je le souhaite aussi. J'utilise Java 8 et JBoss (sauvagement) 8. J'ai installé ceux-ci et je travaille sur les ports par défaut, mais je veux que JBoss fonctionne sur le port 80. Je sais que je peux le faire fonctionner sur le port 80 si je l'exécuter en tant que root, mais je sais que ce n'est pas une bonne idée et je ne veux pas l'exécuter en tant que root.

J'ai essayé de transférer le port 80 à 8080, mais je ne l'ai pas fait fonctionner. Je pense qu'il me manque une étape, mais je ne sais pas ce qui me manque.

J'utilise firewall-cmd. J'ai ouvert les deux ports (80 et 8080) et j'ai activé le masquage pour la zone publique. J'ai également utilisé cette commande pour transférer le port

firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=8080.  

Une idée de ce qui me manque?

zzzsys
la source
Quel est le problème avec l'exécution de httpd ou nginx devant lui?
Michael Hampton
Rien, j'essayais de ne pas le faire de cette façon si je pouvais l'aider.
zzzsys

Réponses:

10

Je viens de trouver un moyen qui m'a rendu cela possible:

firewall-cmd --zone=public --add-masquerade --permanent
firewall-cmd --zone=public --add-forward-port=port=443:proto=tcp:toport=3001 --permanent
just_user
la source
1
corrigez +1 pour vous. J'ai dû faire beaucoup de mal pour arriver ici.
Guru
FirewallD n'est pas en cours d'exécution
Steve Yakovenko
@SteveYakovenko puis commencer c'est une bonne première étape.
just_user
0

firewall-cmdLe port add-forward ajoutera des règles à la PREROUTINGchaîne NAT, qui ne s'applique qu'aux paquets générés en externe. Si vous essayez de vous connecter à localhost (ou à l'IP locale du serveur) sur le port 80 du serveur, cela va échouer car ces paquets ne transitent jamais PREROUTING.

Si vous vous connectez au port 80 à partir d'une source externe, celui que firewall-cmdvous avez répertorié devrait fonctionner correctement. Je suggère de vérifier que votre interface se trouve bien dans la zone «publique».

Vous pouvez également exécuter la commande suivante pour obtenir le nombre de paquets sur la règle pour vous assurer qu'elle est réellement atteinte:

iptables -t nat -vnL | grep 8080 -B1

Si le nombre de paquets augmente à chaque essai, le pare-feu fonctionne correctement et vous avez un problème au-delà du pare-feu (peut-être une ACL sur JBOSS?). Si les paquets n'augmentent pas à chaque essai, la règle de pare-feu n'est pas du tout atteinte, ce qui suggère que vous êtes soit dans la mauvaise zone, soit qu'il existe une autre règle préemptant la règle de redirection de port.

alienth
la source
Merci, je vais vérifier cela. La connexion provient d'une source externe.
zzzsys