diff --git a/spoke/setup-network.sh b/spoke/setup-network.sh index d98a5b3..dcb6c63 100755 --- a/spoke/setup-network.sh +++ b/spoke/setup-network.sh @@ -32,6 +32,8 @@ header "TinyBoard Network Setup" echo "" echo " 0) Change hostname" echo " 1) Configure static IP" +echo " 2) Prefer IPv4 over IPv6" +echo " 3) Prefer IPv6 over IPv4" echo " q) Quit" echo "" read -rp "Choose: " NET_OPT @@ -53,6 +55,22 @@ case "$NET_OPT" in ;; 1) ;; +2) + header "Prefer IPv4 over IPv6" + if grep -q "precedence ::ffff:0:0/96" /etc/gai.conf 2>/dev/null; then + warn "IPv4 preference already set." + else + echo "precedence ::ffff:0:0/96 100" >> /etc/gai.conf + info "IPv4 preference set. Outgoing connections will prefer IPv4." + fi + exit 0 + ;; +3) + header "Prefer IPv6 over IPv4" + sed -i '/precedence ::ffff:0:0\/96/d' /etc/gai.conf 2>/dev/null || true + info "IPv4 preference removed. System will use default IPv6-first behavior." + exit 0 + ;; q|Q) exit 0 ;;