I setup my openwrt as OpenVPN server and my Mac can connect just fine (tun, not tap) but it doesn't see other devices on the network: they don't automatically show up in finder (this worked with vpn over tap interface).
how do I get my other Macs and Bonjour devices to show up on my Mac connected to home network over VPN without switching back to TAP VPN? I tried playing with Avahi, mdnsd and other packages but I can't get it to work.
mDNS, Bonjour, and the like are link-local protocols. They do not route.
You either need to bridge the networks involved, or provide a relay and alternate resolution with Avahi or the like.
yea but how do I configure Avahi and which package exactly do I install? I need details please
Since you've got a single client, or perhaps a couple, and, from what I can tell, want it to be as if they are on your interior network, why not just a use L2 tunnel?
Forcing routing on yourself seems like unnecessary complication to me, pushing you into the world of "faking" L2 networking over a L3 boundary.
What are the devices you want to be seen/made available?
Why not stick with DNS beyond the VPN connection?
What problem were you solving by moving from tap to tun?
I switched back to TUN so that my iPhone can VPN to home network. TAP is not supported by iOS OpenVPN client
well, mdns and bojour only work with tap not tun.
you could run two vpn's ...
I switched it back to TAP. does anyone know of an iPhone VPN app that works with TAP?
Might be a challenge on iOS, based on https://docs.openvpn.net/connecting/connecting-to-access-server-with-apple-ios/faq-regarding-openvpn-connect-ios/
The iOS VPN API supports only tun-style tunnels at the moment. This is a limitation of the iOS platform.
You might look into IPsec-based protocols, or perhaps Wireguard.
Edit: I didn't see much helpful at https://developer.apple.com/documentation/networkextension as, at least as I read it, is about routing packets, not providing L2 bridging of any sort. There may be other APIs that can be leveraged on an iOS device.