Getting started
Initial configuration
The default radvd installation does not set up any configuration file, and the service does not start correctly without proper configuration in place.
The debops.radvd
role will try and autogenerate a radvd
configuration based on the host environment. Any bridge interfaces with global
IPv6 addresses will be enabled by default and included in the configuration. If
you don't have any valid bridges with IPv6 addresses, the role execution will
fail because the role will try and restart radvd service on
configuration changes.
To avoid the issues with initial configuration, you should ensure that hosts on which you install radvd have proper network configuration. You can use the debops.ifupdown role to create a virtual network bridge or, alternatively, create radvd configuration for any existing interfaces. For example, to offer Router Advertisements on a private, internal network, you can add this configuration to your Ansible inventory:
radvd__interfaces:
- name: 'eth1'
options:
- 'AdvSendAdvert': True
- 'IgnoreIfMissing': True
prefixes:
- name: '::/64'
options:
- 'AdvOnLink': True
- 'AdvAutonomous': True
See radvd__interfaces for information about interface configuration.
Example inventory
To enable radvd configuration on a host, it needs to be added to the
[debops_service_radvd]
Ansible inventory group:
[debops_service_radvd]
hostname
Example playbook
If you are using this role without DebOps, here's an example Ansible playbook
that uses debops.radvd
role:
---
- name: Configure Router Advertisement Daemon
collections: [ 'debops.debops', 'debops.roles01',
'debops.roles02', 'debops.roles03' ]
hosts: [ 'debops_service_radvd' ]
become: True
environment: '{{ inventory__environment | d({})
| combine(inventory__group_environment | d({}))
| combine(inventory__host_environment | d({})) }}'
roles:
- role: radvd
tags: [ 'role::radvd', 'skip::radvd' ]