How to disable IPv6 – Windows, Linux, Mac, and more

Do you need to disable IPv6? Maybe you’ve read a troubleshooting guide, are developing a new software update, or need to fix a weird connection problem. Below you can find a great overview of IPv6 and steps on how to disable this protocol for many systems, including Windows, Linux, and Mac. 

What is IPv6?

IPv6 stands for Internet Protocol Version 6. IPv6 is a network layer protocol that is intended to replace IPv4. Network layer protocols are responsible for routing packets to network device addresses, also known as IP addresses. IPv6 works in conjunction with TCP (Transmission Control Protocol). TCP ensures that a stable connection is established and then transfers data packets in the correct order. 

IPv6 and IPv4 are both responsible for IP address assignments. When your computer or any other device first accesses the internet, it is assigned a numerical IP address. When data is sent across the internet, the packet will contain the IP address of the outgoing device and the incoming device. 

The world is well into the technological era, and more and more devices connect to the internet every day. IPv4 can’t stand alone because it has run out of all available IP addresses. IPv4 uses 32-bit addresses meaning it can provide 4.29 billion IP addresses. IPv4 protocol addresses might look familiar, taking the format 

IPv6, first realized in 1998, differs because it uses 128-bit internet addresses. This provides a staggering number of addresses, far outside what the human brain can comprehend, at 340 trillion trillion trillion unique IP addresses. IPv6 IP addresses look something like 2001:0db8:85a3:0000:0000:8a2e:0370:7334. Outside the 32-bit addresses, IPv6 also offers improved security, network address translation, mobile device support, and improved administrative workload. IPv6 allows mobile devices to keep the same IP address as they move from location to location, improving the speeds and usability of mobile networks. 

Reasons to Disable IPv6

Disabling IPv6 is often recommended by troubleshooting guides when a network problem arises. IPv6 is being actively implemented, but this is not often seen at the user level. Many large ISPs are having major issues with IPv4 address assignment, and this problem will grow significantly over the next few years, pushing for the complete adoption of IPv6. As more and more networks and ISPs (Internet Service Providers) support IPv6, it will become less and less necessary to disable it. The kinks will get worked out, and eventually, it will be the standard.

You may want to disable IPv6 to resolve problems associated with:

  • Name resolution. Most routers are still configured to use IPv4, so IPv4 requests must be translated to IPv6.
  • ISP does not support IPv6. Even major ISPs like AT&T, Xfinity, Verizon, and Spectrum are still working on adding better support and infrastructure for IPv6. If you use a small, localized, or regional ISP, this may be more of an issue.
  • Connection issues. Such problems typically present themselves as unstable or slower internet speeds. Read more on how to fix slow internet on Windows 10.
  • VPN problems. VPN providers like NordVPN and Surfshark don’t support IPv6.
  • Software development. Docker, Linux, CentOS, etc.

Should I disable IPv6? Is it OK?

Disabling IPv6 is very common. This is because the infrastructure was not in place for years, and IPv6 was linked to a variety of network issues. While IPv6 has been around since 1998, adoption has been extremely slow. Even just five years ago, only 15% of users were accessing the internet over IPv6. At this time, roughly 25-30% of Google users use IPv6.

Microsoft maintains that Windows users should not be disabling IPv6. According to Microsoft, IPv6 is an integral part of Windows. When applications are developed for Windows, they are done so with IPv6. Instead, Microsoft suggests enabling ‘Prefer IPv4 over IPv6’ if you are worried. If you are more technically advanced, you may find more value in using Regedit to disable or configure IPv6, depending on your needs. 

So is it okay to disable IPv6? Technically, yes. Is it recommended anymore? No. IPv6 has taken over 20 years to become commonplace, but this isn’t the early 2000s anymore. IPv6 is widely used. IPv6 exists alongside a separate IPv4 network, meaning that both are functioning. You can use either, and if your ISP supports IPv6, your devices are being assigned both IPv4 32-bit IP addresses and IPv6 128-bit addresses.

You can check your ISP, and the IP addresses your device is assigned here

How to Disable IPv6 on Windows, Linux, Mac, Android, iPhone, and more

Ultimately, you may decide that disabling IPv6 is in your best interest or is temporarily needed to troubleshoot an issue. Below you will find the step-by-step instructions for how to disable IPv6 on eight different devices and operating systems. 

