trozz.ansible_nebula

ansible-nebula

该角色安装并部署Nebula的配置

要求

在运行此脚本之前,您需要生成和部署证书(请参见示例)。

支持的Nebula版本

目前此角色经过测试的版本为1.5.0

角色变量

变量名称 类型 目的 默认值 是否必需
nebula_version 字符串 下载的版本 1.5.0
nebula_force_install 布尔值 强制覆盖现有的nebula二进制文件 false
ca 字符串 CA文件的路径 NA
cert 字符串 证书的路径 NA
key 字符串 证书密钥的路径 NA
blocklist 列表 被列入黑名单的证书哈希列表 NA
lighthouses 字符串 发现的静态主机 "{{ groups['nebula_lighthouses'] }}"
lighthouses_override 列表 发现的静态主机列表 NA
lighthouse.am_lighthouse 布尔值 此实例是否为Lighthouse false
lighthouse.serve_dns 布尔值 此实例是否提供DNS服务 false
lighthouse.interval 整数 向lighthouse报告的间隔时间 60
listen.host 字符串 监听的IP 0.0.0.0
listen.port 整数 监听的端口 4242
listen.batch 整数 每个系统调用从内核拉取的最大数据包数 64
listen.read_buffer 整数 配置udp端的套接字缓冲区 NA
listen.write_buffer 整数 配置udp端的套接字缓冲区 NA
punchy 布尔值 Punchy会定期进行入站/出站的穿孔,以避免防火墙nat映射过期 true
punch_back 布尔值 punch_back意味着如果穿孔失败,您尝试访问的节点将连接回您 true
cipher 字符串 密码允许您在可用密码之间进行选择 NA
local_range 字符串 本地范围用于定义关于本地网络范围的提示 NA
sshd.enabled 布尔值 sshd可以通过ssh暴露信息和管理功能 NA
sshd.listen 字符串 管理SSH功能的IP/端口 NA
relay.relays 列表 用作中继的主机IP NA
relay.am_relay 字符串 指示主机是否应作为中继 false
relay.use_relays 字符串 指示主机是否应尝试通过中继连接 true
metrics.prometheus 布尔值 启用prometheus服务器 NA
outbound 列表 内置防火墙的出站规则 见下文
inbound 列表 内置防火墙的入站规则 见下文

防火墙规则示例

outbound:
  - port: any
    proto: any
    host: any

inbound:
  - port: any
    proto: icmp
    host: any

依赖

示例剧本

---
- hosts: all
  remote_user: root
  vars:
    lighthouses:
      - nebula_ip: 10.255.0.1
        external_addr: 123.231.1.2
    lighthouse:
      nodes:
        - 10.255.0.1
  pre_tasks:
    - name: 创建Nebula目录
      file:
        path: /etc/nebula
        state: directory
        mode: '0750'
    - name: 部署Nebula证书
      copy:
        src: files/{{item}}
        dest: /etc/nebula/{{item}}
        owner: root
        group: root
        mode: '0600'
      with_items:
        - ca.crt
        - host.crt
        - host.key
  roles:
    - ansible-nebula
---
- hosts: all
  remote_user: root
  vars:
    lighthouses:
      - nebula_ip: 10.255.0.1
        external_addr: 123.231.1.2
  roles:
    - ansible-nebula

您也可以选择声明一个具有非默认外部端口的lighthouse

---
- hosts: all
  remote_user: root
  vars:
    lighthouse:
      am_lighthouse: yes
  lighthouses:
    - nebula_ip: 10.255.0.1
      external_addr: 123.231.1.2
      external_port: 4242
  roles:
    - ansible-nebula

许可证

MIT

作者信息

该角色按原样提供,Nebula由Slack和社区维护。

关于项目

Nebula deployment

安装
ansible-galaxy install trozz.ansible_nebula
许可证
unlicense
下载
428
拥有者