La redirection de port de 80 à 8080 en utilisant iptables ne fonctionne pas

Bonne journée, j'ai eu un Tomcat fonctionnant sur le port 80 sur un server CentOS avec IP 10.33.46.68. Lorsque j'ai essayé d'ouvrir " http://10.33.46.68 " sur mon ordinateur portable, je pouvais voir la page d'accueil de Tomcat. Ensuite, j'ai changé le port Tomcat en 8080 et le trafic HTTP redirigé sur le port 80 vers le port 8080 en utilisant iptables:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080 iptables -t nat -A OUTPUT -p tcp --dport 80 -j REDIRECT --to-ports 8080 

Maintenant, lorsque j'essaie d'ouvrir " http://10.33.46.68 " sur mon ordinateur portable, je m'envendais. Mais lorsque j'essaie d'ouvrir " http://10.33.46.68 " ou " http://10.33.46.68:8080 " directement sur le server, les deux URL fonctionnent bien. Qu'est-ce qui me manque, s'il vous plaît?

Il existe un pare-feu Cisco entre le portable et le server qui permet la communication uniquement sur le port 80. C'est mon file de configuration iptables:

 # Generated by iptables-save v1.4.7 on Wed Oct 17 14:51:20 2012 *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT ACCEPT [1027:228609] -A INPUT -i lo -j ACCEPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -m state --state INVALID -j DROP -A INPUT -p tcp -m tcp --dport 80 -m state --state NEW -j ACCEPT -A INPUT -j DROP COMMIT # Completed on Wed Oct 17 14:51:20 2012 # Generated by iptables-save v1.4.7 on Wed Oct 17 14:51:20 2012 *nat :PREROUTING ACCEPT [0:0] :POSTROUTING ACCEPT [4:274] :OUTPUT ACCEPT [2:154] -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080 -A OUTPUT -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080 COMMIT # Completed on Wed Oct 17 14:51:20 2012 

Merci d'avance. Vojtech

One Solution collect form web for “La redirection de port de 80 à 8080 en utilisant iptables ne fonctionne pas”

La string INPUT dans la table des filter ne doit pas être DROP. (Eh bien, au less pas exclusivement sans accepter les ports!)

Au less, acceptez le port tcp / 8080 pour que cela fonctionne.

Le package traverse d'abord le mangle, puis le prerouting, puis la table de filter. Votre table mangle est vide, vous redirigez dans le prerouting, mais lorsque le package entre dans INPUT / filter, il se dégrade.

Un simple iptables -t filter -A INPUT -p tcp --dport 8080 -j ACCEPT doit être suffisant.

Modifier: Accepter localhost dans la string INPUT de filter devrait être là aussi, juste pour ne pas compliquer les choses. Bien que vous devriez envisager de mettre en œuvre des règles qui sont un peu plus sophistiquées, quelque chose comme:

 iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A INPUT -p tcp --dport 8080 -j ACCEPT iptables -A INPUT -p tcp --dport 22 -j ACCEPT # don't you want ssh? iptables -A INPUT -p tcp -j REJECT --reject-with tcp-reset iptables -A INPUT -j REJECT --reject-with icmp-port-unreachable 

Quelque chose dans ce sens.

  • IIS 7 + Tomcat 7 - comment accéder à http: // localhost: 8080 / my_app sous eg http: //my_app.local
  • Comment configurer un cluster Ubuntu Server Tomcat sur VirtualBox pour tester?
  • Définir CATALINA_OPTS pour tomcat6 sur Windows ne fonctionne pas
  • Ajout d'un alias pour une application Web afin qu'il fonctionne via deux racines contextuelles
  • Accès à Tomcat 8 sur AWS EC2
  • Comment configurer apache (+ ajp?) Avec le domaine tomcat example.com et le sous-domaine php blog.example.com?
  • Tomcat Webapp ne démarre pas lorsque Tomcat démarre en tant que service
  • HOWTO exécutez le site Wordpress avec l'application Web Tomcat sur le même serveur
  • ne peut pas get Tomcat pour offrir TLS_ECDHE_ECDSA_ ... ciphers
  • Comment dire à httpd de conserver le message d'erreur proxy?
  • Comment maintenir les files de configuration sur un server?
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.