trozz.ansible_nebula

ansible-nebula

Diese Rolle installiert und implementiert eine Konfiguration für Nebula.

Anforderungen

Momentan müssen Sie Zertifikate erstellen und bereitstellen, bevor Sie dies ausführen (siehe Beispiel).

Unterstützte Nebula-Version

Derzeit wird diese Rolle gegen die Version 1.5.0 getestet.

Rollenvariablen

Variablenname Typ Zweck Standard Erforderlich
nebula_version Zeichenfolge Zu ladende Version 1.5.0 Ja
nebula_force_install Boolesch Zwingt die Überschreibung der vorhandenen Nebula-Binärdatei false Nein
ca Zeichenfolge Pfad zur CA-Datei NA Ja
cert Zeichenfolge Pfad zum Zertifikat NA Ja
key Zeichenfolge Pfad zum Zertifikatsschlüssel NA Ja
blocklist Liste Liste der blockierten Zertifikathashes NA Nein
lighthouses Zeichenfolge Statische Hosts für die Entdeckung "{{ groups['nebula_lighthouses'] }}" Nein
lighthouses_override Liste Liste von statischen Hosts für die Entdeckung NA Nein
lighthouse.am_lighthouse Boolesch Ist diese Instanz ein Lighthouse false Ja
lighthouse.serve_dns Boolesch Soll diese Instanz DNS bereitstellen false Ja
lighthouse.interval Ganzzahl Berichtsintervall an die Lighthouses 60 Nein
listen.host Zeichenfolge IP, auf der gehört werden soll 0.0.0.0 Ja
listen.port Ganzzahl Port, auf dem gehört werden soll 4242 Ja
listen.batch Ganzzahl Legt die maximale Anzahl von Paketen fest, die aus dem Kernel für jeden Systemaufruf abgerufen werden sollen 64 Ja
listen.read_buffer Ganzzahl Konfiguriert die Socket-Puffer für die UDP-Seite NA Nein
listen.write_buffer Ganzzahl Konfiguriert die Socket-Puffer für die UDP-Seite NA Nein
punchy Boolesch Punchy sendet regelmäßig Daten, um das Ablaufen von NAT-Zuordnungen in der Firewall zu vermeiden true Ja
punch_back Boolesch punch_back bedeutet, dass ein Knoten, den Sie erreichen möchten, sich zurück verbindet, wenn Ihr Hole Punching fehlschlägt true Ja
cipher Zeichenfolge Mit Cipher können Sie zwischen den verfügbaren Verschlüsselungen für Ihr Netzwerk wählen. NA Nein
local_range Zeichenfolge Der lokale Bereich wird verwendet, um einen Hinweis auf den lokalen Netzwerkbereich zu definieren NA Nein
sshd.enabled Boolesch sshd kann Informationen und administrative Funktionen über SSH bereitstellen NA Nein
sshd.listen Zeichenfolge IP / Port für administrative SSH-Funktionen NA Nein
relay.relays Liste IP von Hosts, die als Relay verwendet werden sollen NA Nein
relay.am_relay Zeichenfolge Gibt an, ob der Host als Relay fungieren soll false Nein
relay.use_relays Zeichenfolge Gibt an, ob der Host versuchen soll, sich über Relays zu verbinden true Nein
metrics.prometheus Boolesch Aktiviert den Prometheus-Server NA Nein
outbound Liste Ausgehende Regeln für die integrierte Firewall Siehe unten Ja
inbound Liste Eingehende Regeln für die integrierte Firewall Siehe unten Ja

Beispiel für Firewall-Regeln

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

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

Abhängigkeiten

Keine

Beispiel-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: Nebula-Verzeichnis erstellen
      file:
        path: /etc/nebula
        state: directory
        mode: '0750'
    - name: Nebula-Zertifikate bereitstellen
      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

Optional können Sie ein Lighthouse mit einem nicht standardmäßigen externen Port deklarieren

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

Lizenz

MIT

Autoreninformationen

Diese Rolle wird wie sie ist bereitgestellt, Nebula wird von Slack und der Community gewartet.

Über das Projekt

Nebula deployment

Installieren
ansible-galaxy install trozz.ansible_nebula
Lizenz
unlicense
Downloads
428
Besitzer