On a Debian 6.0.6 system (squeeze) I am having trouble resolving a host using Avahi and IPv4. Here is a sample output:
: nr@homedog 10102 ; avahi-browse -a + eth0 IPv6 yorkie [00:1f:3b:d8:67:1d] Workstation local + eth0 IPv6 homedog [bc:5f:f4:5a:b1:73] Workstation local + eth0 IPv4 homedog [bc:5f:f4:5a:b1:73] Workstation local
homedog, the local machine, is visible both on IPv6 and IPv4. But
yorkie, the remote machine, is visible only on IPv4. And
avahi-resolve-host-name -4 yorkie.local hangs with no result.
EDIT: The situation is symmetric:
yorkie sees itself on IPv4 and IPv6, but it sees
homedog on IPv6 only.
yorkie, the output from
iptables -vnL is
Chain INPUT (policy ACCEPT 109K packets, 98M bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 108K packets, 94M bytes) pkts bytes target prot opt in out source destination
(To make the display fit StackExchange without wrapping, I have taken a couple of liberties with horizontal space.) The display on
homedog is identical except for the numbers: for all three, it displays 0 packets and 0 bytes.
(I have no clue how to interpret these outputs, but it may be informative that
yorkie's current uptime is 41 days and
homedog's current uptime is 6 hours.)
I found a closed ticket at http://avahi.org/ticket/297, which suggests that the problem is some sort of firewall configuration. I am a complete novice in this area, and through web search I have been unable to inform myself about how to use the
iptables command to diagnose or repair the problem. I found another ticket as Debian bug 547974, but this bug was closed without explaining how to fix the problem.
The hypothesis is that somehow the service-discovery packet is being blocked—I don't know on which machine. Can anyone say how to discover which machine is blocking the packet and how to reconfigure it so Avahi discovers the IPv4 address?