- ติดตั่งตัว snmp service และ client
sudo apt update
sudo apt install snmpd snmp
- สำรองไฟล์และแก้ไข
sudo cp -a /etc/snmp/snmpd.conf /etc/nsnmp/snmpd.conf.bak
sudo nano /etc/snmp/snmpd.conf
- หา agentAddress ประมาณบรรทัดที 49 เดิมแล้วแก้เป็นบรรทัดนี้ โดยให้เหลือบรรทัดที่ใช้งานเพียงบรรทัดเดียว: (ใช้จริงผม ไม่ใส่ แต่แค่คอมเม้น # agentaddress 127.0.0.1,[::1] ไว้พอคับ)
# agentaddress 127.0.0.1,[::1]
- คอมเม้นแล้ว จะใส่ udp:161 ใส่หรือไม่ใส่ก็ได้คับ client สามารถ snmpwalk ได้
agentAddress udp:161
- มองหา view systemonly ประมาณบรรทัดที่ 63-64
- เพิ่มการดึงค่าให้ได้เยอะสุดโดยเติม .1 เข้ากลุ่ม systemonly หรือจะสร้าง กลุ่มอื่นก็ได้
view systemonly included .1
view systemonly included .1.3.6.1.2.1.1
view systemonly included .1.3.6.1.2.1.25.1
view mygroup included .1
- จากนั้นเพิ่ม สิทธิ์เครื่องเข้าถึง ค่าเริ่มต้นเป็น public default น่าจะ read ได้ทุกเครื่อง ประมาณบรรทัด 71-72
rocommunity public default -V systemonly
rocommunity6 public default -V systemonly
- ควรคอมเม้นไม่ให้ใช้ค่าเริ่มต้น
# rocommunity public default -V systemonly
# rocommunity6 public default -V systemonly
- เลือกตั้งค่าเลยจะใช้แบบใหน
# อนุญาตเฉพาะ ip โดย oid กลุ่ม systemonly
rocommunity mycms 192.1.1.1 -V systemonly
# อนุญาตทุก ip แต่ใช้ได้แค่ oid mygroup
rocommunity mycms default -V mygroup
# allow subnet
rocommunity mySecretKey 10.10.20.0/24 -V systemonly
# allow เฉพาะ localhost
rocommunity mySecretKey 127.0.0.1 -V systemonly
- ตั้ง service ให้เปิด ตอนบูตเครื่องใหม่ทุกครั้ง (ปกติติดตั้งเสร็จมัน enable ให้อัตโนมัติอยู่แล้ว)
sudo systemctl enable —now snmpd
sudo systemctl restart snmpd
sudo systemctl status snmpd —no-pager
- ตรวจสอบ firewall port 161, snmp service ที่ฝั่ง server ให้อนุญาตด้วย
- ทดสอบ snmpwalk ฝั่ง client
snmpwalk -v2c -c 'MySnmpSecret123' UBUNTU_IP .1.3.6.1.2.1.1
snmpwalk -v2c -c 'MySnmpSecret123' UBUNTU_IP .1
เพิ่มเติม
- ตรวจสอบ firewal open centos 7
sudo firewall-cmd --list-all
sudo iptables -L -n -v | grep 161
เพิ่ม อนุญาต service
sudo firewall-cmd --permanent --add-service=snmp
sudo firewall-cmd --reload