Page MenuHomePhorge

[ZARCHIWIZOWANO] Tutorial RemoteAudio - Konfiguracja Avahi
Updated 1,955 Days AgoPublic

Version 1 of 2: You are viewing an older version of this document, as it appeared on Jan 11 2019, 12:00 PM.
[ZARCHIWIZOWANO] Tutorial RemoteAudio - Konfiguracja Avahi

Avahi powinno na większości dystrybucji działać out-of-box. Jeżeli tak nie jest, trzeba sprawdzić konfigurację. Poniżej zamieszczam domyślną działającą konfigurację Avahi w wersji 0.6.31:

Domyślna konfiguracja Avahi
/etc/avahi

<file - avahi-daemon.conf>

  1. This file is part of avahi. #
  2. avahi is free software; you can redistribute it and/or modify it
  3. under the terms of the GNU Lesser General Public License as
  4. published by the Free Software Foundation; either version 2 of the
  5. License, or (at your option) any later version. #
  6. avahi is distributed in the hope that it will be useful, but WITHOUT
  7. ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  8. or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
  9. License for more details. #
  10. You should have received a copy of the GNU Lesser General Public
  11. License along with avahi; if not, write to the Free Software
  12. Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
  13. USA.
  1. See avahi-daemon.conf(5) for more information on this configuration
  2. file!

[server]
#host-name=foo
#domain-name=local
browse-domains=0pointer.de, zeroconf.org
use-ipv4=yes
use-ipv6=no
#allow-interfaces=eth0
#deny-interfaces=eth1
#check-response-ttl=no
#use-iff-running=no
#enable-dbus=yes
#disallow-other-stacks=no
#allow-point-to-point=no
#cache-entries-max=4096
#clients-max=4096
#objects-per-client-max=1024
#entries-per-entry-group-max=32
ratelimit-interval-usec=1000000
ratelimit-burst=1000

[wide-area]
enable-wide-area=yes

[publish]
#disable-publishing=no
#disable-user-service-publishing=no
#add-service-cookie=no
#publish-addresses=yes
#publish-hinfo=yes
#publish-workstation=yes
#publish-domain=yes
#publish-dns-servers=192.168.50.1, 192.168.50.2
#publish-resolv-conf-dns-servers=yes
#publish-aaaa-on-ipv4=yes
#publish-a-on-ipv6=no

[reflector]
#enable-reflector=no
#reflect-ipv=no

[rlimits]
#rlimit-as=
rlimit-core=0
rlimit-data=4194304
rlimit-fsize=0
rlimit-nofile=768
rlimit-stack=4194304
rlimit-nproc=3
</file>

<file bash avahi-autoipd.action>
#!/bin/sh

  1. This file is part of avahi. #
  2. avahi is free software; you can redistribute it and/or modify it
  3. under the terms of the GNU Lesser General Public License as
  4. published by the Free Software Foundation; either version 2 of the
  5. License, or (at your option) any later version. #
  6. avahi is distributed in the hope that it will be useful, but WITHOUT
  7. ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  8. or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
  9. License for more details. #
  10. You should have received a copy of the GNU Lesser General Public
  11. License along with avahi; if not, write to the Free Software
  12. Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
  13. USA.

set -e

  1. Command line arguments:
  2. $1 event that happened:
  3. BIND: Successfully claimed address
  4. CONFLICT: An IP address conflict happened
  5. UNBIND: The IP address is no longer needed
  6. STOP: The daemon is terminating
  7. $2 interface name
  8. $3 IP adddress

PATH="$PATH:/usr/bin:/usr/sbin:/bin:/sbin"

  1. Use a different metric for each interface, so that we can set
  2. identical routes to multiple interfaces.

METRIC=$((1000 + cat "/sys/class/net/$2/ifindex" 2>/dev/null || echo 0))

if [ -x /bin/ip -o -x /sbin/ip ] ; then

  1. We have the Linux ip tool from the iproute package

    case "$1" in BIND) ip addr add "$3"/16 brd 169.254.255.255 label "$2:avahi" scope link dev "$2" ip route add default dev "$2" metric "$METRIC" scope link ||: ;;

    CONFLICT|UNBIND|STOP) ip route del default dev "$2" metric "$METRIC" scope link ||: ip addr del "$3"/16 brd 169.254.255.255 label "$2:avahi" scope link dev "$2" ;;

    *) echo "Unknown event $1" >&2 exit 1 ;; esac

elif [ -x /bin/ifconfig -o -x /sbin/ifconfig ] ; then

  1. We have the old ifconfig tool

    case "$1" in BIND) ifconfig "$2:avahi" inet "$3" netmask 255.255.0.0 broadcast 169.254.255.255 up route add default dev "$2:avahi" metric "$METRIC" ||: ;;

    CONFLICT|STOP|UNBIND) route del default dev "$2:avahi" metric "$METRIC" ||: ifconfig "$2:avahi" down ;;

    *) echo "Unknown event $1" >&2 exit 1 ;; esac

else

echo "No network configuration tool found." >&2
exit 1

fi

exit 0
</file>

