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
增強的安全機制
您可以在安全組中設置,將UDP161端口只開放給雲監控的3臺測試機ip 114.80.132.9,58.215.169.26,58.215.169.27,而不是開放給所有網絡
具體方法是:
在雲主機界面登陸控制檯,選擇安全組,選擇高級設置,選擇custom UDP,161端口,源ip輸入上述3個ip,點擊添加規則,提交之後生效並且能夠在右側看到相關UDP的信息。