From 066c71e7863dbcf14322c36cbea649778601f7de Mon Sep 17 00:00:00 2001 From: Ahmed Abdelhalim Date: Fri, 10 Jul 2026 19:58:15 +0200 Subject: Configure preference of ip family (ipv4 > ipv6) --- roles/network/defaults/main.yml | 1 + roles/network/tasks/main.yml | 9 +++++++++ roles/network/templates/gai.conf.j2 | 10 ++++++++++ 3 files changed, 20 insertions(+) create mode 100644 roles/network/templates/gai.conf.j2 (limited to 'roles') diff --git a/roles/network/defaults/main.yml b/roles/network/defaults/main.yml index 5e1076a7..9497f83f 100644 --- a/roles/network/defaults/main.yml +++ b/roles/network/defaults/main.yml @@ -1,3 +1,4 @@ --- network_wifi_ssid: "" network_wifi_pass: "" +network_prefer_ipv4: false diff --git a/roles/network/tasks/main.yml b/roles/network/tasks/main.yml index 3bd85040..f8873379 100644 --- a/roles/network/tasks/main.yml +++ b/roles/network/tasks/main.yml @@ -59,6 +59,15 @@ changed_when: false when: network_wifi_ssid != "" +- name: "Configure address family preference" + become: true + ansible.builtin.template: + src: "gai.conf.j2" + dest: "/etc/gai.conf" + owner: "root" + group: "root" + mode: "0644" + - name: "Configure NetworkManager" become: true notify: diff --git a/roles/network/templates/gai.conf.j2 b/roles/network/templates/gai.conf.j2 new file mode 100644 index 00000000..21c17332 --- /dev/null +++ b/roles/network/templates/gai.conf.j2 @@ -0,0 +1,10 @@ +# Managed by Ansible — controls getaddrinfo address family preference +{% if network_prefer_ipv4 %} +precedence ::ffff:0:0/96 100 +{% else %} +precedence ::1/128 50 +precedence ::/0 40 +precedence 2002::/16 30 +precedence ::/96 20 +precedence ::ffff:0:0/96 10 +{% endif %} -- cgit v1.2.3