NAT環境からのアラーム発報に関して

NAT環境からのアラーム発報に関して、ご質問させて下さい。

NAT環境にある機器から、Zabbix(4.0)へのアラームテストを実施しました。
1) DELLサーバのiDRACからのsnmpテストアラームは、問題なくZabbix GUIに障害として表示。
2) Juniper FWからのsnmpテストアラームは、問題なくZabbix GUIに障害として表示。
3) VMware ESXiからのsnmpテストアラームは、Zabbix GUIに何も障害として表示されない。

ESXiからは、下記のコマンドでsnmpテストアラームを発報
#esxcli system snmp test
192.168.0.1 :NAT変換前のIP
10.1.1.1 :NAT変換後のIP

ZabbixサーバのNICのinterface(eth0)でtcpdumpを行ったところ下記のログが表示され、snmpアラームはESXiから正常に発報されている。
[root@zabbix001 ~]# tcpdump -i eth0 host 10.1.1.1
19:03:57.367911 IP 10.1.1.1.28204 > zabbix001.snmptrap:  C="snmpcom" Trap(29)  S:1.1.5 192.168.0.1 warmStart 7756300

しかしながら、snmpttログを見ると、送信元のIPがNAT変換前のIPとなっている。
[root@zabbix001] cd /var/log/snmptt
[root@zabbix001 snmptt]# tail -f snmptt.log
2019/07/04 14:57:15 .1.3.6.1.6.3.1.1.5.2 Normal "Status Events" 192.168.0.1 - ZBXTRAP 192.168.0.1 A warmStart trap signifies that the SNMP entity,

/etc/snmp/snmptt/snmptt.confの設定(変更前)
EVENT warmStart .1.3.6.1.6.3.1.1.5.2 "Status Events" Normal
FORMAT ZBXTRAP $aA A warmStart trap signifies that the SNMP entity, $*

/etc/snmp/snmptt/snmptt.confの設定(変更後)
EVENT warmStart .1.3.6.1.6.3.1.1.5.2 "Status Events" Normal
FORMAT ZBXTRAP $ar A warmStart trap signifies that the SNMP entity, $*

$aAを$arに変更後、問題なくZabbix GUIに障害として表示(検知)されました。
2019/07/04 15:05:31 .1.3.6.1.6.3.1.1.5.2 Normal "Status Events" 192.168.0.1 - ZBXTRAP 10.1.1.1 A warmStart trap signifies that the SNMP entity,

$aAと$arの違い、なぜ$aAを$arに変更する事でアラームが表示されるようになったのかよく理解できておりません。
(NAT後のIPが表示されるようになったのはログから分かるのですが)
具体的にどのように違うのかご教授お願いできませんでしょうか?
http://snmptt.sourceforge.net/docs/snmptt.shtml#DNS
上記を参照したのですが、違いがよく分かりませんでした。
又、これ以外にも今回の問題の解決手段はございますでしょうか?

よろしくお願い致します。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー TNK の写真

ホストに登録されているIPアドレスと比較してください。

登録されていないIPアドレスからのトラップであれば、デフォルト
の設定だとログファイルに対応したホストが無いトラップとして出
力されていると思います。

TNK様、
コメントありがとうございます。
iDRAC,SRX,ESXiは各々IPは異なるものの、ホストリストの設定で、各々のホスト名に対してIPアドレスのみを設定している状況です。
(DNS名は使用しておりません)
1)ホスト名:iDRAC, IPアドレス:10.1.1.3,ポート:161 => SNMP trap受信(受信IPはNAT変換後のIP(10.1.1.3)として表示),GUIにアラーム表示
2)ホスト名:SRX, IPアドレス: 10.1.1.2,ポート:161 => SNMP trap受信(受信IPはNAT変換後のIP(10.1.1.2)として表示),GUIにアラーム表示
3)ホスト名:ESXi, IPアドレス:10.1.1.1,ポート:161 => SNMP trap受信(受信IPはNAT変換前のIP(192.168.0.1)として表示), GUIにアラーム表示されない。

ESXiのみなぜ振る舞いが異なるのか分からない状況です。
他にも何か設定確認する箇所等がございましたら、ご教授お願い致します。

ユーザー kz999 の写真

https://log4hc.wordpress.com/2011/09/19/snmp-trap-translator-v1-3/

$aA – Trap agent IP address
$aR, $ar – IP address

v1だとSNMPパケット内にIPを書けるようですので、$aAはその情報がzabbix側で表示されるのだと思います。
NATする時に書き換えるのはIPヘッダにあるIPで、SNMPパケット内には手を加えませんから、NATしたところで「Trap agent IP address=NAT前IP」と「IP address=NAT後IP」になります。
ESXiはv1で投げてるのではないでしょうか。

NAT後のIPで表示されたトラップをメールすると、機器担当に「知らないぞこんな機器」と言われる場合もあったりしますが、NAT前の$aAはIPが被る可能性があるので私は$ar使うようにしてます。(今考えると、抽出するIPは$arでメールに表示するIPは$aAにすることもできたなあ、とちょっと思いました。運用変えるの面倒なのでこのままにしますが)

ところでv2cの場合に$aAはどこを見てるんでしょうね?
「Trap agent IP address」が無いと、「IP address」を値にとる?
誰か知ってる方教えてください。

kz999様、

コメントありがとうございます。
確かにSNMP PDU formatにv1の場合は、Agent Addressが含まれていますね。
ESXiもSNMP trapをv1で送信している事が分かりました。ESXiからSNMP trapをv2cで送る設定が分かっていない状況です。
どなたかご存知の方おりましたら、ご教授お願い致します。
他のノードは、SNMP trapをv2cで送っており、$aAで正常にZabbix側でNAT後IPで検知できています。