trozz.ansible_nebula

ansible-nebula

Este rol instala y de despliega una configuración para Nebula

Requisitos

Actualmente necesitas generar y desplegar certificados antes de ejecutar esto (ver ejemplo)

Versión de Nebula Soportada

Actualmente este rol está probado con la versión 1.5.0

Variables del Rol

Nombre de Variable Tipo Propósito Por Defecto Requerido
nebula_version Cadena Versión para descargar 1.5.0
nebula_force_install Booleano Forzar la sobreescritura del binario de nebula existente false No
ca Cadena Ruta al archivo CA NA
cert Cadena Ruta al Certificado NA
key Cadena Ruta a la Clave del Certificado NA
blocklist Lista Lista de hashes de certificados bloqueados NA No
lighthouses Cadena Hosts estáticos para descubrimiento "{{ groups['nebula_lighthouses'] }}" No
lighthouses_override Lista Lista de hosts estáticos para descubrimiento NA No
lighthouse.am_lighthouse Booleano ¿Es esta instancia un Lighthouse? false
lighthouse.serve_dns Booleano ¿Debería esta instancia servir DNS? false
lighthouse.interval Entero Intervalo de reporte a los lighthouses 60 No
listen.host Cadena IP para escuchar 0.0.0.0
listen.port Entero Puerto para escuchar 4242
listen.batch Entero Establece el número máximo de paquetes a recuperar del núcleo para cada llamada al sistema 64
listen.read_buffer Entero Configurar buffers de socket para el lado udp NA No
listen.write_buffer Entero Configurar buffers de socket para el lado udp NA No
punchy Booleano Punchy continúa contactando inbound/outbound a intervalos regulares para evitar la expiración de las asignaciones NAT del firewall true
punch_back Booleano punch_back significa que un nodo al que intentas alcanzar se conectará de nuevo a ti si tu perforación falla true
cipher Cadena El cifrado te permite elegir entre los cifrados disponibles para tu red. NA No
local_range Cadena El rango local se usa para definir una pista sobre el rango de red local NA No
sshd.enabled Booleano sshd puede exponer funciones informativas y administrativas a través de ssh NA No
sshd.listen Cadena IP / Puerto para funciones de administración SSH NA No
relay.relays Lista IP de hosts para usar como relay NA No
relay.am_relay Cadena Indicar si el host debe actuar como un relay false No
relay.use_relays Cadena Indicar si el host debe intentar conectarse a través de relays true No
metrics.prometheus Booleano Habilita el servidor prometheus NA No
outbound Lista Reglas de salida para el firewall integrado Ver Abajo
inbound Lista Reglas de entrada para el firewall integrado Ver Abajo

Ejemplo de reglas de firewall

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

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

Dependencias

Ninguna

Ejemplo de Playbook

---
- 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: Crear directorio Nebula
      file:
        path: /etc/nebula
        state: directory
        mode: '0750'
    - name: Desplegar certificados 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

Opcionalmente puedes declarar un lighthouse con un puerto externo no predeterminado

---
- 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

Licencia

MIT

Información del Autor

Este rol se proporciona tal cual, Nebula es mantenido por Slack y la comunidad.

Acerca del proyecto

Nebula deployment

Instalar
ansible-galaxy install trozz.ansible_nebula
Licencia
unlicense
Descargas
428
Propietario