xinetd 仍然是让非 root 守护进程监听特权端口的最佳方法吗?

xinetd 仍然是让非 root 守护进程监听特权端口的最佳方法吗?

当我需要使用时java应用程序的SNMP监控,需要该应用程序(通常作为守护程序用户运行)来侦听 snmp 端口。

如果没有其他选择,我当然可以使用另一个端口,比如11161。

但我可以使用 XInetd 将端口 161 重定向到 11161。

我的问题是:这是最好的方法吗? iptables 端口重定向更好吗?

答案1

总体来说,xinetd这是一个很好的解决方案。对于一次性问题,我经常使用平衡只是因为一切都可以在命令行上设置,但如果您需要多次执行,xinetd则是更好的选择。

通过 iptables 进行重定向效果很好,但缺乏透明度。如果其他人必须维护系统,他们可能不知道重定向规则,而像 xinetd 这样的代理解决方案会出现在各种标准诊断命令的输出中,等等netstat

答案2

首先——Oracle 的描述很糟糕。将 SNMP 用于应用程序(java 是与操作系统有关的应用程序)的正确方法是将其注册为 OS-snmp-service 的子代理(对于 linux:snmpd)。

必须有一种方法来实现这一点。之后,您可以使用 SNMPD 安全设置(请参阅 snmpd 的手册页)来限制对 MIB 该部分的访问。

相关内容