Got 4 debian boxes, all suddenly not resolving mdns ip4 queries. On the contrary MacOS seems to resolve these queries just fine.
I can do avahi-resolve --name hostname.local
and get the result 'Timeout reached'
Odly enough I can see in wireshark that the mdns queries are leaving with the responses returning i.e
User Datagram Protocol, Src Port: 18189, Dst Port: 5353
Multicast Domain Name System (response)
Transaction ID: 0x0000
Flags: 0x8400 Standard query response, No error
Questions: 0
Answer RRs: 1
Authority RRs: 0
Additional RRs: 0
Answers
hostname.local: type A, class IN, cache flush, addr ip-here
Name: hostname.local
Type: A (Host Address) (1)
.000 0000 0000 0001 = Class: IN (0x0001)
1... .... .... .... = Cache flush: True
Time to live: 120 (2 minutes)
Data length: 4
Address: ip-here
[Unsolicited: True]
All these machines have a l2 bridge: br0
mapped to a single ethernet port, all other networking seems to work as expected (ping direct ip etc)
I'm not really sure as to why it's not resolving the query. Any help, greatly appreciated.
Update:
I've compared the difference between a working and non working mDNS response. The 4 hosts are able to resolve mDNS queries, however the 3 'servers' I am running have had docker installed and since then they respond to mDNS queries from a port other than 5353
which seems to be the only noticeable difference (other than ip/hostname/checksum).
I'll leave the question open and will answer once I've found if there's a way of getting docker to play nice with mDNS (There are questions on the internet about this)
Update2:
This issues seems to begin after a k8s installation, but only once callico networking was applied. It seems to install a lot of legacy iptables rules. I was able to get mDNS responding on the correct port by adding new iptables rules to perform SNAT when the destination port was 5353. Unfortunately calico would keep refreshing and bump this rule further down the chain stopping it from running.
I switched to flannel networking instead and deleted calico.