Проблема з брандмауером під час розгортання Tomcat у CentOS


10

Я намагаюся розгорнути сервер Tomcat в середовищі CentOS, але він не отримує запитів.

Виконання startup.sh працює належним чином, а журнали показують, що tomcat працює

16-Dec-2016 13:36:58.440 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [http-nio-8080]
16-Dec-2016 13:36:58.444 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [ajp-nio-8009]
16-Dec-2016 13:36:58.445 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 14803 ms

Під час запуску netstat для перевірки портів прослуховування він відображається як прослуховування

$netstat -atnp|grep LISTEN

tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      3321/java

Для того, щоб пропустити брандмауер, я додав власні правила в iptables.

$iptables -nL

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:8080
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:50060
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:50030
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:50105
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:50090
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:50075
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:50070
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:123
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:22
REJECT     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Я додав правило зверху, щоб уникнути помилки додавання його після загального відхилення. Iptables активний, коли сервіс повертає наступне:

$service iptables status
Redirecting to /bin/systemctl status  iptables.service
● iptables.service - IPv4 firewall with iptables
Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled; vendor preset: disabled)
Active: active (exited) since Fri 2016-12-16 13:09:47 EST; 1h 45min ago
Main PID: 728 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/iptables.service

Однак запит не надходить до Tomcat, оскільки журнали доступу localhost порожні.

Firewalld не перешкоджає з’єднанню, оскільки він вважає вимкненим:

$firewall-cmd --state
not running

Чи є інші налаштування брандмауера, які мені не вистачає?


Яка версія CentOS? Що станеться, якщо ви запустили статус iptables служби?
— Ентоні Форніто

Я додав решту правил iptables. Версія Mi - це випуск CentOS Linux 7.2.1511 (Core). Виклик стану iptables служби показує iptables як активні.
— Джаред Рокс

Ви намагалися відключити брандмауер? Зробіть це, щоб ви могли звузити проблему.
— Вікелідіс Костас

Гаразд, отже порт брандмауера відкритий і служба слухає. Але що відбувається, коли ви намагаєтесь підключитися до нього?
— Майкл Хемптон

Відповіді:


10

Я думаю, що тут відбувається те, що ви змішуєте свої технології.

Спробуйте:

сервісні iptables зупиняються

Побачимо, ти ще отримаєш таку ж відповідь

Якщо це зробити, вам потрібно видалити або iptables, або firewalld

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.