1. Windows 10 & Windows 11 (Control Panel)

Disabling IPv6 on Windows is pretty straightforward. The disabling process will be shown in both Windows 10 and Windows 11. For reference, the first picture in each step will be Windows 10, and the second will be Windows 11. 

  1. Right-click on the Network symbol in the right-hand corner of the Taskbar. This symbol will either be a Wi-Fi symbol or an Ethernet symbol. 
    • On Windows 10, the menu will contain two options. You want to select Open Network and Sharing Center. 
    • On Windows 11, a menu will open saying Network and Internet settings
Open Network and Sharing Center
Network and Internet Settings
  1. In the newly opened window, navigate to the adapter settings. 
    • On Windows 10, select Change adapter options
    • On Windows 11, select Advanced network settings and on the new screen, scroll down to Related settings and select More network adapter options.
Network Sharing Center - Change adapter settings
Network & Internet
Network & Internet - Advanced network settings
  1. From this point on, the steps are the same for Windows 10 and Windows 11. The network adapters available on your computer will be visible in this new Network Connections window. Next, right-click on the network adapter you are currently using and select Properties.
Network Connections - Properties
  1. In the Properties window, within the This connection uses the following items box, scroll down and find Internet Protocol Version 6 (TCP/IPv6).
Uncheck Internet Protocol Version 6 (TCP/IPv6) to disable IPv6
  1. Uncheck the Internet Protocol Version 6 (TCP/IPv6) checkbox and then click OK to save the change. 
  2. Restart your computer so the network change can be applied.

2. Windows 10 and 11 (Command Line)

The best way to disable IPv6 is to do so from Powershell or the Command Line. The steps are essentially identical in both Windows 10 and Windows 11.

  1. Click the Windows button and when the Search window opens, enter Powershell in the search bar. Right-click and select Run as Administrator
Search for Windows PowerShell
  1. Enter this command and press Enter:
    Disable-NetAdapterBinding -Name “Ethernet” -ComponentID ms_tcpip6

    You will need to replace Ethernet with the name of your network adapter card if it is named something else. 
Administration: Windows PowerShell
  1. You can confirm IPv6 is disabled by entering the command below. Enabled will read False if it has been successfully disabled. 
    Get-NetAdapterBinding -ComponentID ms_tcpip6

3. Linux

Popular Linux distributions include Debian, Ubuntu, and CentOS. Debian has been available for almost 20 years and retains about 17% of the Linux market share. Ubuntu is a fork of Debian that was released in 2004, and it is the most popular Linux distribution, with over 40% of the market share. CentOS is another popular Linux distribution based on RHEL because it provides an enterprise-grade OS option. This article will cover how to disable IPv6 for both RHEL (Red Hat Enterprise Linux) and Debian systems. 

Red Hat-based distributions (CentOS):

  1. Open the terminal. You can do this directly by pressing Ctrl + Alt + T.
  2. Change to the root user. 
  3. Issue the command sysctl -w net.ipv6.conf.all.disable_ipv6=1
  4. Issue the command sysctl -w net.ipv6.conf.default.disable_ipv6=1
Disabling IPv6 using the Linux terminal
  1. Reboot the machine.

Debian-based distributions (Ubuntu Included):

  1. Open the terminal. You can do this directly by pressing Ctrl + Alt + T.
  2. Issue the command sudo nano /etc/sysctl.conf 
sudo nano /etc/sysctl.conf
  1. Add the following at the bottom of the file:
    net.ipv6.conf.all.disable_ipv6 = 1
    net.ipv6.conf.default.disable_ipv6 = 1
    net.ipv6.conf.lo.disable_ipv6 = 1
How to disable IPv6 on Ubuntu
  1. Save and close the file.
  2. Reboot the machine.

4. Mac

To disable IPv6 on MacOS, you will be using the terminal. This method is simple and straightforward. 

  1. Open the Terminal. You can do this by pressing CMD+Space. You can also search for the Terminal via Finder, as seen below. 
Open the Terminal on MacOS
  1. Enter “networksetup -listallnetworkservices” in the bash Terminal. This will list the devices on the internet. 
networksetup -listallnetworkservices
  1. From this list, you may see devices connected via both Ethernet and Wi-Fi. If you have devices on both, you will need to enter the two commands listed below:
    networksetup -setv6off “Wi-Fi”
    networksetup -setv6off “Ethernet”
