Closed fatalkill3r closed 6 years ago
mDNS is link-local and not intended to be routed, so the TTL is set to 1, that's why it's not possible to route it. I'd suggest bridging the LANs instead.
Hi Thank you for your reply. Actually bridging the LANs is not a viable solution. Is it possible to alter the TTL and then forward ? Or something else. I have a chromecast which I wanted to operate across VLANs.
Well, there's usually a good reason protocols are LAN limited. For instance, an mDNS address can be chromecast.local
and resolve to 169.254.1.2
, which is a perfectly working address although non-route:able, routers drop these per standard. What you really want is a DHCP server with combined DNS, i.e. proper DNS, that you can reach from both LANs.
However, it is possible to increase the TTL, although it's usually supposed to be increased on the source, if you're using Linux you can try this on the router:
iptables -t mangle -A PREROUTING -i eth0 -d 224.0.0.251 -j TTL --ttl-inc 1
Seeing as this is not a pimd
issue but a network support issue, I'm now closing this report.
Okay I have setup a topology. Attached is its image. I am using iperf to send traffic on multicast destination 224.0.0.251 with a TTL of 32. Its not going through. If I change the destination ip to 225.0.0.251 then it starts working. It seems pimd is not allowing 224.0.0.251 to be routed. Please help.
Diagram Explanation - On left side client is sitting On right Side multicast source is sitting In the centre we have linux router with pimd
Ah yes, 224.0.0.* is reserved in IPv4 multicast for LAN signaling, I should have led with that, sorry. Maybe the igmpproxy project can help.
Can I patch some range in pimd's source and make 224.0.0.251 to work ? Can SMCroute help me ? I can patch few lines and compile with your help.
Sorry but I wanted to make this to work. Thanks for your help.
Maybe SMCRoute works, I haven't tried it for that purpose, but I'm fairly certain there's no filtering of the multicast.
Okay I will test it and get back on this. Thanks.
Okay I tested this scenario with smcroute and its not working. I can see below route in the multicast table. Do you think that linux kernel is somehow blocking this as 224.0.0.0 range is supposed to be local ? Is there a way I can patch kernel to change this behavior ?
~$ sudo smcroutectl
ROUTE (S,G) INBOUND OUTBOUND
(172.31.199.2, 224.0.0.251) eth2 eth1
Check if the route was actually set in the kernel with ip mroute
first, but yeah it's very likely the kernel is (also) blocking this.
What you're attempting is non-standard and not recommended, I'd advise you to stop and try something else instead. I'm sorry, but I cannot help you any further.
Yes ip mroute shows the route but its not working.
Okay. Thank you for your help.
Hi
I am currently trying to route mdns traffic [224.0.0.251]. Is it possible to do with pimd ? Any help will be appreciated. Its not working with current version of pimd. Thank you