You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible/roles/networking/tasks/main.yml

60 lines
1.3 KiB
YAML

---
- name: Install wireguard
apt:
name:
- ifupdown2
state: latest
update_cache: true
register: apt_result
retries: 3
until: apt_result is succeeded
- name: Enable ipv4 forwarding
ansible.posix.sysctl:
name: net.ipv4.ip_forward
value: '1'
sysctl_set: true
when: ipv4_forwarding
- name: Enable ipv6 forwarding
ansible.posix.sysctl:
name: net.ipv6.conf.all.forwarding
value: '1'
sysctl_set: true
when: ipv6_forwarding
- name: Disable ipv4 forwarding
ansible.posix.sysctl:
name: net.ipv4.ip_forward
value: '0'
sysctl_set: true
when: not ipv4_forwarding
- name: Disable ipv6 forwarding
ansible.posix.sysctl:
name: net.ipv6.conf.all.forwarding
value: '0'
sysctl_set: true
when: not ipv6_forwarding
- name: Create interface config files
ansible.builtin.template:
src: "interfaces.j2"
dest: "/etc/network/interfaces"
owner: root
group: root
mode: '644'
notify: Reload network interfaces
- name: Create interface config files
ansible.builtin.template:
src: "interface.conf.j2"
dest: "/etc/network/interfaces.d/{{ item.key }}.conf"
owner: root
group: root
mode: '640'
notify: Reload network interfaces
when: (item.value.type == "wireguard") or ("raspbian_buster" not in group_names)
loop: "{{ lookup('dict', interfaces) }}"