Демон Apache пытается пропинговать CentOS, но не работает (проблема с SELinux)

Я разработал приложение на php. Одной из его функций является проверка связи с внешним сервером. Однако, когда это действие было запущено, ничего не произошло. Я проверил журнал SELinux и сгенерировал политику, позволяющую демону apache выполнять ping (ping работает нормально, если войти в систему как пользователь apache). После установки этой политики в журнале SELinux не отображается ошибка, но в журнале httpd появляется много раз:

ping: recvmsg: Permission denied

Я знаю, что это проблема конфигурации SELinux (может быть, подключение к сокету?), потому что, если я отключу его, он будет работать хорошо, но для меня это не вариант.

Я перенаправил вывод команды ping в текстовый файл, и после выполнения действия получился вот такой результат:

PING myhost (myip) 56(84) bytes of data.

--- myhost ping statistics ---
4 packets transmitted, 0 received, 100% packet loss, time 13002ms

Так что я как бы застрял на этом этапе. Кто-нибудь может мне помочь?

Большое спасибо.


person Gayolomao    schedule 23.01.2013    source источник
comment
Возможно, демону apache не разрешено выполнять ping?   -  person Sudipta Chatterjee    schedule 23.01.2013
comment
Я думаю, что да, потому что пинг выполняется, но с ошибкой. Я обновил вопрос с дополнительной информацией об этом.   -  person Gayolomao    schedule 23.01.2013
comment
Похоже, что он блокирует ping ответы. Может ли кто-нибудь пропинговать вашу машину извне? Если вы включите это, возможно, это сработает.   -  person Sudipta Chatterjee    schedule 24.01.2013
comment
Да, я могу пинговать его без проблем.   -  person Gayolomao    schedule 24.01.2013
comment
Попробуйте следующее: создайте себе процесс apache sudo su apache и посмотрите, сможете ли вы выполнить ping снаружи. Это процесс веб-сервера, но root может стать этим пользователем и попробовать что-то.   -  person Sudipta Chatterjee    schedule 25.01.2013
comment
Я попробовал это, и я могу пинговать снаружи. Это странно... Кстати, большое спасибо за ваши усилия.   -  person Gayolomao    schedule 25.01.2013
comment
Ээээ... ты пробовал перезагружаться? :D Кроме того, как насчет использования команды exec из PHP для выполнения ping в оболочке, а не прямого вызова ping?   -  person Sudipta Chatterjee    schedule 25.01.2013
comment
Кажется, я, наконец, решил это. Пришлось переустанавливать CentoOS. Проблема, я думаю, была в том, что я много накосячил с политиками, устанавливая новые, чтобы решить свою проблему. После новой установки все заработало без нареканий. Большое спасибо, @Sudipta.   -  person Gayolomao    schedule 28.01.2013
comment
Рад это слышать - проголосуйте за последний ответ на перезагрузку! :)   -  person Sudipta Chatterjee    schedule 28.01.2013


Ответы (1)


После новой установки все заработало. Не лезьте в политику, дети.

person Gayolomao    schedule 28.01.2013