Personal tools
You are here: Home Team Members Dennis Johnson Zero Configuration Networking / Avahi

Zero Configuration Networking / Avahi

by fenris02 last modified Nov 16, 2011 04:39 AM

This page shows how to setup avahi so that other computers can autodiscover services.

Applicable to Fedora Versions

  • Fedora 10+

Requirements

Explanation of requirements.
  1. Before you begin, please insure that you have current software: su -c "yum update"
  2. Requirement 2

Doing the Work

Basic description of what will be done and what is expected.

  1. All users: (x86_64 users need to have both the 32-bit and 64-bit nss-mdns packages installed):
  2. # yum install avahi avahi-autoipd avahi-compat-libdns_sd avahi-glib avahi-gobject avahi-tools nss-mdns nss-mdns.i?86
  3. KDE Users:
  4. # yum install kdelibs
  5. Verify your nsswitch.conf file is ready for Avahi:
  6. # grep '^hosts:' /etc/nsswitch.conf
    hosts: files mdns4_minimal [NOTFOUND=return] dns mdns
  7. Verify you have Avahi running:
  8. # chkconfig --list avahi-daemon
    avahi-daemon 0:off 1:off 2:off 3:on 4:on 5:on 6:off

    # service avahi-daemon status
    Avahi daemon is running
  9. Enable "Multicast DNS (mDNS)  5353/udp" in your firewall configuration:
  10. $ system-config-firewall

Troubleshooting

How to test

Explanation troubleshooting basics and expectations.
  1. To view what is available on your network:
  2. $ avahi-browse -at
  3. To graphically view what is available on your network:
  4. $ avahi-discover
  5. Test to verify Avahi is working properly: (Use your own hostname instead of 'foo' below)
  6. $ getent hosts foo.local
    192.168.1.4 foo.local

Common problems and fixes

  • Example: Enable HTTP service advertisement (for personal user sharing):
    # su -c "yum install gnome-user-share";
    # cat /etc/httpd/conf.d/mod_dnssd.conf
    LoadModule dnssd_module modules/mod_dnssd.so

    DNSSDEnable on
    #DNSSDAutoRegisterVHosts on
    #DNSSDAutoRegisterUserDir on
  • Example: Enable FTP service advertisement:
    # cat - > /etc/avahi/services/ftp.service <<EOF
    <?xml version="1.0" standalone='no'?>
    <!DOCTYPE service-group SYSTEM "avahi-service.dtd">
    <service-group>
    <name replace-wildcards="yes">FTP File Sharing on %h</name> ## Display Name
    <service>
    <type>_ftp._tcp</type>
    <port>21</port>
    </service>
    </service-group>
    EOF

  • Example: Enable NFS service advertisement: (Advertise an existing NFS share)
    # cat - > /etc/avahi/services/nfs_home.service <<EOF
    <?xml version="1.0" standalone='no'?>
    <!DOCTYPE service-group SYSTEM "avahi-service.dtd">
    <service-group>
    <name replace-wildcards="yes">NFS Shares on %h:
    /home</name> ## Display Name
    <service>
    <type>_nfs._tcp</type>
    <port>2049</port>
    <txt-record>path=
    /home</txt-record> ## path to NFS mountpoint
    </service>
    </service-group>
    EOF

  • Example: Enable SAMBA service advertisement:
    # cat - > /etc/avahi/services/samba.service <<EOF
    <?xml version="1.0" standalone='no'?>
    <!DOCTYPE service-group SYSTEM "avahi-service.dtd">
    <service-group>
    <name replace-wildcards="yes">Samba Shares on %h</name> ## Display Name
    <service>
    <type>_smb._tcp</type>
    <port>139</port>
    </service>
    </service-group>
    EOF

More Information

Applications that are ZeroConf aware can be found http://avahi.org/wiki/Avah4users

Disclaimer

We test this stuff on our own machines, really we do. But you may run into problems, if you do, come to #fedora on irc.freenode.net

Added Reading

Document Actions
Log in


Forgot your password?
New user?