当我从源代码编译时,snmpd没有响应

1 installation snmp net-snmp

我正在使用的操作系统:Fedora 15.

今天早上,我删除了以前安装在我系统上的net-snmp rpm软件包.然后,我从源代码编译并安装了snmp.编译的snmpd不响应任何get请求.

我通过执行以下命令安装了包:

./.configure && make && make install
Run Code Online (Sandbox Code Playgroud)

过了一会儿它完成了,我发现安装成功了.

为了测试安装,我运行了一个get请求:

snmpget -v2c -c public 127.0.0.1 sysDescr.0
Run Code Online (Sandbox Code Playgroud)

我觉得很奇怪,没有回应......我能错过什么?是否需要超级用户权限?

Ash*_*mar 8

此外,从源代码安装需要执行的步骤很少.

跟着这里,

第1步:以root身份登录(su - root)

步骤2:导航到保存net-snmp tar.gz的主文件夹在提示符下发出此命令

tar -zxvf net-snmp-5.5.tar.gz
Run Code Online (Sandbox Code Playgroud)

(我仍然碰巧使用v 5.5.用你的版本更改)

第3步:导航到未涂焦的目录.

第4步: Run ./configure

第5步: make

第6步: make install

第7步:您现在已经安装了netsnmp并准备使用.

哈哈......不太......在我们说...之前还有很多东西需要做的事情......是的...工作得很漂亮..

第8步:导航到/usr/local/bin查看该文件夹是否有一堆像snmpconf snmptranslate这样的snmp 等等......

步骤9:同时查看/usr/local/share/snmp/mibs文件夹是否存在所有MIB文件.

步骤10:如果一切正常,直到这里尝试进行一些配置检查(否则重新开始).跑,

net-snmp-config --default-mibdirs
Run Code Online (Sandbox Code Playgroud)

你必须得到输出

/root/.snmp/mibs:/usr/local/share/snmp/mibs
Run Code Online (Sandbox Code Playgroud)

跑,

net-snmp-config --snmpconfpath
Run Code Online (Sandbox Code Playgroud)

输出应该是这样的

/usr/local/etc/snmp:/usr/local/share/snmp:/usr/local/lib/snmp:/root/.snmp:/var/net-snmp
Run Code Online (Sandbox Code Playgroud)

第11步:跑,

ldd /usr/local/bin/snmptranslate
Run Code Online (Sandbox Code Playgroud)

输出将是:

linux-gate.so.1 =>  (0x00110000)
       libnetsnmpagent.so.15 => not found
       libnetsnmphelpers.so.15 => not found
       libnetsnmpmibs.so.15 => not found
       libnetsnmp.so.15 => not found
Run Code Online (Sandbox Code Playgroud)

这意味着,你可能会得到SNMP*:加载共享库的错误:例如像上文提到libnetsnmp.so.20:它无法打开共享对象文件.

如果上面没有出现错误,则无需执行任何操作,但如果出现错误,则必须执行以下步骤 在/ etc 编辑ld.so.conf并添加/ usr/local /的lib路径的详细信息lib然后运行ldconfig

vi /etc/ld.so.conf

/usr/X11R6/lib/Xaw3d
/usr/X11R6/lib
/usr/lib/Xaw3d
/usr/i386-suse-linux/lib
/usr/local/lib
/opt/kde3/lib
include /etc/ld.so.conf.d/*.conf
Run Code Online (Sandbox Code Playgroud)

(我偶然使用Suse.但是某些东西也和Debian非常相似)

第12步:跑,

ldconfig
Run Code Online (Sandbox Code Playgroud)

步骤13:现在您必须告诉netsnmp在哪里查找MIB文件.您可以使用snmpconf命令执行此操作.在提示符下发出此命令.

snmpconf
Run Code Online (Sandbox Code Playgroud)

这就是它在屏幕上显示的内容,

我可以为您创建以下类型的配置文件.选择您要创建的文件类型:(您可以在运行此程序时创建多个文件类型)1:snmpd.conf 2:snmptrapd.conf 3:snmp.conf其他选项:退出

选择文件:3

可以放入snmp.conf的配置信息分为几个部分.选择要创建的snmp.conf的配置部分:1:调试输出选项2:文本mib解析3:输出样式选项4:默认验证选项其他选项:已完成

选择部分:已完成

我可以为您创建以下类型的配置文件.选择您要创建的文件类型:(您可以在运行此程序时创建多个文件类型)1:snmpd.conf 2:snmptrapd.conf 3:snmp.conf其他选项:退出

选择文件:退出

创建了以下文件:snmp.conf

如果您希望系统中的每个人都使用这些文件,则应将这些文件移动到/ usr/local/share/snmp.将来,如果在命令行中添加-i选项,我会自动为您复制它们.

或者,如果您只想将它​​们用于个人用途,请将它们复制到/root/.snmp.将来,如果在命令行中添加-p选项,我会自动为您复制它们.

步骤14:复制snmp.conf文件.

cp snmp.conf /usr/local/share/snmp/
Run Code Online (Sandbox Code Playgroud)

第15步:最后试试这个.

snmptranslate -Tp -IR ipMIB
Run Code Online (Sandbox Code Playgroud)

您将在屏幕上观察树形结构.这意味着您安装的所有内容都在工作

所以现在错误不会因为配置而存在..无论什么搞砸了,它的责任;-)

干杯,