synfinatic / udp-proxy-2020

A crappy UDP router for the year 2020 and beyond
MIT License
106 stars 7 forks source link

Add mDNS support #44

Closed tiehfood closed 3 years ago

tiehfood commented 3 years ago

Not that important, but maybe a nice feature for the future: mDNS repeater like avahi struggle with the same problem that multicast is not supported on point-to-point connections like openvpn tun devices. Just using the mDNS port 5353 with udp-proxy-2020 doesn't work out of the box in a first test

synfinatic commented 3 years ago

Multicast seems supported on FreeBSD w/ OpenVPN:

ovpns2: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1500
    options=80000<LINKSTATE>
    inet6 fe80::2e0:67ff:fe1f:4978%ovpns2 prefixlen 64 scopeid 0xf
    inet 172.16.10.1 --> 172.16.10.2 netmask 0xffffff00
    nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
    groups: tun openvpn
    Opened by PID 79303
ovpnc1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1500
    options=80000<LINKSTATE>
    inet6 fe80::2e0:67ff:fe1f:4978%ovpnc1 prefixlen 64 scopeid 0x10
    inet 10.119.73.174 --> 10.119.73.173 netmask 0xffffffff
    nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
    groups: tun openvpn
    Opened by PID 28427

Can you show the output of ifconfig on your UDM?

tiehfood commented 3 years ago

I will give you the infos tomorrow, meanwhile some hints for mDNS, if you want to know some details:

https://superuser.com/questions/949140/repeating-mdns-bonjour-requests-from-eth0-through-a-tunnel-tun0

https://community.ui.com/questions/mdns-repeater-with-OpenVPN-stun-v1-8-0/f0c0fc77-adb2-4881-a165-20abc10482f0

tiehfood commented 3 years ago

You're right, according to ifconfig the tun device should support multicast but obviously it doesn't work for mDNS

synfinatic commented 3 years ago

@tiehfood : I'm going to close this ticket as won't fix unless you or someone can actually tell me what I need to do. Either why udp-proxy-2020 doesn't work as-is or what it would need to do differently. I suspect the answer is "decode the mDNS packets and modify them before forwarding", but the standard solution for this seems to be dns-sd instead?

Anyways, need more info.

tiehfood commented 3 years ago

You could close it, if you don't have enough time to investigate the problem further. I have no deeper knowledge of mDNS, all I could tell is, that it doesn't work over the OpenVPN tun device with dns-sd, avahi or any other tool I found. It would be a 'nice to have' feature (as I think your tool is the right way, to get it working) but it's not mandatory.

Great work so far for proxy Roon services on UDM!