diff options
| author | Ahmed Abdelhalim <[email protected]> | 2026-07-10 19:58:15 +0200 |
|---|---|---|
| committer | Ahmed Abdelhalim <[email protected]> | 2026-07-12 22:05:17 +0200 |
| commit | 066c71e7863dbcf14322c36cbea649778601f7de (patch) | |
| tree | 81111c57d6ca3647f31a974541cb7c67d481bba6 | |
| parent | afc6aab3497d086ee8c7f00db0336a17212c56c9 (diff) | |
Configure preference of ip family (ipv4 > ipv6)
| -rw-r--r-- | host_vars/desktop.local.yml | bin | 892 -> 918 bytes | |||
| -rw-r--r-- | host_vars/desktop.local.yml.example | 1 | ||||
| -rw-r--r-- | host_vars/laptop.local.yml | bin | 937 -> 963 bytes | |||
| -rw-r--r-- | host_vars/laptop.local.yml.example | 1 | ||||
| -rw-r--r-- | host_vars/macbook.local.yml | bin | 1258 -> 1284 bytes | |||
| -rw-r--r-- | host_vars/macbook.local.yml.example | 1 | ||||
| -rw-r--r-- | host_vars/pve.local.yml | bin | 466 -> 492 bytes | |||
| -rw-r--r-- | host_vars/pve.local.yml.example | 1 | ||||
| -rw-r--r-- | host_vars/rpi5.local.yml | bin | 3602 -> 3629 bytes | |||
| -rw-r--r-- | host_vars/rpi5.local.yml.example | 1 | ||||
| -rw-r--r-- | roles/network/defaults/main.yml | 1 | ||||
| -rw-r--r-- | roles/network/tasks/main.yml | 9 | ||||
| -rw-r--r-- | roles/network/templates/gai.conf.j2 | 10 |
13 files changed, 25 insertions, 0 deletions
diff --git a/host_vars/desktop.local.yml b/host_vars/desktop.local.yml Binary files differindex 53939d8a..d0f802ae 100644 --- a/host_vars/desktop.local.yml +++ b/host_vars/desktop.local.yml diff --git a/host_vars/desktop.local.yml.example b/host_vars/desktop.local.yml.example index d24dcff2..c8dd0be1 100644 --- a/host_vars/desktop.local.yml.example +++ b/host_vars/desktop.local.yml.example @@ -3,6 +3,7 @@ network_ipv4_address: "10.0.0.201" network_ipv4_gateway: "10.0.0.254" network_ipv4_dns: "10.0.0.254" +network_prefer_ipv4: true # Discover network_ipv6_gateway with: ip -6 route show default | grep ra (run on any device before disabling router RA) # network_ipv6_gateway: "fe80::0000:1111:2222:3333" diff --git a/host_vars/laptop.local.yml b/host_vars/laptop.local.yml Binary files differindex 21e21e28..9c4c8798 100644 --- a/host_vars/laptop.local.yml +++ b/host_vars/laptop.local.yml diff --git a/host_vars/laptop.local.yml.example b/host_vars/laptop.local.yml.example index ba9536da..726fc4b1 100644 --- a/host_vars/laptop.local.yml.example +++ b/host_vars/laptop.local.yml.example @@ -3,6 +3,7 @@ network_ipv4_address: "10.0.0.202" network_ipv4_gateway: "10.0.0.1" network_ipv4_dns: "10.0.0.1" +network_prefer_ipv4: true # Discover network_ipv6_gateway with: ip -6 route show default | grep ra (run on any device before disabling router RA) # network_ipv6_gateway: "fe80::0000:1111:2222:3333" diff --git a/host_vars/macbook.local.yml b/host_vars/macbook.local.yml Binary files differindex b9a4e517..5ad4be8b 100644 --- a/host_vars/macbook.local.yml +++ b/host_vars/macbook.local.yml diff --git a/host_vars/macbook.local.yml.example b/host_vars/macbook.local.yml.example index c20ce1da..a4f87605 100644 --- a/host_vars/macbook.local.yml.example +++ b/host_vars/macbook.local.yml.example @@ -3,6 +3,7 @@ network_ipv4_address: "10.0.0.203" network_ipv4_gateway: "10.0.0.254" network_ipv4_dns: "10.0.0.254" +network_prefer_ipv4: true # Discover network_ipv6_gateway with: ip -6 route show default | grep ra (run on any device before disabling router RA) # network_ipv6_gateway: "fe80::0000:1111:2222:3333" diff --git a/host_vars/pve.local.yml b/host_vars/pve.local.yml Binary files differindex 8f2a6a54..90730264 100644 --- a/host_vars/pve.local.yml +++ b/host_vars/pve.local.yml diff --git a/host_vars/pve.local.yml.example b/host_vars/pve.local.yml.example index 60b6060c..07a002a3 100644 --- a/host_vars/pve.local.yml.example +++ b/host_vars/pve.local.yml.example @@ -5,6 +5,7 @@ network_wifi_pass: "" network_ipv4_address: "10.0.0.253" network_ipv4_gateway: "10.0.0.254" network_ipv4_dns: "10.0.0.254" +network_prefer_ipv4: true network_bridge_interface: "eth0" # Discover network_ipv6_gateway with: ip -6 route show default | grep ra (run on any device before disabling router RA) # network_ipv6_gateway: "fe80::0000:1111:2222:3333" diff --git a/host_vars/rpi5.local.yml b/host_vars/rpi5.local.yml Binary files differindex 27388c7d..83025ca6 100644 --- a/host_vars/rpi5.local.yml +++ b/host_vars/rpi5.local.yml diff --git a/host_vars/rpi5.local.yml.example b/host_vars/rpi5.local.yml.example index 281bc3a3..d528e4a5 100644 --- a/host_vars/rpi5.local.yml.example +++ b/host_vars/rpi5.local.yml.example @@ -2,6 +2,7 @@ network_interface: "eth0" network_ipv4_address: "10.0.0.254" network_ipv4_gateway: "10.0.0.1" +network_prefer_ipv4: false # Discover network_ipv6_gateway with: ip -6 route show default | grep ra (run on any device before disabling router RA) # network_ipv6_gateway: "fe80::0000:1111:2222:3333" 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 %} |
