diff --git a/misc/build.func b/misc/build.func index e3ef6b1f8..b020ac829 100644 --- a/misc/build.func +++ b/misc/build.func @@ -1445,11 +1445,12 @@ advanced_settings() { if result=$(whiptail --backtitle "Proxmox VE Helper Scripts [Step $STEP/$MAX_STEP]" \ --title "IPv6 CONFIGURATION" \ --ok-button "Next" --cancel-button "Back" \ - --menu "\nSelect IPv6 Address Management:" 16 58 4 \ - "auto" "SLAAC/AUTO (recommended)" \ - "dhcp" "DHCPv6" \ - "static" "Static (manual entry)" \ - "none" "Disabled" \ + --menu "\nSelect IPv6 Address Management:" 16 70 5 \ + "auto" "SLAAC/AUTO (recommended) - Dynamic IPv6 from network" \ + "dhcp" "DHCPv6 - DHCP-assigned IPv6 address" \ + "static" "Static - Manual IPv6 address configuration" \ + "none" "None - No IPv6 assignment (most containers)" \ + "disable" "Fully Disabled - (breaks some services)" \ 3>&1 1>&2 2>&3); then _ipv6_method="$result" @@ -1478,6 +1479,11 @@ advanced_settings() { _ipv6_gate="" ((STEP++)) ;; + disable) + _ipv6_addr="" + _ipv6_gate="" + ((STEP++)) + ;; none) _ipv6_addr="none" _ipv6_gate="" diff --git a/misc/install.func b/misc/install.func index 4e2869939..89b03fd8c 100644 --- a/misc/install.func +++ b/misc/install.func @@ -45,16 +45,24 @@ catch_errors # ------------------------------------------------------------------------------ # verb_ip6() # -# - Configures IPv6 based on DISABLEIPV6 variable -# - If DISABLEIPV6=yes: disables IPv6 via sysctl +# - Configures IPv6 based on IPV6_METHOD variable +# - If IPV6_METHOD=disable: disables IPv6 via sysctl # - Sets verbose mode via set_std_mode() # ------------------------------------------------------------------------------ verb_ip6() { set_std_mode # Set STD mode based on VERBOSE - if [ "$DISABLEIPV6" == "yes" ]; then - echo "net.ipv6.conf.all.disable_ipv6 = 1" >>/etc/sysctl.conf - $STD sysctl -p + if [ "$IPV6_METHOD" == "disable" ]; then + msg_info "Disabling IPv6 (this may affect some services)" + mkdir -p /etc/sysctl.d + $STD tee /etc/sysctl.d/99-disable-ipv6.conf >/dev/null <