Hi all,
I’m running Zabbix 7.3 using Docker Compose on Windows (Docker Desktop). I’ve set up the standard composed stack, including zabbix-snmptraps, and I’m trying to receive SNMP traps from multiple radios.
The problem I’m seeing:
It seems like the NAT between Windows and the Docker VM is causing all traps to appear from the same internal IP. Docker’s internal bridge networks (and their masquerade settings) don’t help here because the rewrite happens before the packet enters Docker.
My question is:
Thanks in advance for any advice or best practices.
I’m running Zabbix 7.3 using Docker Compose on Windows (Docker Desktop). I’ve set up the standard composed stack, including zabbix-snmptraps, and I’m trying to receive SNMP traps from multiple radios.
The problem I’m seeing:
- All traps appear in Zabbix as coming from the same local IP (e.g., 172.16.238.1), even though they come from different radios.
- As a result, traps are logged as “unmatched trap received from …”, because Zabbix relies on the source IP to match a host.
- I’ve confirmed with Wireshark that the radios send the correct IPs to the Windows host, but once the traps hit the Docker container, the source IP is rewritten.
It seems like the NAT between Windows and the Docker VM is causing all traps to appear from the same internal IP. Docker’s internal bridge networks (and their masquerade settings) don’t help here because the rewrite happens before the packet enters Docker.
My question is:
- What is the intended solution for properly receiving and matching SNMP traps when running Zabbix Compose on Windows?
- Is there a recommended workaround for Windows users, or is the only reliable solution to run the SNMP trap receiver on Linux/VM to preserve the real source IP?
Thanks in advance for any advice or best practices.