znerol.ipaddr_hash
Ansible-Rolle: ipaddr_hash
Bietet ein Jinja2-Filter-Plugin, um eine IP-Adresse basierend auf einem Präfix und einem Seed, z. B. dem inventory_hostname
, zu berechnen.
Dieses Plugin ist nützlich für Personen, die ein vorhersehbares Adressierungsschema für statisch zugewiesene IPv6-Adressen basierend auf Hostnamen suchen.
Der verwendete Algorithmus zur Ableitung einer IP ist einfach:
ip = präfix + (sha256(seed) & hostmask)
Anforderungen
Keine
Rollenvariablen
Keine
Abhängigkeiten
- Python-Modul netaddr auf dem Controller.
Beispiel-Playbook
Verwendung des ipaddr_hash
Filters:
- hosts: localhost
tasks:
- import_role:
name: znerol.ipaddr_hash
- debug:
msg: "Generierte IPv6-Adresse für example.com mit dem Präfix '2001:db8::/64' ist {{ '2001:db8::/64' | ipaddr_hash('example.com') }}"
Dies sollte die Adresse generieren: 2001:db8::13d2:1255:86ce:1947
.
Siehe test/test.yml für Beispiel-Eingabe/Ausgabe.
Lizenz
GPLv3