㈠ 如何配置linux下的snmp服務
安裝snmp服務
CentOS/RedHat下可以只用yum命令進行安裝。
$ yum –y install net-snmp net-snmp-devel
若要使用snmpwalk進行安裝檢測,則還需要安裝net-snmp-utils包
$ yum –y install net-snmp-utils
Ubuntu可以通過apt-get install snmp snmpd 進行安裝
設置安全的驗證方式
將SNMP代理程序暴露給網路上的所有主機是很危險的,為了防止其它主機訪問您的SNMP代理程序,我們需要在SNMP代理程序上加入身份驗證機制。SNMP支持不同的驗證機制,這取決於不同的SNMP協議版本,雲監控目前支持v2c和v3兩個版本,其中v2c版本的驗證機制比較簡單,它基於明文密碼和授權IP來進行身份驗證,而v3版本則通過用戶名和密碼的加密傳輸來實現身份驗證,我們建議使用v3,當然,只要按照以下的介紹進行配置,不論是v2c版本還是v3版本,都可以保證一定的安全性,您可以根據情況來選擇。
注意一點,SNMP協議版本和SNMP代理程序版本是兩回事,剛才說的v2c和v3是指SNMP協議的版本,而Net-SNMP是用來實現SNMP協議的程序套件,目前它的最新版本是剛才提到的5.4.2.1。
v2c
先來看如何配置v2c版本的SNMP代理,我們來創建snmpd的配置文件,默認情況下它是不存在的,我們來創建它,如下:
sdo:~ # vi /usr/local/snmp/share/snmp/snmpd.conf
然後我們需要創建一個只讀帳號,也就是read-only community,在snmpd.conf中添加以下內容:
rocommunity sdomonitor 114.80.132.9 rocommunity sdomonitor 58.215.169.26 rocommunity sdomonitor 58.215.169.27
如果想要檢測服務是否成功開啟,則還需要在snmpd.conf中添加:
rocommunity sdomonitor 127.0.0.1
注意,這里的"rocommunity"表示這是一個只讀的訪問許可權,雲監控只可以從您的伺服器上獲取信息,而不能對伺服器進行任何設置。
緊接著的"sdomonitor"相當於密碼,很多平台喜歡使用"public"這個默認字元串。這里的"sdomonitor"只是一個例子,您可以設置其它字元串作為密碼。
最右邊的"60.195.249.83"代表指定的監控點IP,這個IP地址是雲監控專用的監控點,這意味著只有雲監控有許可權來訪問您的SNMP代理程序。
所以,以上這段配置中,只有"sdomonitor"是需要您進行修改的,同時在雲監控上添加伺服器的時候,需要提供這個字元串。
v3
當然,我們建議您使用v3版本來進行身份驗證。對於一些早期版本的Linux分發版,其內置的SNMP代理程序可能並不支持v3,所以我們建議您按照前邊介紹的方法,編譯和安裝最新的Net-Snmp。
v3支持另一種驗證方式,需要創建一個v3的帳號,我們同樣修改以下配置文件:
sdo:~ # vi /usr/local/snmp/share/snmp/snmpd.conf
然後添加一個只讀帳號,如下:
rouser sdomonitor auth
可以看到,在v3中,"rouser"用於表示只讀帳號類型,隨後的"sdomonitor"是指定的用戶名,後邊的"auth"指明需要驗證。
接下來,我們還要添加"sdomonitor"這個用戶,這就是v3中的特殊機制,我們打開以下配置文件:
sdo:~ # vi /var/net-snmp/snmpd.conf
這個文件會在snmpd啟動的時候被自動調用,我們需要在它里邊添加創建用戶的指令,如下:
createUser sdomonitor MD5 mypassword
這行配置的意思是創建一個名為"sdomonitor"的用戶,密碼為"mypassword",並且用MD5進行加密傳輸。這里要提醒的是:
密碼至少要有8個位元組
這是SNMP協議的規定,如果小於8個位元組,通信將無法進行。
值得注意的是,一旦snmpd啟動後,出於安全考慮,以上這行配置會被snmpd自動刪除,當然,snmpd會將這些配置以密文的形式記錄在其它文件中,重新啟動snmpd是不需要再次添加這些配置的,除非您希望創建新的用戶。
以上配置中的用戶名、密碼和加密方式,在雲監控添加伺服器的時候需要添加。
啟動snmp服務
$ service snmpd start
用以下命令檢查服務是否啟動成功
$ snmpwalk -v 2c -c sdomonitor 127.0.0.1 system
如果要關閉,則可以直接kill這個進程,如下:
$ killall -9 snmpd 或者$ service snmpd stop
㈡ linux怎麼安裝snmp伺服器配置
一、安裝snmp服務
1、檢查系統是否已經安裝snmp的rpm包
以下是安裝snmp服務需要的rpm包:
libsensors3-2.10.6-55.el5.i386.rpm
lm_sensors-2.10.6-55.el5.i386.rpm
net-snmp-libs-5.3.2.2-5.el5.i386.rpm
net-snmp-5.3.2.2-5.el5.i386.rpm
net-snmp-utils-5.3.2.2-5.el5.i386.rpm
推薦到http://rpm.pbone.net/下載這些rpm包,該網站比較全面,包含各種版本的包。
使用命令:$ rpm -qa|grep snmp
檢查是否安裝net-snmp-utils-5.3.2.2-5.el5,net-snmp-libs-5.3.2.2-5.el5,net-snmp-5.3.2.2-5.el5三個rpm包
使用命令:$ rpm -qa|grep libsen
檢查是否安裝libsensors3-2.10.6-55.el5
使用命令:$ rpm -qa|grep lm
檢查是否安裝lm_sensors-2.10.6-55.el5
說明:
(1)這幾個包的安裝有一定順序,在安裝的時候,會有提示。比如安裝
net-snmp-5.3.2.2-5.el5.i386.rpm時,會提示必須先安裝net-snmp-libs-5.3.2.2-5.el5.i386.rpm。
(2)net-snmp-utils-5.3.2.2-5.el5.i386.rpm並不是必須安裝的包,但安裝它會帶來不少幫助,它提供了很多工具,例如可以使用snmptranslate命令查看oid,可以使用snmpget、snmpwalk命令等。
(3)net-snmp-libs-5.3.2.2-5.el5.i386.rpm、net-snmp-5.3.2.2-5.el5.i386.rpm、
net-snmp-utils-5.3.2.2-5.el5.i386.rpm這三個包有一定的版本要求,必須版本一致,否則安裝無法成功。我這里都使用的5.3.2.2-5.el5版本,也可以下載其他版本的rpm包,但注意版本要一致,在安裝的時候也會提示,哪個版本的包是必須的,你可以根據提示下載需要的包。
2、安裝以上的幾個rpm包
若系統中沒有安裝以上包,則先安裝。
使用命令:rpm –ivh 包名
安裝完後,使用命令:$ rpm -qa|grep snmp,檢查是否已經安裝成功。
YUM 安裝
1 yum install -y net-snmp net-snmp-utils
3、啟動snmp服務
若安裝成功,則可使用命令:
$ service snmpd start
提示:Starting snmpd: [ OK ],則啟動snmp服務成功。
你可以將snmp服務設置為開機自啟動,這樣免去手動啟動的麻煩。
使用命令:$ chkconfig snmpd on,將snmpd服務設為開機自啟動。
然後使用命令:$ chkconfig --list | grep snmpd,查看是否已經設置成功。
4、驗證snmp服務
(1)使用snmpwalk命令,查看本機localhost的主機名:
如上,獲取到本機主機名為Oracle.domain.com,則表示snmp服務已經可以正常使用。
(2)使用snmptranslate命令,檢查snmp工具是否可以使用:
如上,查出了部分oid,則表示snmp工具可以正常使用。
(3)測試遠端主機是否可以獲取數據。
我這里登陸了另外一台Linux主機,該主機也按照上面的步驟安裝好snmp服務及snmp工具。通過這台主機,獲取遠端主機的數據,這時需指定遠端主機的IP地址:
如上,可以看到通過遠端主機獲取到的主機名,與在本機獲取到的主機名是一致的。
二、配置snmp服務
以上安裝完成後,使用的是snmp的默認配置,通過這些默認配置,我們只能獲取主機的部分信息。但一些其他的重要信息,無法獲取。如主機的CPU使用情況,內存使用情況等。
如上,無法獲取CPU的空閑率(註:1.3.6.1.4.1.2021.11.11.0是主機CPU空閑率的oid)。
這時候,若要獲取主機的一些重要信息,則要修改snmp的默認配置。
配置方法:修改/etc/snmp/snmpd.conf文件
1、修改查看設備節點的許可權
在該文件中,找到如下位置:
view:定義了可以查看哪些節點設備的信息。
snmp默認配置只能查看.1.3.6.1.2.1.1和.1.3.6.1.2.1.25.1.1節點下的設備信息,而主機CPU和內存等設備都不在這些節點下,所以無法獲取這些數據。
因此,可以修改這個配置,如下:
在此處添加了一行:
view systemview included .1
表示可以查看.1節點下的所有設備信息。
2、修改Process checks的配置
找到如下位置:
將
# proc mountd
# proc ntalkd 4
# proc sendmail 10 1
三行前的「#」號去掉,取消注釋,結果為:
3、修改Executables/scripts配置
找到如下位置:
將
#exec echotest /bin/echo hello world
一行前的「#」號去掉,取消注釋。
4、修改disk checks配置
找到如下位置:
將
#disk / 10000
一行前的「#」號去掉,取消注釋。
5、修改load average checks配置
找到如下位置:
將 #load 12 14 14
一行前的「#」號去掉,取消注釋。
6、保存修改,重啟snmp服務
7、驗證修改配置後的snmp服務
如上,通過本機localhost獲取到CPU的空閑率為97%。
如上,通過遠端主機獲取到CPU的空閑率為93%。
㈢ 如何在Linux伺服器上開啟安全的SNMP代理
1) 安裝SNMP
略,請參閱LINUX系統SNMP安裝說明,一般情況下Linux中 的均已經自動安裝了SNMP服務。以下命令可以檢測SNMP服務是否安裝以及安裝的文件包。
[root@idc ~]# rpm -qa |grep snmp
net-snmp-libs-5.1.2-11.EL4.7
net-snmp-5.1.2-11.EL4.7
2) 配置SNMP
按照如下方式修改/etc/snmp/snmpd.conf文件
A、修改默認的community string(SUM中SNMP讀值密碼)
com2sec notConfigUser default public
將public修改為你才知道的字元串
將「default」改為你想哪台機器可以看到你 的snmp信息,比如SUM所在IP為:10.10.10.10, 就改成這個IP。不改表示所有機器充許。
B、把下面的#號去掉
#view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc
啟用全部功能可以使用如下一行(如果沒有可以加入一行):
view all included .1 80
C、把下面的語句
access notConfigGroup "" any noauth exact systemview none none
改成:
access notConfigGroup "" any noauth exact mib2 none none
或是:
access notConfigGroup "" any noauth exact all none none
3) 啟動與停止SNMP
一般使用:service snmpd start|stop|restart命令。或是:
#/etc/rc.d/init.d/snmpd restart
4) 防火牆
如果Linux啟動了防火牆,請開放UDP的161端 口。確保Linux的iptables防火牆對SUM監控伺服器開放 了udp 161埠的訪問許可權
可使用iptables ?L ?n 查看當前iptables規則
可編輯/etc/sysconfig/iptables文 件來修改iptables規則。
㈣ linux系統用rpm包怎麼配置snmp
1.檢查系統是否已經安裝snmp的rpm包 以下是安裝snmp服務需要的rpm包: libsensors3-2.10.6-55.el5.i386.rpm lm...
2.安裝以上的幾個rpm包 若系統中沒有安裝以上包,則先安裝。 使用命令:rpm –ivh ...
3.啟動snmp服務 若安裝成功,則可使用命令: $ service snmpd start...
4.驗證snmp服務 (1)使用snmpwalk命令,查看本機localhost的主機名: ...
㈤ linux下安裝snmp的依賴包有哪些
Linux有很多版本。我使用的Linux Mint 17 (Ubuntu衍生版)上,直接就可以安裝snmp,依賴關系直接已經滿足。
不過既然你問到,我也幫你查出來了:
libc6(>=2.14)
libsnmp30(>=5.7.2~dfsg)
libssl1.0.0(>=1.0.0)
libsnmp-base
㈥ linux怎麼安裝配置snmp協議
一、安裝
snmp
服務
1
、檢查系統是否已經安裝
snmp
的
rpm
包
以下是安裝
snmp
服務需要的
rpm
包:
libsensors3-2.10.6-55.el5.i386.rpm
lm_sensors-2.10.6-55.el5.i386.rpm
net-snmp-libs-5.3.2.2-5.el5.i386.rpm
net-snmp-5.3.2.2-5.el5.i386.rpm
net-snmp-utils-5.3.2.2-5.el5.i386.rpm
推薦到
http://rpm.pbone.net/
下載這些
rpm
包,該網站比較全面,包含各種版本的包。
使用命令:
$rpm-qa|grepsnmp
檢查是否安裝
net-snmp-utils-5.3.2.2-5.el5
,
net-snmp-libs-5.3.2.2-5.el5
,
net-snmp-5.3.2.2-5.el5
三個
rpm
包
使用命令:
$rpm-qa|greplibsen
檢查是否安裝
libsensors3-2.10.6-55.el5
使用命令:
$rpm-qa|greplm
檢查是否安裝
lm_sensors-2.10.6-55.el5
說明:
(
1
)這幾個包的安裝有一定順序,在安裝的時候,會有提示。比如安裝
net-snmp-5.3.2.2-5.el5.i386.rpm
時,會提示必須先安裝
net-snmp-libs-5.3.2.2-5.el5.i386.rpm
。
(
2
)
net-snmp-utils-5.3.2.2-5.el5.i386.rpm
並不是必須安裝的包,但安裝它會帶來不少幫助,
它提供了很多工具,
例如可以使用
snmptranslate
命令查看
oid
,
可以使用
snmpget
、
snmpwalk
命令等。
(
3
)
net-snmp-libs-5.3.2.2-5.el5.i386.rpm
、
net-snmp-5.3.2.2-5.el5.i386.rpm
、
net-snmp-utils-5.3.2.2-5.el5.i386.rpm
這三個包有一定的版本要求,必須版本一致,否則安裝
無法成功。我這里都使用的
5.3.2.2-5.el5
版本,也可以下載其他版本的
rpm
包,但注意版本
要一致,在安裝的時候也會提示,哪個版本的包是必須的,你可以根據提示下載需要的包。
2
、安裝以上的幾個
rpm
包
若系統中沒有安裝以上包,則先安裝。
使用命令:
rpm–ivh
包名
安裝完後,使用命令:
$rpm-qa|grepsnmp
,檢查是否已經安裝成功。
3
、啟動
snmp
服務
若安裝成功,則可使用命令:
$servicesnmpdstart
提示:
Starting
snmpd:
[OK]
,則啟動
snmp
服務成功。
你可以將
snmp
服務設置為開機自啟動,這樣免去手動啟動的麻煩。
使用命令:
$chkconfigsnmpdon
,將
snmpd
服務設為開機自啟動。
然後使用命令:
$chkconfig--list|grepsnmpd
,查看是否已經設置成功。
4
、驗證
snmp
服務
(
1
)使用
snmpwalk
命令,查看本機
localhost
的主機名:
如上,可以看到通過遠端主機獲取到的主機名,與在本機獲取到的主機名是一致的。
二、配置
snmp
服務
以上安裝完成後,使用的是
snmp
的默認配置,通過這些默認配置,我們只能獲取主機的部
分信息。但一些其他的重要信息,無法獲取。如主機的
CPU
使用情況,內存使用情況等。
如上,無法獲取
CPU
的空閑率(註:
1.3.6.1.4.1.2021.11.11.0
是主機
CPU
空閑率的
oid
)
。
這時候,若要獲取主機的一些重要信息,則要修改
snmp
的默認配置。
配置方法:修改
/etc/snmp/snmpd.conf
文件
1
、修改查看設備節點的許可權
在該文件中,找到如下位置:
view
:定義了可以查看哪些節點設備的信息。
snmp
默認配置只能查看
.1.3.6.1.2.1.1
和
.1.3.6.1.2.1.25.1.1
節點下的設備信息,
而主機
CPU
和
內存等設備都不在這些節點下,所以無法獲取這些數據。
因此,可以修改這個配置,如下:
在此處添加了一行:
viewsystemviewincluded.1
表示可以查看
.1
節點下的所有設備信息。
㈦ linux 伺服器怎麼開啟snmp
對SNMP進行安裝和配置即可。
㈧ linux的snmpwalk命令
linux下snmpwalk命令不太常用到,所有很多人對它都不太熟悉,下面由我為大家搜集整理了linux的snmpwalk命令的相關知識,希望對大家有幫助!
linux的snmpwalk命令
SNMPWALK是一個通過SNMP GET-NEXT類型PDU,實現對目標AGENT的某指定MIB分支信息進行完整提取輸出的命令工作。
命令行:snmpwalk [選項] agent [oid]
選項參數:由於SNMP協議中,不同的協議版本存在不同的參數選項,以下參數按協議分開說明。
1. 普通選項
a) –h 顯示幫助
b) –v 1|2c|3 指定SNMP協議版本
c) –V 顯示當前SNMPWALK命令行版本
d) –r RETRIES 指定重試次數,默認為0次。
e) –t TIMEOUT 指定每次請求的等待超時時間,單為秒,默認為3秒。
f) –Cc 指定當在WALK時,如果發現OID負增長將是否繼續WALK。
2.V1、V2C選項
a) –c COMMUNITY 指定共同體字元串
3.V3選項
a) –l LEVEL 指定安全級別:noAuthNoPriv|authNoPriv|authPriv
b) –u USER-NAME 安全名字
c) –a PROTOCOL 驗證協議:MD5|SHA。如果-l指定為authNoPriv或authPriv時才需要。
d) –A PASSPHRASE 驗證字元串。如果-l指定為authNoPriv或authPriv時才需要。
e) –x PROTOCOL 加密協議:DES。如果-l指定為authPriv時才需要。
f) –X PASSPHRASE 加密字元串:如果-l指定為authPriv時才需要。
linux的snmpwalk命令常用方法
1、snmpwalk -v 2c -c public 10.103.33.1 .1.3.6.1.2.1.25.1 得到取得windows端的系統進程用戶數等
其中-v是指版本,-c 是指密鑰,也就是客戶端snmp.conf裡面所設置的,下面類同.
2、snmpwalk -v 2c -c public 10.103.33.1 .1.3.6.1.2.1.25.2.2 取得系統總內存
3、snmpwalk -v 2c -c public 10.103.33.1 hrSystemNumUsers 取得系統用戶數
4、snmpwalk -v 2c -c public 10.103.33.1 .1.3.6.1.2.1.4.20 取得IP信息
5、snmpwalk -v 2c -c public 10.103.33.1 system 查看系統信息
6、snmpwalk -v 2c -c public 10.103.33.1 ifDescr 獲取網卡信息
以上只是一些常用的信息,snmpwalk功能很多,可以獲取系統各種信息,只要更改後面的信息類型即可.如果不知道什麼類型,也可以不指定,這樣所有系統信息都獲取到:
snmpwalk -v 2c -c public 10.103.33.1
㈨ linux設定snmp
安裝SNMP軟體包,然後修改配置文件喔