<file bash avahi-dnsconfd.action>
#!/bin/sh

  1. This file is part of avahi.
  2. avahi is free software; you can redistribute it and/or modify it
  3. under the terms of the GNU Lesser General Public License as
  4. published by the Free Software Foundation; either version 2 of the
  5. License, or (at your option) any later version. #
  6. avahi is distributed in the hope that it will be useful, but WITHOUT
  7. ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  8. or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
  9. License for more details. #
  10. You should have received a copy of the GNU Lesser General Public
  11. License along with avahi; if not, write to the Free Software
  12. Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
  13. USA.

set -e

test "x$AVAHI_INTERFACE" != "x"

  1. Command line arguments:
  2. $1 "+" if a new DNS server was found, "-" if one was removed
  3. $2 DNS Server address
  4. $3 interface index where this server was found on
  5. $4 protocol number where this server was found on
  1. Available environment variables: #
  2. $AVAHI_INTERFACE The interface name where this DNS server was found on
  3. $AVAHI_INTERFACE_DNS_SERVERS A whitespace seperated list of DNS servers on $AVAHI_INTERFACE
  4. $AVAHI_DNS_SERVERS The complete list of all DNS servers found on all interfaces

if [ -x /sbin/netconfig ]; then

  1. SUSE method on 11.1+ if [ -n "$AVAHI_INTERFACE_DNS_SERVERS" ]; then /sbin/netconfig modify -s avahi -i "$AVAHI_INTERFACE" <<-EOF INTERFACE='$AVAHI_INTERFACE' DNSSERVERS='$AVAHI_INTERFACE_DNS_SERVERS' EOF else /sbin/netconfig remove -s avahi -i "$AVAHI_INTERFACE" fi

elif [ -x /sbin/modify_resolvconf ] ; then

  1. method for SUSE <= 11.0 if [ -n "$AVAHI_DNS_SERVERS" ]; then /sbin/modify_resolvconf modify -s avahi -t - -p avahi-dnsconfd -n "$AVAHI_DNS_SERVERS" <<-EOF if you don't like avahi to update your Nameservers disable the avahi-dnsconfd init script EOF else /sbin/modify_resolvconf restore -s avahi fi

elif [ -x /usr/sbin/resolvconf ] ; then

  1. We have Debian's resolvconf tool

    if [ "x$AVAHI_INTERFACE_DNS_SERVERS" = "x" ] ; then /usr/sbin/resolvconf -d "$AVAHI_INTERFACE.avahi" else for n in $AVAHI_INTERFACE_DNS_SERVERS ; do echo "nameserver $n" done | /usr/sbin/resolvconf -a "$AVAHI_INTERFACE.avahi" fi

else

  1. No resolvconf tool available

    if [ "x$AVAHI_DNS_SERVERS" = "x" ] ; then test -f /etc/resolv.conf.avahi && mv /etc/resolv.conf.avahi /etc/resolv.conf else test -f /etc/resolv.conf.avahi || mv /etc/resolv.conf /etc/resolv.conf.avahi

    for n in $AVAHI_DNS_SERVERS ; do echo "nameserver $n" done > /etc/resolv.conf fi

fi
</file>

<file - hosts>

  1. This file is part of avahi.
  2. avahi is free software; you can redistribute it and/or modify it
  3. under the terms of the GNU Lesser General Public License as
  4. published by the Free Software Foundation; either version 2 of the
  5. License, or (at your option) any later version. #
  6. avahi is distributed in the hope that it will be useful, but WITHOUT
  7. ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  8. or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
  9. License for more details. #
  10. You should have received a copy of the GNU Lesser General Public
  11. License along with avahi; if not, write to the Free Software
  12. Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
  13. USA.
  1. This file contains static ip address <-> host name mappings. These
  2. can be useful to publish services on behalf of a non-avahi enabled
  3. device. Please bear in mind that host names are expected to be
  4. fully qualified domain names, i.e. ending in .local!

See avahi.hosts(5) for more information on this configuration file!

  1. Examples:
  2. 192.168.0.1 router.local
  3. 2001::81:1 test.local

</file>

/etc/avahi/services

<file xml sftp-ssh.service>
<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">

<!--

This file is part of avahi.

avahi is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.

avahi is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with avahi; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA.

-->

<!-- See avahi.service(5) for more information about this configuration file -->

<service-group>

<name replace-wildcards="yes">%h</name>

<service>
  <type>_sftp-ssh._tcp</type>
  <port>22</port>
</service>

</service-group>
</file>

<file xml ssh.service>
<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">

<!--

This file is part of avahi.
 
avahi is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.

avahi is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with avahi; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA.

-->

<!-- See avahi.service(5) for more information about this configuration file -->

<service-group>

<name replace-wildcards="yes">%h</name>

<service>
  <type>_ssh._tcp</type>
  <port>22</port>
</service>

</service-group>
</file>

<file xml udisks.service>
<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">

<!-- This file is part of udisks -->

<service-group>

<name replace-wildcards="yes">%h</name>

<service>
  <type>_udisks-ssh._tcp</type>
  <port>22</port>
</service>

</service-group>
</file>

Last Author
jkramarz
Last Edited
Jan 11 2019, 12:00 PM