Snmp學習總結(六)——linux下安裝和配置SNMP


一、安裝SNMP

1.1、下載Net-SNMP的源代碼

  選擇一個SNMP版本,比如5.7.1,下載地址如下:http://sourceforge.net/projects/net-snmp/files/net-snmp/5.7.1/,如下圖所示:

  

  

  下載完成之后得到如下圖所示的一個壓縮包

  

1.2、把壓縮包傳輸到遠程的Linux服務器

  把壓縮包使用FTP傳輸工具傳輸到遠程的Linux服務器

  

  上傳成功后在linux的root目錄下就可以看到壓縮包了,如下圖所示:

  

  也可以在linux命令行窗口使用ls命令羅列出Root目錄所有的文件進行查看,如下圖所示:

  

1.3、對源代碼包進行解壓縮

  使用命令"tar xzvf net-snmp-5.7.1.tar.gz"對下載的源代碼包進行解壓縮,如下圖所示:

  

  解壓成功后得到一個net-snmp-5.7.1文件夾,如下圖所示:

  

1.4、通過configure來生成編譯規則

  使用命令"cd net-snmp-5.7.1"進入net-snmp-5.7.1目錄,如下圖所示:

  

  net-snmp-5.7.1目錄下的configure是可執行文件,如果想指定程序包的安裝路徑,那么首先建立相應的文件夾來存放安裝信息,可以寫成./configure –-prefix=/指定的路徑名。參數--prefix用來告訴系統安裝信息存放的路徑,如果沒有指定路徑,直接執行./configure,那么程序包都會安裝在系統默認的目錄下,通常為:/usr/local下

  執行命令"./configure --prefix=/usr/local/snmp --with-mib-modules='ucd-snmp/diskio ip-mib/ipv4InterfaceTable'",注意,以上的--with-mib-modules=ucd-snmp/diskio選項,可以讓服務器支持磁盤I/O監控。如下圖所示:

  

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

  

  1、default version of-snmp-version:

  

  2、Systemcontact information(配置該設備的聯系人):

  

   3、System location (該設備的位置):

  

  4、Location to write logfile (日志文件位置): /var/log/snmpd.log

  

  5、Location to Write persistent(數據存儲目錄): /var/net-snmp

  

1.5、編譯和安裝

  執行編譯並安裝"make  &&  make install"命令,如下圖所示:

  

  

1.6、配置snmpd.conf

  使用"ls"命令查看/usr/local/snmp目錄下是否存在etc目錄,如果不存在etc目錄,就創建一個,如下圖所示:

  

  查看結果顯示不存在etc目錄,在/usr/local/snmp目錄下創建一個etc目錄,創建etc目錄命令"mkdir /usr/local/snmp/etc",如下圖所示:

  

  找到SNMP源碼目錄(net-snmp-5.7.1)下EXAMPLE.conf文件,如下圖所示:

  

  復制EXAMPLE.conf文件到到/usr/local/snmp/etc目錄,並重命名為snmpd.conf:"cp EXAMPLE.conf /usr/local/snmp/etc/snmpd.conf"

  

  使用vi編輯器打開snmpd.conf文件:"vi /usr/local/snmp/etc/snmpd.conf",編輯snmpd.conf文件中的內容

  

  按下鍵盤上的字母【I】或者【Insert】鍵進入vi編輯器的編輯模式

  

  要配置snmpd.conf中內容如下:

  1、配置允許網絡訪問

  找到【AGENT BEHAVIOUR】,如下圖所示:

  

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

  

  2、選擇v2c SNMP協議的版本

  找到【ACTIVE MONITORING】,如下圖所示:

  

  修改如下:

  

  3、設置訪問權限

  找到【ACCESS CONTROL】如下圖所示:

  

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

  

  4、保存snmpd.conf后退出

  按下鍵盤左上角上的【Esc】鍵退出vi編輯器的編輯模式,然后輸入命令":wq"保存文件並退出,如下圖所示:

  

  經過以上的4個步驟,針對SNMP的snmpd.conf文件的配置工作算是全部完成了。

1.7、啟動snmp服務

  由於我們剛才修改SNMP的snmpd.conf文件,所以在啟動snmp服務之前,先使用命令"ps aux | grep snmp | grep -v grep |awk '{print $2}'| xargs kill"關閉snmp的相關服務,如下圖所示:

  

  使用"netstat -an |grep 161"查看snmp的服務是否啟動,如下圖所示:

  

  啟動snmp服務:"/usr/local/snmp/sbin/snmpd -c /usr/local/snmp/etc/snmpd.conf",如下圖所示:

  

1.8、測試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 127.0.0.1 sysName.0
    snmpget -v 2c -c public 192.168.1.229 sysName.0
    snmpget -v 2c -c public localhost .1.3.6.1.2.1.1.5.0
    snmpget -v 2c -c public 127.0.0.1 .1.3.6.1.2.1.1.5.0
    snmpget -v 2c -c public 192.168.1.229 .1.3.6.1.2.1.1.5.0

  如下圖所示:

  

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

  

1.9、開啟UDP 161端口的訪問權限

  完成snmpd的配置並且SNMP測試通過之后,要確保Linux的iptables防火牆對外開放了udp 161端口的訪問權限,可以使用"iptables –L –n"查看當前iptables規則,如下圖所示:

  

  可以看到,目前iptables防火牆並沒有對外開放udp 161端口的訪問權限,也就是說,此時外面的計算機是無法訪問Linux下的SNMP服務的,可以使用"iptables -I INPUT -p udp --dport 161 -j ACCEPT"命令添加UDP 161端口到iptables防火牆中,然后執行"iptables save"命令保存防火牆的更改,如下圖所示:

    

  我們可以在window系統下使用Snmputil.exe工具測試對Linux下的SNMP訪問,測試Linux的UDP 161端口是否對外開放,如下圖所示:

  

  "snmputil get 192.168.1.229 public .1.3.6.1.2.1.1.5.0"命令返回192.168.1.229這台Linux服務器的名字,可以看到,Linux服務器的名稱已經正常返回輸出到命令行窗口了。

二、卸載SNMP

  如果安裝后想卸載SNMP,可以執行"make uninstall"命令,卸載步驟如下:

  1、使用"netstat -an |grep 161"查看snmp服務是否啟動

  2、如果已經啟動就使用命令"ps aux | grep snmp | grep -v grep |awk '{print $2}'| xargs kill"關閉snmp的相關服務

  3、進入SNMP源碼目錄(net-snmp-5.7.1)

  4、執行"make uninstall"命令卸載SNMP

  5、刪除/usr/local下的snmp目錄以及snmp目錄里面的所有文件,usr/local/snmp是SNMP的安裝路徑

  如下圖所示:

  

  開始卸載SNMP,如下圖所示:

  

  snmp卸載完成,如下圖所示:

  

  刪除/usr/local下的snmp目錄以及snmp目錄里面的所有文件,如下圖所示:

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM