mirror of
https://github.com/freeipa/ansible-freeipa.git
synced 2026-05-14 05:22:05 +00:00
As ansible-freeipa roles do not support version 2.8 anymore, change the minimum supported version to 2.13, which is the currently minimum available and supported Ansible version. This patch fixes documentation on all plugin READMEs, spec file and module templates.
142 lines
3.4 KiB
Markdown
142 lines
3.4 KiB
Markdown
DNSConfig module
|
|
============
|
|
|
|
Description
|
|
-----------
|
|
|
|
The dnsconfig module allows to modify global DNS configuration.
|
|
|
|
|
|
Features
|
|
--------
|
|
* Global DNS configuration
|
|
|
|
|
|
Supported FreeIPA Versions
|
|
--------------------------
|
|
|
|
FreeIPA versions 4.4.0 and up are supported by the ipadnsconfig module.
|
|
|
|
|
|
Requirements
|
|
------------
|
|
|
|
**Controller**
|
|
* Ansible version: 2.13+
|
|
|
|
**Node**
|
|
* Supported FreeIPA version (see above)
|
|
|
|
|
|
Usage
|
|
=====
|
|
|
|
Example inventory file
|
|
|
|
```ini
|
|
[ipaserver]
|
|
ipaserver.test.local
|
|
```
|
|
|
|
Example playbook to set global DNS configuration:
|
|
|
|
```yaml
|
|
---
|
|
- name: Playbook to handle global DNS configuration
|
|
hosts: ipaserver
|
|
become: true
|
|
|
|
tasks:
|
|
# Set dnsconfig.
|
|
- ipadnsconfig:
|
|
forwarders:
|
|
- ip_address: 8.8.4.4
|
|
- ip_address: 2001:4860:4860::8888
|
|
port: 53
|
|
forward_policy: only
|
|
allow_sync_ptr: yes
|
|
```
|
|
|
|
Example playbook to ensure a global forwarder, with a custom port, is absent:
|
|
|
|
```yaml
|
|
---
|
|
- name: Playbook to handle global DNS configuration
|
|
hosts: ipaserver
|
|
become: true
|
|
|
|
tasks:
|
|
# Ensure global forwarder with a custom port is absent.
|
|
- ipadnsconfig:
|
|
forwarders:
|
|
- ip_address: 2001:4860:4860::8888
|
|
port: 53
|
|
action: member
|
|
state: absent
|
|
```
|
|
|
|
Example playbook to disable global forwarders:
|
|
|
|
```yaml
|
|
---
|
|
- name: Playbook to disable global DNS forwarders
|
|
hosts: ipaserver
|
|
become: true
|
|
|
|
tasks:
|
|
# Disable global forwarders.
|
|
- ipadnsconfig:
|
|
forward_policy: none
|
|
```
|
|
|
|
Example playbook to change global forward policy:
|
|
|
|
```yaml
|
|
---
|
|
- name: Playbook to change global forward policy
|
|
hosts: ipaserver
|
|
become: true
|
|
|
|
tasks:
|
|
# Disable global forwarders.
|
|
- ipadnsconfig:
|
|
forward_policy: first
|
|
```
|
|
|
|
Example playbook to disallow synchronization of forward (A, AAAA) and reverse (PTR) records:
|
|
|
|
```yaml
|
|
---
|
|
- name: Playbook to disallow reverse synchronization.
|
|
hosts: ipaserver
|
|
become: true
|
|
|
|
tasks:
|
|
# Disable global forwarders.
|
|
- ipadnsconfig:
|
|
allow_sync_ptr: no
|
|
```
|
|
|
|
Variables
|
|
=========
|
|
|
|
Variable | Description | Required
|
|
-------- | ----------- | --------
|
|
`ipaadmin_principal` | The admin principal is a string and defaults to `admin` | no
|
|
`ipaadmin_password` | The admin password is a string and is required if there is no admin ticket available on the node | no
|
|
`ipaapi_context` | The context in which the module will execute. Executing in a server context is preferred. If not provided context will be determined by the execution environment. Valid values are `server` and `client`. | no
|
|
`ipaapi_ldap_cache` | Use LDAP cache for IPA connection. The bool setting defaults to yes. (bool) | no
|
|
`forwarders` | The list of forwarders dicts. Each `forwarders` dict entry has:| no
|
|
| `ip_address` - The IPv4 or IPv6 address of the DNS server. | yes
|
|
| `port` - The custom port that should be used on this server. | no
|
|
`forward_policy` \| `forwardpolicy` | The global forwarding policy. It can be one of `only`, `first`, or `none`. | no
|
|
`allow_sync_ptr` | Allow synchronization of forward (A, AAAA) and reverse (PTR) records (bool). | yes
|
|
`action` | Work on dnsconfig or member level. It can be one of `member` or `dnsconfig` and defaults to `dnsconfig`. Only `forwarders` can be managed with `action: member`. | no
|
|
`state` | The state to ensure. It can be one of `present` or `absent`, default: `present`. `absent` can only be used with `action: member` and `forwarders`. | yes
|
|
|
|
|
|
Authors
|
|
=======
|
|
|
|
Rafael Guterres Jeffman
|