mabunixda.ansible_udmp
Ansible UDMP 角色
使用 ansible 和 udm-utilities 自定义你的 Ubiquiti UDM (Pro)。
由于 Ubiquiti UDM 和 Pro 没有有效的 python 安装,所有更改必须使用原始命令来完成。
示例剧本
使用这个剧本:
- 你的自定义 SSL 证书被加载到 UDM (Pro)
- unifios-utilities 被安装
- 从 Unifi 控制器加载 SSH 密钥到 UDM (Pro)
- Prometheus 的 node exporter 作为容器通过 podman 设置
---
- name: udmp 设置
hosts: unifi-udmp-gateway
gather_facts: false
roles:
- role: mabunixda.ansible_udmp
certificate: <证书路径.pem>
certificate_key: <证书密钥路径.pem>
UDM 内核工具
默认情况下, UDM 内核工具 不会被安装。当你启用变量 install_kernel_tools
时,工具和最新内核将会被安装。默认情况下,自动启动到自定义内核是启用的。可以通过 udm_kernel_tools_autoboot
关闭这个选项。
目前不支持安装旧版本内核。如果你已经安装了旧版本内核,可以通过手动设置 udm_kernel_tools_kernel_version
为可用版本来切换回这个内核。该角色在应用更改并启动到前一个内核之前会验证此版本是否存在。
在尝试之前,请了解更多关于内核切换的信息,参考 UDM 内核工具!
---
- name: udmp 设置
hosts: unifi-udmp-gateway
gather_facts: false
roles:
- role: mabunixda.ansible_udmp
install_kernel_tools: true
可配置的服务如下:
除了 nodeexporter,所有服务在部署后都需要配置任务。这些配置任务必须手动完成或通过其他角色/剧本来完成。
nodeexporter_enabled
通过 podman 启动一个 nodeexporter 实例,在网关上获取 prometheus 的度量指标。
frr_enabled
FRR 是一项服务,用于启用 BGP 路由(例如,当使用 Metallb 运行 kubernetes,或使用 calico 运行 nomad)。
rsyncd_enabled
此服务允许你通过 rsync (使用端口 2202)离线备份配置。
openvpn_enabled
Openvpn 服务,用于将 UDM(Pro) 连接到特定的 OpenVPN 隧道。
zerotier_enabled
在 UDM(Pro) 上启动一个 zerotier 容器,并连接到特定的 zerotier 网络。
force_external_dns
启用 iptables 规则,将 DNS 查询重定向到特定的外部 DNS 服务器。可以通过 udmp_external_dns_server_ipv4 和/或 udmp_external_dns_server_ipv6 来定义这个服务器。然而为了启用这个设置,还必须指定在哪些设备上建立这个设置。这与 UDM(P) 上的桥接名称相关。默认是 br0,命名约定是 br
---
- name: udmp 设置
hosts: unifi-udmp-gateway
gather_facts: false
roles:
- role: mabunixda.ansible_udmp
force_external_dns: yes
udmp_external_dns_server_ipv4: "192.168.99.100" # 例如 pihole
udmp_external_dns_devices:
- br10 # vlan 10
- br20 # vlan 20