Vyatta(VyOS)にsnmpdを設定し監視可能な状態にする方法を説明します。
設定まとめ
コマンドまとめ
以下コマンドでsnmpのコミュニティ名を定義します。
set service snmp community <コミュニティ名>
以下コマンドで接続を許可するクライアントを定義します。
set service snmp community <コミュニティ名> network <プレフィックス指定>
以下コマンドでsnmpに応答するIPアドレスを指定します。デフォルトではVyattaの全てのIPアドレス(インターフェース)がsnmpに応答します。
set service snmp listen-address <IPアドレス>
設定の追跡
VyOSはDebianを元にしたOSです。ですので、上記のsetコマンドを実行すると、内部的にはsnmpdの設定が生成されます。想定外の挙動をした場合は、snmpdの設定を追跡してみましょう。/etc/snmp/snmpd.confにsetコマンドで指定した設定が格納されています。
vyos@vy001:~$ show configuration commands | grep snmp set service snmp community public set service snmp listen-address 192.168.10.1 vyos@vy001:~$ vyos@vy001:~$ cat /etc/snmp/snmpd.conf <omitted> # Listen agentaddress unix:/run/snmpd.socket,udp:192.168.10.1:161,udp:127.0.0.1:161,udp6:[::1]:161 # SNMP communities rocommunity public rocommunity6 public <omitted>
動作確認
動作確認の構成
以下の環境で動作確認を行います。社内端末向けの環境を想定し、クライアント端末からプロキシサーバ(squid)を経由してWeb(apache)へ通信する要件を想定します。
+-----------------------+ | host010 | | | +-----------+-----------+ ens224 | .10 | | 192.168.10.0/24 | eth0 | .1 +-----------+-----------+ | vy001 | | | +-----------------------+
初期設定
初期設定はIPアドレスのみとします。
動作確認 snmpサービスの有効化
以下のコマンドでsnmpを有効にし、さらにコミュニティ名「public」を付与します。
[vy001:VyOS1.4] set service snmp community public
host010からsnmpwalkコマンドによる疎通確認をします。
[host030:RockyLinux8.4] [root@host010 ~]# snmpwalk -v 2c -c public 192.168.10.1 SNMPv2-MIB::sysDescr.0 = STRING: VyOS 1.4-rolling-202108110714 SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.44641 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (30581) 0:05:05.81 SNMPv2-MIB::sysContact.0 = STRING: root SNMPv2-MIB::sysName.0 = STRING: vy001 SNMPv2-MIB::sysLocation.0 = STRING: Unknown SNMPv2-MIB::sysServices.0 = INTEGER: 14 SNMPv2-MIB::sysORLastChange.0 = Timeticks: (3) 0:00:00.03 SNMPv2-MIB::sysORID.1 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance SNMPv2-MIB::sysORID.2 = OID: SNMP-MPD-MIB::snmpMPDCompliance