forked from tim/k3s-ansible
88159b3875
- On RHEL 10 / Rocky Linux 10 the default cloud image does not ship the kernel-modules-extra that contains br_netfilter, so modprobe br_netfilter fails during prereq on RedHat family - Detect whether the module exists and install kernel-modules-extra when absent - No reboot is required: the module is installed for the currently running kernel and becomes available to modprobe immediately
91 lines
2.3 KiB
YAML
91 lines
2.3 KiB
YAML
---
|
|
- name: Set same timezone on every Server
|
|
community.general.timezone:
|
|
name: "{{ system_timezone }}"
|
|
when: (system_timezone is defined) and (system_timezone != "Your/Timezone")
|
|
|
|
- name: Set SELinux to disabled state
|
|
ansible.posix.selinux:
|
|
state: disabled
|
|
when: ansible_os_family == "RedHat"
|
|
|
|
- name: Enable IPv4 forwarding
|
|
ansible.posix.sysctl:
|
|
name: net.ipv4.ip_forward
|
|
value: "1"
|
|
state: present
|
|
reload: true
|
|
tags: sysctl
|
|
|
|
- name: Enable IPv6 forwarding
|
|
ansible.posix.sysctl:
|
|
name: net.ipv6.conf.all.forwarding
|
|
value: "1"
|
|
state: present
|
|
reload: true
|
|
tags: sysctl
|
|
|
|
- name: Enable IPv6 router advertisements
|
|
ansible.posix.sysctl:
|
|
name: net.ipv6.conf.all.accept_ra
|
|
value: "2"
|
|
state: present
|
|
reload: true
|
|
tags: sysctl
|
|
|
|
- name: Check if br_netfilter module exists
|
|
ansible.builtin.shell: |
|
|
set -o pipefail
|
|
find /lib/modules/$(uname -r) -name "br_netfilter.ko*" | wc -l
|
|
args:
|
|
executable: /bin/bash
|
|
register: br_netfilter_exists
|
|
changed_when: false
|
|
when: ansible_os_family == "RedHat"
|
|
tags: sysctl
|
|
|
|
- name: Install kernel-modules-extra if br_netfilter missing
|
|
ansible.builtin.yum:
|
|
name: kernel-modules-extra
|
|
state: present
|
|
update_cache: true
|
|
register: kernel_modules_installed
|
|
when:
|
|
- ansible_os_family == "RedHat"
|
|
- br_netfilter_exists.stdout | int == 0
|
|
|
|
- name: Add br_netfilter to /etc/modules-load.d/
|
|
ansible.builtin.copy:
|
|
content: br_netfilter
|
|
dest: /etc/modules-load.d/br_netfilter.conf
|
|
mode: u=rw,g=,o=
|
|
when: ansible_os_family == "RedHat"
|
|
|
|
- name: Load br_netfilter
|
|
community.general.modprobe:
|
|
name: br_netfilter
|
|
state: present
|
|
when: ansible_os_family == "RedHat"
|
|
|
|
- name: Set bridge-nf-call-iptables (just to be sure)
|
|
ansible.posix.sysctl:
|
|
name: "{{ item }}"
|
|
value: "1"
|
|
state: present
|
|
reload: true
|
|
when: ansible_os_family == "RedHat"
|
|
loop:
|
|
- net.bridge.bridge-nf-call-iptables
|
|
- net.bridge.bridge-nf-call-ip6tables
|
|
tags: sysctl
|
|
|
|
- name: Add /usr/local/bin to sudo secure_path
|
|
ansible.builtin.lineinfile:
|
|
line: Defaults secure_path = {{ secure_path[ansible_os_family] }}
|
|
regexp: Defaults(\s)*secure_path(\s)*=
|
|
state: present
|
|
insertafter: EOF
|
|
path: /etc/sudoers
|
|
validate: visudo -cf %s
|
|
when: ansible_os_family in [ "RedHat", "Suse" ]
|