Home page › Forums › Technical Support, Bugs and Fixes › External devices
- This topic has 4 replies, 2 voices, and was last updated 1 week, 4 days ago by
Sepehr.
- AuthorPosts
- February 3, 2026 at 7:53 pm #8709
- February 4, 2026 at 7:30 am #8711
To change peer IP:
In devices page in front of each device action menu, edit device - February 4, 2026 at 7:34 am #8712
Yes, I found this, but there are only 2 options: the local address of the container and the local address of the host.
- February 6, 2026 at 12:38 am #8713
Issue: Syslog not working for devices behind NAT
Situation Description:
MikroWizard server is installed behind a NAT router:Server internal IP: 192.168.10.2
Router external IP: 1.1.1.1
Client MikroTik devices connect from the internet through the external IPSteps to Reproduce:
Added a MikroTik device to MikroWizard
Manually configured /system logging on MikroTik with prefix mikrowizard (without ID number)
Logs were arriving at the server but were not being saved to the database
Deleted the device and added it again (device ID changed)
Enabled “Force Syslog” option for automatic configuration
MikroWizard automatically configured syslog but used the internal address 192.168.10.2 instead of external 1.1.1.1
Device could not send logs because address 192.168.10.2 is unreachable from the internetIssues Found:
Issue 1: Regex requires device number in prefixCode in syslog.py uses regex: mikrowizard(\d+):
When manually configured, used prefix mikrowizard without number
Logs were arriving but not being processed (regex didn’t match)
Solution: Use prefix mikrowizard{device_id}, for example mikrowizard5Issue 2: Force Syslog uses peer_ip instead of default_ip
When “Force Syslog” is enabled, MikroWizard takes peer_ip from the device record
The peer_ip list only contains IP addresses from the server’s network interfaces
For a server behind NAT, only the internal IP 192.168.10.2 is available
The router’s external IP 1.1.1.1 is not available in the list
Current solution: Add the external IP as an alias on the loopback interfaceIssue 3: Device ID changes when deleted and re-added
When a device is deleted and re-added, the database ID changes
Old syslog settings with prefix mikrowizard{old_id} stop working
Need to either automatically update the prefix or use a different identifier (e.g., by IP address)Working Temporary Solution:
Add external IP as an alias on the server:
bashsudo ip addr add 1.1.1.1/32 dev lo label lo:ext
Restart the mikroman container:
bashsudo docker restart mikroman
In the MikroWizard web interface, when editing the device, select peer_ip = 1.1.1.1
Enable “Force Syslog” – now it will use the correct external addressImprovement Suggestions:
For servers behind NAT: Add a separate “External IP for Syslog” setting in System Settings, which will be used instead of peer_ip when Force Syslog is enabled
Simplify prefix: Allow regex to accept both mikrowizard{id}: and just mikrowizard:, identifying the device by sender’s IP address
Stable identifiers: When deleting/re-adding a device, preserve the ID or use another permanent identifier (MAC address, serial number)
Automatic availability check: When configuring Force Syslog, check if the specified peer_ip is reachable from the device and warn if not- February 13, 2026 at 11:39 am #8719
Hi , thanks for the detailed bug report . that would be prefect if you add it under github issues.
For now one way is that you found your self to add dummy IP to linux to trick Mikrowizard as it gets IP list from interfaces and linux .the other workaround is to simply edit the code and add your IP to the list where MikroWizard finds IP list. from linux.I added following to my todo list and feature request with high priority:
Add an option to add force custom peer ip.
- AuthorPosts
- You must be logged in to reply to this topic.