端口超过 1024 的传出数据包被丢弃了?

端口超过 1024 的传出数据包被丢弃了?

今天,我在设置 Zabbix 服务器并添加客户端后遇到了一个奇怪的问题。

当我尝试将我的客户端添加到服务器时,服务器无法联系到他。

经过大量的故障排除后,我发现所有通过高于 1024 的端口进入我的服务器的包都会被丢弃。

例如:

我可以通过 SSH:22 连接到我的服务器,但是一旦我将 SSH 的端口设置为 10050、6969 等,就无法再建立连接。

我对服务器上运行的 mysql 服务器尝试了同样的事情。

不幸的是,我无法将 Zabbex-Agent(服务器的客户端)的端口设置为低于 1024。(不是因为缺少权限,而是因为代理编码不允许这样做)。

IP 表:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

有人知道如何修复它吗?

欢迎任何帮助

答案1

怀疑罪魁祸首是 SELinux。如果您在代理的日志中看到类似以下内容:

listener failed: bind() for [[-]:20051] failed: [13] Permission denied

使用以下方法检查当前状态:

$ sestatus

应用策略(针对 Redhat):

$ yum install -y setroubleshoot-server selinux-policy-devel
$ semanage port -a -t zabbix_agent_port_t -p tcp 10050

相关内容