Commands to disable IPv6 on MacOS
  1. Restart your Mac to apply these changes. 

5. Android

If you are having connection problems on an Android device, and you think the problem may be related to IPv6, then you can easily disable this protocol:

  1. Open System Settings. Find and select Network & Internet
System Settings - Network & internet
  1. Tap on Mobile Network and then Advanced.
  2. Select Access Point Names, and then select the APN you are using. 
Select Access Point Names
  1. Tap on APN Protocol and then select IPv4. This disables IPv6.
Under APN Protocol, select IPv4 to disable IPv6
  1. Make sure to tap Save

6. iPhone

Apple currently supports IPv6-only networking. Therefore, if you disable the IPv6 protocol from your iPhone, you may not have access to your mobile data. To disable IPv6 on your iPhone, you will need a MacOS and Apple Configurator.

  1. Download Apple Configurator
  2. Open Apple Configurator and select File, then New Profile
  3. Fill out the General section. Find the Cellular section and select Configure
  4. Find Configure APN Type and select Default and Data APNs.
  5. Enter the data for your carrier’s APN settings. If you need any help, this resource has recommended APN settings for all carriers. 
  6. Select IPv4 under Data APN Supported IP Versions
  7. Then sign and flash this profile to your iPhone.

Note: Just remember, this is highly irregular and not recommended. Your device may be inoperable from a cellular network standpoint. 

7. OpenWrt

OpenWrt is an open-source project for embedded operating systems using Linux. This project is highly configurable and provides many options for IPv6, IPv4, DNS, routing, firewall, NAT, and more. If you are using OpenWrt and would like to disable IPv6 follow the steps below. This method uses the shell or command line:

  1. Open Command Line interface or bash.
  2. Enter the following commands:
    uci set ‘network.lan.ipv6=0’
    uci set ‘network.wan.ipv6=0’
    uci set ‘dhcp.lan.dhcpv6=disabled’
    /etc/init.d/odhcpd disable

    The commands listed below are for older versions of OpenWrt:
Disabling IPv6 on OpenWrt
  1. Save the settings by entering “uci commit”.

8. Docker

Docker is an open-source platform providing developers a way to containerize or package their applications. Docker improves software development and reduces delivery time. Teams can deploy new software developments quickly and easily. If your team has issues with containers where IPv6 is enabled, it can be disabled by following the steps below. This solution may be more common in countries where IPv6 infrastructure isn’t as prevalent. 

IPv6 is only supported on Docker daemons that are running on Linux hosts. IPv6 is not automatically enabled in Docker. It must be enabled from the /etc/docker/daemon.json

If you need to disable IPv6 for a specific Docker container:

  1. Open the Terminal.
  2. Enter the command –sysctl net.ipv6.conf.all.disable_ipv6=1

9. Raspberry Pi

Raspberry Pi is a small computer that fits in the palm of your hand. It can be plugged into a monitor and uses a mouse and keyboard. Raspberry PI is commonly used by hobbyists who like to build gadgets, games, and other cool tech devices. Raspberry Pi is also popular for school-based programming projects. If you are experiencing issues when playing around with your Raspberry Pi projects, you can disable IPv6:

  1. Open a Terminal.
  2. Enter the command sudo nano /etc/sysctl.conf
  3. Add the following command:
    net.ipv6.conf.all.disable_ipv6 = 1
  1. Restart your system and check ipconfig to see that IPv6 is not still in use. 

If you need to re-enable IPv6 on Raspberry Pi:

  1. Change the value from 1 to 0 in the previous command as seen below:
    net.ipv6.conf.all.disable_ipv6 = 0
  2. Enter the next two commands:
    sudo sysctl -p
    sudo ifconfig eth0 down && sudo ifconfig eth0 up

IPv6 Disabled for Windows, Linux, Mac, and more

IPv6 will eventually be required for all network access and IP assignment because of the ever-growing number of connections to the internet. IPv4 is on its way out. But in the interim, many people and developers still want access to IPv4. IPv6 has been linked to some problems, and disabling it is sometimes the best option when troubleshooting. Thankfully, disabling IPv6 is not very difficult. For most systems, you can disable IPv6 with a few terminal commands.

Leave a Comment