Vyatta(VyOS) snmptrap設定

スポンサーリンク

Vyatta(VyOS)にsnmptrapを設定し監視可能な状態にする方法を説明します。

設定まとめ

コマンドまとめ

以下コマンドでsnmptrapの送信先とコミュニティ名を定義します。

set service snmp trap-target <snmptrapdサーバ> community <コミュニティ名>

以下コマンドでsnmptrapを送付する時のUDPポートを指定します。well-known portsであるUDP162を使用する場合でも、設定省略不可です。

set service snmp trap-target <snmptrapdサーバ> port <ポート番号>

設定の追跡

VyOSはDebianを元にしたOSです。ですので、上記のsetコマンドを実行すると、内部的にはsnmpdの設定が生成されます。想定外の挙動をした場合は、snmpdの設定を追跡してみましょう。/etc/snmp/snmpd.confにsetコマンドで指定した設定が格納されています。

vyos@vy001:~$ show configuration commands | grep snmp
set service snmp trap-target 192.168.10.10 community 'public'
set service snmp trap-target 192.168.10.10 port '162'
vyos@vy001:~$ 
vyos@vy001:~$ 
vyos@vy001:~$ cat /etc/snmp/snmpd.conf 

 <omitted>

# if there is a problem - tell someone!
trap2sink 192.168.10.10:162 public

 <omitted>

動作確認

動作確認の構成

以下の環境で動作確認を行います。社内端末向けの環境を想定し、クライアント端末からプロキシサーバ(squid)を経由してWeb(apache)へ通信する要件を想定します。

+-----------------------+
|        host010        |
|                       |
+-----------+-----------+
     ens224 | .10
            | 
            | 192.168.10.0/24
            | 
       eth0 | .1
+-----------+-----------+ 
|         vy001         | 
|                       |
+-----------+-----------+
       eth1 | .1
            | 
            | 192.168.20.0/24
            | 

初期設定

初期設定はIPアドレスのみとします。

vy001 : VyOS 1.4
set interfaces ethernet eth0 address '192.168.10.1/24'
set interfaces ethernet eth0 hw-id '00:50:56:8e:74:ec'
set interfaces ethernet eth1 address '192.168.20.1/24'
set interfaces ethernet eth1 hw-id '00:50:56:90:d0:1e'
set interfaces loopback lo
set service ssh disable-host-validation
set system config-management commit-revisions '100'
set system console device ttyS0 speed '115200'
set system host-name 'vy001'
set system login user vyos authentication encrypted-password '$6$QxPS.uk6mfo$9QBSo8u1FkH16gMyAVhus6fU3LOzvLR9Z9.82m3tiHFAxTtIkhaZSWssSgzt4v4dGAL8rhVQxTg0oAG9/q11h/'
set system login user vyos authentication plaintext-password ''
set system ntp server time1.vyos.net
set system ntp server time2.vyos.net
set system ntp server time3.vyos.net
set system syslog global facility all level 'info'
set system syslog global facility protocols level 'debug'

動作確認 snmptrapの有効化

以下のコマンドでsnmptrapを定義します。ポート番号162はwell-known portsですが、省略不可の設定です。

[vy001:VyOS1.4]
set service snmp trap-target 192.168.10.10 community 'public'
set service snmp trap-target 192.168.10.10 port '162'

snmptrapの動作確認のためにinterfaceの1つをdisableにします。

[vy001:VyOS1.4]
set interfaces ethernet eth1 disable

設定反映と同時にsnmptrapが送信される事を確認します。確認方法は、snmptrapdサーバを構築したりパケットキャプチャなどで確認する事ができます。

[host030:RockyLinux8.4]
[root@host010 ~]# tail -n1 -f /var/log/messages 
Aug 31 20:55:32 host010 snmptrapd[2572]: 2021-08-31 20:55:32 <UNKNOWN> [UDP: [192.168.10.1]:39998->[192.168.10.10]:162]:#012DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (32) 0:00:00.32#011SNMPv2-MIB::snmpTrapOID.0 = OID: IF-MIB::linkUp#011IF-MIB::ifIndex.3 = INTEGER: 3#011IF-MIB::ifDescr.3 = STRING: VMware VMXNET3 Ethernet Controller#011IF-MIB::ifType.3 = INTEGER: ethernetCsmacd(6)#011IF-MIB::ifAdminStatus.3 = INTEGER: up(1)#011IF-MIB::ifOperStatus.3 = INTEGER: up(1)#011SNMPv2-MIB::snmpTrapEnterprise.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
Aug 31 20:58:42 host010 snmptrapd[2572]: 2021-08-31 20:58:42 <UNKNOWN> [UDP: [192.168.10.1]:39998->[192.168.10.10]:162]:#012DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (19031) 0:03:10.31#011SNMPv2-MIB::snmpTrapOID.0 = OID: IF-MIB::linkDown#011IF-MIB::ifIndex.3 = INTEGER: 3#011IF-MIB::ifDescr.3 = STRING: VMware VMXNET3 Ethernet Controller#011IF-MIB::ifType.3 = INTEGER: ethernetCsmacd(6)#011IF-MIB::ifAdminStatus.3 = INTEGER: down(2)#011IF-MIB::ifOperStatus.3 = INTEGER: down(2)#011SNMPv2-MIB::snmpTrapEnterprise.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10

[root@host010 ~]# tcpdump -i ens224 udp port 162
dropped privs to tcpdump
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens224, link-type EN10MB (Ethernet), capture size 262144 bytes
21:00:42.028760 IP 192.168.10.1.39998 > host010.gokatei.go.snmptrap:  V2Trap(200)  system.sysUpTime.0=31031 S:1.1.4.1.0=S:1.1.5.4 interfaces.ifTable.ifEntry.ifIndex.3=3 interfaces.ifTable.ifEntry.ifDescr.3="VMware VMXNET3 Ethernet Controller" interfaces.ifTable.ifEntry.ifType.3=6 interfaces.ifTable.ifEntry.ifAdminStatus.3=1 interfaces.ifTable.ifEntry.ifOperStatus.3=1 S:1.1.4.3.0=E:8072.3.2.10
^C
1 packet captured
1 packet received by filter
0 packets dropped by kernel
[root@host010 ~]# 
タイトルとURLをコピーしました