jool

Jool Ansible Role

Ansible role to install Jool, an open source IPv4/IPv6 translator.

Tests Ansible Galaxy

Example Playbook

- hosts: aftrs
  roles:
    - srv6d.jool
  vars:
    jool_instances:
      - instance: nat64-minimal
        type: nat64
        framework: netfilter
        global:
          pool6: 64:ff9b::/96

Role Variables

Variable Required Default Input Comments
jool_instances yes null list[dict] A list of dictionaries containing Jool instance configuration in YAML format, with an additionally required type key that can be set to "nat64" or "siit".

Usage

For each Jool instance, a Systemd service will be created that can be managed with the service name "jool.<instance-name>.service". To manage all Jool instances at once, the master service "jool.service" can be used.

Requirements

  • Rsync

Supported distributions

The role is tested on the following, but may also work with other debian based distributions:

  • Ubuntu
    • 20.04 LTS (Focal Fossa)
    • 22.04 LTS (Jammy Jellyfish)

Known Issues

  • The pool6 argument of an existing NAT64 instance cannot be changed while it is active and doing so will result in an error.

License

GNU General Public License v3.0

Author Information

Marvin Vogt (m@rvinvogt.com)

About

Jool, an open source SIIT and a NAT64 implementation for Linux.

Install
ansible-galaxy install SRv6d/ansible_role_jool
GitHub repository
License
gpl-3.0
Downloads
66
Owner
Infrastructure Software Engineer. Passionate about reliable, automated and efficient systems/software. Python & Rust