當我需要使用時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 該部分的存取。