Yes, that's the one.
However there are a couple of considerations:
- that implementation I think is used only to announce the presence of the router on the local network (probably linked to autodiscover features on the control Apps)
- I'm not sure whether if the configuration of that service is accessible, nor if it's safe to change it (without breaking integration with Apps)
- last but not least (assuming that is safely user configurable), you can use it only on the local network to announce locally the existence of a remote server (so that local device can easily connect to it), you cannot use it to announce local services to a remote client. If you want to announce a local server to clients on a remote network the avahi-server needs to be in the remote network. Remember that the announcement will not cross the border of the subnet in which it has been generated.
Anyway, for example, in order to announce a MacOS share (AFP) via
avahi-server, you can just add a simple XML file to the configuration.
Typically the avahi configuration on a linux server is located in the directory "/etc/avahi/" (which is not present in a stock AsusMerlin - at least not in mine - from here my doubts listed above - if you have a Raspberry Pi serving the network, that would probably be the best device to host the
avahi-server).
From here you can add each server by adding a file (one for each server) with a name ending in ".service" (e.g.
my-server_afp.service) with a content similar to:
XML:
<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name replace-wildcards="yes">My Apple Share</name>
<service>
<type>_afpovertcp._tcp</type>
<host-name>192.168.0.100</host-name>
<port>548</port>
</service>
<service>
<type>_device-info._tcp</type>
<port>0</port>
<txt-record>model=Xserve</txt-record>
</service>
</service-group>
Obviously you need to change the service-group "name" and the service "host-name", while the "txt-record" indicates what icon will be used in finder.
If you want to publish a samba share you can use something like:
XML:
<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name>My Samba Share</name>
<service>
<type>_smb._tcp</type>
<host-name>192.168.0.100</host-name>
<port>445</port>
</service>
<service>
<type>_device-info._tcp</type>
<port>0</port>
<txt-record>model=RackMac</txt-record>
</service>
</service-group>
Actually you can do many more things with Avahi (such as various dynamic integrations with other tools), but this should be what you need to see the shares.
Of course this is has nothing to do with authentication, which will be carried on by the server hosting the share itself.
One small but important note: while it's probably possible to trick Avahi to announce local servers on remote networks such as OpenVPN clients I absolutely would not recommend it, since in the unlucky event that the VPN access will be compromised, an attacker would instantly gain significant information regarding the topology and the services of your home network (aka: what to hack from here). Besides polluting other networks - including internet - with local server announcements, security is a strong point to enforce the
do not forward across subnets broadcast packets rule.
Before you ask: yes an attacker able gained access to a VPN may have many other means to discover what is in the local network, but we giving him for free a way to gather knowledge without leaving traces...
Here is the reason why the avahi should be on the remote network: it will announce only stuff known to the remote network (and hopefully local services not strictly needed on the remote network are blocked by a firewall
).