Настройка
Машина 1 (CentOS 7.4) имеет процесс отправки дейтаграмм UDP многоадресной рассылки в локальную группу многоадресной рассылки IPv6.Процесс выполняется от имени пользователя root.
На компьютере 2 (также CentOS 7.4) есть процесс, чей сокет дейтаграммы UDP присоединяется к машине группы многоадресной рассылки, на которую он отправляет, затемпостоянно вызывает (в этом случае сокет, блокирование) функцию recv()
.
Оба приложения написаны на языке C.
Проблема
При работепри root на второй машине дейтаграммы могут приниматься без проблем.Однако при работе от имени пользователя дейтаграммы не принимаются с блокирующим вызовом recv()
.
Устройство firewalld было остановлено в обоих случаях, и в обоих случаях создание сокета прошло успешно (нет ошибок при вызовах API сокета ... создание, соединение, получение и т. Д.).
Вопрос
Какие разрешения, если таковые имеются, могут мешать моему процессу, работающему как пользователь, получать те же многоадресные пакеты, что и процесс, выполняемый от имени пользователя root?