Я установил Apache Tomcat-7.0.32 на Linux Mandriva и я хочу сделать его доступным. для этого мне нужно открыть порты в iptables.
Я добавил следующие правила -
iptables -A INPUT -p tcp -m tcp --dport 8081 --syn -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 8010 --syn -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 8444 --syn -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 8006 --syn -j ACCEPT
затем сохраните и перезапустите iptables -
/etc/init.d/iptables save
/etc/init.d/iptables restart
убедитесь, что порты открыты -
netstat -tulpn | less
Я выполняю команду -
netstat-ntpl | grep java
и увидеть -
Когда я отключаю брандмауэр, я вижу стартовую страницу сервера по запросу -
http://server_ip:8081/
При включении - сервер недоступен извне.
В чем может быть причина? Буду очень признателен за информацию!
Спасибо!
Эта проблема не связана с конфигурацией Tomcat. Убедитесь, что вы добавили правила accept iptables перед правилами отклонения
Порты, используемые tomcat, должны быть в конфигурации tomcat. Однако в случае сомнений вы можете использовать утилиту lsof, чтобы узнать подробности о том, какие программы используют какие TCP или UDP-порты и локальные сокеты.
lsof -Pni
lsof -Uni
Чтобы узнать, что именно происходит и какие программы пытаются получить доступ к каким портам и / или блокируются брандмауэром, вы также можете использовать утилиту tcpdump.
tcpdump -i eth0
Вы можете использовать grep для вывода этих программ или использовать переключатели для фильтрации того, какая информация должна отображаться. Что вы делаете неправильно, может заключаться в том, что вы добавляете правила брандмауэра в конце конфигурации, в то время как конфигурация iptables (обработка пакетов брандмауэра) идет сверху / в начале, поэтому, когда вы добавляете ACCEPT, вероятно, имеет смысл добавить его в начале файл конфигурации iptables, а не в конце.
Этот вопрос, вероятно, следует переместить на superuser.com