一、安裝snmp服務
1、下載安裝包net-snmp-5.7.1.tar.gz
下載地址:http://sourceforge.net/projects/net-snmp/files/net-snmp/5.7.1/
2、將net-snmp-5.7.1.tar.gz上傳到虛擬機,我是上傳到/root目錄下
3、使用命令 tar xzvf net-snmp-5.7.1.tar.gz 對安裝包進行解壓,解壓成功后得到一個net-snmp-5.7.1文件夾
4、進入解壓的net-snmp-5.7.1目錄,執行命令
./configure --prefix=/usr/local/snmp
(說明:net-snmp-5.7.1目錄下的configure是可執行文件,如果想指定程序包的安裝路徑,那么首先建立相應的文件夾來存放安裝信息,可以寫成./configure –-prefix=/指定的路徑名。參數--prefix用來告訴系統安裝信息存放的路徑,如果沒有指定路徑,直接執行./configure,那么程序包都會安裝在系統默認的目錄下,通常為:/usr/local下)
出現這個界面,按回車

回車后出現下面問題,可以直接回車而不用回答,系統會采用默認信息,其中日志文件默認安裝在/var/log/snmpd.log.數據存儲目錄默認存放在/var/net-snmp下
1、Default version of SNMP to use(3):
2、System Contact Information (@@no.where)(配置該設備的聯系信息):
3、System Location (Unknown)(該系統設備的地理位置):
4、Location to write logfile(/var/log/snmpd.log) (日志文件位置):
5、Location to write persistent information(/var/net-snmp)(數據存儲目錄):

5、編譯和安裝
執行"make && make install"命令

6、配置snmpd.conf
6.1、查看/usr/local/snmp目錄下是否存在是否存在etc目錄,如果不存在etc目錄,就創建一個
mkdir /usr/local/snmp/etc
6.2、找到SNMP源碼目錄(net-snmp-5.7.1)下EXAMPLE.conf文件,如下圖所示

6.3、復制EXAMPLE.conf文件到到/usr/local/snmp/etc目錄,並重命名為snmpd.conf:
cp EXAMPLE.conf /usr/local/snmp/etc/snmpd.conf
6.4、編輯/usr/local/snmp/etc/snmpd.conf文件
要配置snmpd.conf中內容如下
1、配置允許網絡訪問
找到【AGENT BEHAVIOUR】,如下圖所示:

修改如下:添加"agentAddress udp:161"配置項,如下圖所示:

2、設置訪問權限
找到【ACCESS CONTROL】如下圖所示:

找到【rocommunity public default -V systemonly】,把 -V systemonly去掉,這是設置訪問權限的,去掉后能訪問全部。
把rocommunity改成rwcommunity,rocommunity是只讀,rwcommunity是讀寫。如下圖所示:

3、選擇v2c SNMP協議的版本
找到【ACTIVE MONITORING】,如下圖所示:

修改如下

二、啟動snmp服務
1、執行如下命令啟動snmp服務:
/usr/local/snmp/sbin/snmpd -c /usr/local/snmp/etc/snmpd.conf
如下圖所示:

2、測試SNMP
獲取本機的系統名字,使用命令:"snmpget -v 2c -c public localhost sysName.0"或者"snmpget -v 2c -c public 本機的ip地址 sysName.0"或者"snmpget -v 2c -c public 本機的ip地址 .1.3.6.1.2.1.1.5.0"進行測試
執行以下的幾個命令都可以獲取到本機的系統名字:
- snmpget -v 2c -c public localhost sysName.0
- snmpget -v 2c -c public snmp服務本機ip sysName.0
- snmpget -v 2c -c public localhost .1.3.6.1.2.1.1.5.0
如下圖所示:

能夠正常返回系統的名字就說明SNMP安裝配置成功了。也可以使用命令"snmpget --version"查看當前的安裝版本號來驗證是否安裝成功,如果安裝成功,則顯示當前的安裝版本號,如下圖所示:

三、卸載snmp
如果安裝后想卸載SNMP,可以執行"make uninstall"命令,卸載步驟如下:
1、使用"ps -ef|grep snmp"查看snmp服務是否啟動
2、如果已經啟動就使用命令"ps aux | grep snmp | grep -v grep |awk '{print $2}'| xargs kill"關閉snmp的相關服務
3、find / -name "snmp.conf" 將找到的snmp.conf文件刪除
4、find / -name "snmpd.conf" 將找到的snmp.conf文件刪除
5、進入SNMP源碼目錄(net-snmp-5.7.1)
6、執行"make uninstall"命令卸載SNMP
7、刪除/usr/local下的snmp目錄以及snmp目錄里面的所有文件,usr/local/snmp是SNMP的安裝路徑
8、whereis snmp 將查出來的目錄刪掉(rm -rf 目錄)
9、find / -name snmp 將查出來的目錄(下圖紅框選中的)刪除,類似/proc/1/net/snmp不用刪除,也沒有刪除的權限

參考地址
linux下安裝和配置SNMP:https://www.cnblogs.com/xdp-gacl/p/4016524.html
