I need some explanation about the post subject: my scenario is described in the linked image:
https://ibb.co/Qfx8642
I've an APP for smartphone that should communicate with the End Device, I've make all the configurations (using OpenVPN with TUN configuration) and all work fine, I can ping from the smartphone the End Device, and the other devices present in the diagram. Now the problem is this: the APP use a discovery packet to find the End Device, and this can't works cause broadcast packets can't travel between different networks/subnets. I'd like to try to configure dst-nat to transform the broadcast received from the Mikrotik to an unicast directed to the End Device IP, like Cisco IP Helper, I read that this should be possible, but doing some test I discover a strange behavior: from the prospect of the smartphone, the interface tun0 (that rise up when the tunnel is running) should be a direct connected interface, so I expect that the broadcast packets generated by the APP and leaving this interface should reach all the tun0 interface of the others devices tunnel, like a common LAN, like ARP request packets, obviously these packets could't forward over the tunnel network.
Running WireShare on the PC and capturing from the PC tun0 interface I can't see the broadcast packets generated from the smartphone APP. Why???
I try to do this test: delete the arp table of the pc and execute a ping to the smartphone, to force the pc make a new arp request from the tun0 to find the phone tun0 mac address, all captured with wireshark. I discover that the pc executes an ARP request with Source MAC 00:ff:af:18:2b:e8 (tun0) and Destination MAC ff:ff:ff:ff:ff:ff, the ARP reply arrives by a Source MAC address with this value 00:ff:b0:18:2b:e8 (!!!) and Destination MAC 00:ff:af:18:2b:e8 (the original pc source of the request, this is correct). Practically seams that this MAC reply source address is the same value of the PC Source MAC Request andress but with the third byte increased by 1, I try also to do this test with other devices and for different MAC address, the one of the MAC reply has always the third byte increased by 1.
So I suspect that the broadcast that leave the tun0 from any device interfaces actually didn't go through the tunnel network but is closed back by a local virtual MAC address that reply like it was a gateway. Probably, data management like ARP ecc. is managed inside the tunnel with dedicated protocols.
If this is true, there is not way to bring broadcast to the End device, neither with IP Helper manner. The main problem is that I can't use TAP interface cause IOS does'nt support it, and also Android with OpenVPN 3 is going to that direction.
thanks!
R