gaming: actually disable IPv6 on NetworkManager connections

networking.enableIPv6 = false only sets the system sysctl; NetworkManager
keeps re-enabling disable_ipv6=0 per-interface because connection
defaults to ipv6.method = auto. The "?" icon comes back because NM's
v6 connectivity probe races over a SLAAC ULA with no real upstream.

Forces ipv6.method = disabled in NetworkManager's connection defaults
and stops the kernel from accepting router advertisements, so v6 never
gets brought up on any new or existing connection.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
ediblerope 2026-05-02 23:06:33 +01:00
parent 2e527f0eb0
commit 1aa6f26cab

View file

@ -44,6 +44,18 @@
# LAN has no IPv6 route — AAAA lookups succeed but connect fails, which # LAN has no IPv6 route — AAAA lookups succeed but connect fails, which
# made NetworkManager's connectivity probe report "limited" at boot # made NetworkManager's connectivity probe report "limited" at boot
# (GNOME's "?" icon) until the next 5-min repoll. # (GNOME's "?" icon) until the next 5-min repoll.
#
# `enableIPv6 = false` only sets the system-wide sysctl; NetworkManager
# still flips disable_ipv6=0 on the live interface because each connection
# defaults to `ipv6.method = auto`. The probe then races over a SLAAC ULA
# that has no real upstream and we get the "?" again. Force every NM
# connection to skip v6 altogether and ignore router advertisements at
# the kernel layer for any future interface.
networking.enableIPv6 = false; networking.enableIPv6 = false;
networking.networkmanager.connectionConfig."ipv6.method" = "disabled";
boot.kernel.sysctl = {
"net.ipv6.conf.all.accept_ra" = 0;
"net.ipv6.conf.default.accept_ra" = 0;
};
}; };
} }