Pracuję na serwerze CentOS 7 i staram się, aby JBoss działał tak, jak chcę. Używam Javy 8 i JBossa (dziko) 8. Mam zainstalowane i działające na domyślnych portach, ale chcę, aby JBoss działał na porcie 80. Wiem, że mogę go uruchomić na porcie 80, jeśli uruchom go jako root, ale wiem, że to nie jest dobry pomysł i nie chcę uruchamiać go jako root.
Próbowałem przekierować port 80 na 8080, ale nie udało mi się go uruchomić. Chyba brakuje mi kroku, ale nie wiem, co mi brakuje.
Używam firewall-cmd. Otworzyłem oba porty (80 i 8080) i umożliwiłem maskaradę dla strefy publicznej. Użyłem również tego polecenia do przekazania portu
firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=8080.
Wiesz, czego mi brakuje?
networking
centos
firewall
zzzsys
źródło
źródło
Odpowiedzi:
Właśnie znalazłem sposób, który umożliwił mi to:
źródło
firewall-cmd
Add-forward-port doda reguły doPREROUTING
łańcucha NAT, który ma zastosowanie tylko do pakietów generowanych zewnętrznie. Jeśli próbujesz połączyć się z hostem lokalnym (lub lokalnym adresem IP serwera) na porcie 80 na serwerze, nie powiedzie się, ponieważ te pakiety nigdy nie przechodząPREROUTING
.Jeśli łączysz się z portem 80 ze źródła zewnętrznego
firewall-cmd
, wymienione urządzenie powinno działać poprawnie. Sugeruję sprawdzenie, czy Twój interfejs rzeczywiście znajduje się w strefie „publicznej”.Możesz także uruchomić następującą komendę, aby sprawdzić liczbę pakietów w regule i upewnić się, że jest ona faktycznie trafiana:
iptables -t nat -vnL | grep 8080 -B1
Jeśli liczba prób zwiększa się przy każdej próbie, oznacza to, że zapora działa poprawnie i masz jakiś problem poza zaporą (być może ACL na JBOSS?). Jeśli pakiety nie zwiększają się przy każdej próbie, reguła zapory nie jest w ogóle atakowana, co sugeruje, że znajdujesz się w niewłaściwej strefie lub istnieje inna reguła uniemożliwiająca regułę przekierowania portów.
źródło