Wenn ich verwenden mussSNMP-Überwachung für Java-Anwendungen, muss diese Anwendung (normalerweise als Daemon-Benutzer ausgeführt) am SNMP-Port lauschen.
Wenn es keine andere Alternative gibt, kann ich natürlich einen anderen Port verwenden, sagen wir 11161.
Aber ich kann XInetd verwenden, um Port 161 auf 11161 umzuleiten.
Meine Frage ist: Ist das die beste Methode? Ist die Portumleitung von iptables besser?
Antwort1
Im Allgemeinen xinetd
ist es eine gute Lösung. Für Einzelstücke verwende ich oftGleichgewichteinfach, weil alles über die Befehlszeile eingerichtet werden kann, aber wenn Sie es mehr als einmal tun müssen, xinetd
ist dies die bessere Wahl.
Die Umleitung über iptables funktioniert einwandfrei, leidet aber unter mangelnder Transparenz. Wenn jemand anderes das System warten muss, kennt er die Umleitungsregeln möglicherweise nicht, während Proxy-Lösungen wie xinetd in der Ausgabe verschiedener Standarddiagnosebefehle wie netstat
und so weiter auftauchen.
Antwort2
Zunächst einmal ist die Oracle-Beschreibung Mist. Die richtige Art, SNMP für eine Anwendung zu verwenden (Java ist in Bezug auf das Betriebssystem eine Anwendung), besteht darin, es als Subagent für den OS-SNMP-Dienst zu registrieren (im Fall von Linux: snmpd).
Es muss doch eine Möglichkeit geben, das zu erreichen. Anschließend können Sie die SNMPD-Sicherheitseinstellungen (siehe Manpages von snmpd) verwenden, um den Zugriff auf diesen Teil der MIB einzuschränken.