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 Булево Является ли этот экземпляр Лighthоuse false Да
lighthouse.serve_dns Булево Должен ли этот экземпляр предоставлять DNS false Да
lighthouse.interval Целое число Интервал отчетности для лighthouses 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 продолжает периодически проводить отверстия для входящих/исходящих соединений, чтобы избежать истечения сроков нативных сопоставлений брандмауэра true Да
punch_back Булево punch_back означает, что узел, к которому вы пытаетесь подключиться, вернется к вам, если ваше пробивание не удалось true Да
cipher Строка Cipher позволяет выбрать доступные шифры для вашей сети. NA Нет
local_range Строка Локальный диапазон используется для определения подсказки о локальном диапазоне сети NA Нет
sshd.enabled Булево sshd может открывать информационные и административные функции через ssh NA Нет
sshd.listen Строка IP / Порт для административных функций SSH 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

По желанию вы можете объявить лighthоuse с ненастроенным внешним портом

---
- 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
Загрузки
409
Владелец