brianhartsock.avahi
ansible.avahi
Ansible 角色用于安装和配置 Avahi。Avahi 使网络中的服务可被发现,特别是模拟 Apple Bonjour 的行为,让 Mac 能够发现 Linux 机器上的服务。
要求
该角色已经在 Ubuntu 20.04 上进行了测试,并且应该适用于大多数现代的 Debian 系统。
该角色需要 sudo
权限,因此应该通过 become: True
运行,或者使用具有足够默认权限的用户来安装和配置软件包。
角色变量
以下变量在 defaults/main.yml
中定义,用户可以用来进一步配置 Avahi 服务。avahi_services
是最重要的变量,它定义了通过 mDNS 广告的服务。
# 服务定义列表
avahi_services:
# 文件名,/etc/avahi/services/afpd.service
- name: afpd
# 服务列表
services:
# 服务类型、端口和 txt 记录
- type: _afpower._tcp
port: 548
- type: _device-info._tcp
port: 0
txt_records:
- model=Xserve
# 替换服务定义中的通配符 (如 %h -> 主机名)
avahi_replace_wildcards: yes
# 要广告的网络名称
avahi_network_name: '%h'
# 启用或禁用 IPv6
avahi_use_ipv6: 'no'
# 设置运行的接口
avahi_allow_interfaces: "{{ ansible_default_ipv4.interface }}"
# 启用或禁用反射模式
avahi_enable_reflector: 'yes'
# 支持不使用 dbus/systemd 的系统
avahi_enable_dbus: 'yes'
依赖
无
示例剧本
包含如何使用该角色的示例(例如,传递变量作为参数)对用户来说总是很有帮助的:
- hosts: servers
roles:
- name: brianhartsock.avahi
become: true
许可证
MIT
作者信息
由 Brian Hartsock 以爱心创建。