vn-ansible/roles/dhcp/tasks/dhcp.yml

56 lines
1.4 KiB
YAML

- name: Install DHCP packages
apt:
name: isc-dhcp-server
state: present
install_recommends: no
- name: Set DHCP configurations from templates
template:
src: "{{ item }}"
dest: "/etc/dhcp/{{ item }}"
owner: root
group: root
mode: "u=rw,g=r,o=r"
loop:
- dhcpd.conf
- partner.conf
notify: restart-dhcp
- name: Set rndc.key from template
template:
src: rndc.key
dest: /etc/dhcp/rndc.key
owner: root
group: root
mode: u=rw,g=r,o=
notify: restart-dhcp
- name: Ensure that the directories exist
file:
path: "/etc/dhcp/subnets"
state: directory
owner: root
group: root
mode: "0755"
- name: Map subnets
copy:
content: "{{ item.value }}"
dest: "/etc/dhcp/subnets/{{ item.key }}"
owner: root
group: root
mode: "0644"
loop: "{{ subnets_files | dict2items }}"
- name: Get default IPv4 interface
command: ip -o -4 route show default
register: default_route
- name: Extract interface default name
set_fact:
active_interface: "{{ default_route.stdout.split()[-1] }}"
- name: Disable IPv6
replace:
path: /etc/default/isc-dhcp-server
regexp: '^INTERFACESv6="(.*)"'
replace: '#INTERFACESv6="\1"'
- name: Set interface IPv4
lineinfile:
path: /etc/default/isc-dhcp-server
regexp: '^INTERFACESv4='
line: 'INTERFACESv4="{{ active_interface }}"'
state: present