Note: A 2022 tutorial on the many aspects of IPv6 can be found in this All Things TECH IPv6 on Mac OS article.
Enabling IPv6
In Apple macOS (all versions), OS X (all versions), and Mac OS X (versions 10.3 Panther and later), Internet Protocol version 6 (IPv6) is on by default. No action is necessary to enable IPv6. It was also supported in Mac OS X versions 10.0 Cheetah, 10.1 Puma, and 10.2 Jaguar but was turned off by default.
In addition, Apple macOS versions 12.01 and later support Internet Engineering Task Force (IETF) Request For Comments (RFC) 8925 IPv6-Only Preferred Option for DHCPv4 (option number 108), which enables IPv4-only and dual-stack nodes on a local-area network to continue to be supported while all new and updated nodes on the network are IPv6-only (sometimes referred to as IPv6-mostly access).
In the absence of applicable policy or guidance about hardening to guard against potential IPv6-related attacks, a guide for configuring Apple macOS (all versions) is provided by this article and OS X (versions 10.10 Yosemite and 10.11 El Capitan) is provided by this article.
For macOS (all versions), OS X (all versions), and Mac OS X (version 10.6 Snow Leopard), follow these instructions to manually enable IPv6.
If the following features are enabled, it is recommended that they be disabled as shown here:
-
- File Sharing in OS X (all versions) and Mac OS X (all versions) and
- AirDrop in OS X (all versions) and Mac OS X (all versions),
Re-enabling IPv6
To re-enable IPv6 in macOS (all versions) and OS X (version 10.8 Mountain Lion and later) if it has been disabled for some reason, use the command line
networksetup -setv6automatic Wi-Fi
(and reissue the command line again for Ethernet and any other network interfaces you want to re-enable IPv6 on). Once IPv6 has been re-enabled for an interface, you can then use the System Preferences - Network panel as described in the next paragraph to manually assign its address settings.
To re-enable IPv6 in OS X (version 10.7 Lion) and Mac OS X (all versions), open the System Preferences - Network panel. Go into the properties for each network interface and click on the Advanced - TCP/IP tab. Then click the Configure IPv6 button and set the menu to On. Click OK and then Apply Now. Close System Preferences. Note: If you want to manually assign the router's IPv6 address, choose Manually from the Configure IPv6 pop-up menu rather than just setting the menu to On. Then you can enter your system's IPv6 address and the router address and network prefix length.
If you insist on using the command line, the command to turn IPv6 on for all network interfaces is
/usr/sbin/ip6 -a
Privacy addresses were disabled by default in OS X (version 10.7 Lion) and Mac OS X (all versions). Since then they have been enabled by default in macOS (all versions) and OS X (versions 10.8 Mountain Lion and later). To disable their use with a sysctl (which must be executed each time the system is restarted):
sysctl –w net.inet6.ip6.use_tempaddr=0
while to permanently disable them, place the following in /etc/sysctl.conf
net.inet6.ip6.use_tempaddr=0
or, if that variable is already defined change its value to zero. Next, restart the system. To temporarily re-enable their use after they have been permanently disabled, use the sysctl:
sysctl –w net.inet6.ip6.use_tempaddr=1
and to specify how often the address is recomputed (XX is in seconds), use the sysctl
sysctl -w net.inet6.ip6.temppltime=XX
To permanently re-enable them, change the value of net.inet6.ip6.use_tempaddr in /etc/sysctl.conf to 1, or place the following lines in /etc/sysctl.conf (XX is in seconds):
net.inet6.ip6.use_tempaddr=1
net.inet6.ip6.temppltime=XX
and restart the system.
The IP Transport section provides a wide variety of information for individuals and organizations interested in benefitting from the experience of others for enabling and (when necessary) disabling Internet Protocol version 6 (IPv6) in software that controls equipment receiving, transmitting, or transferring Internet Protocol (IP) packets. Such software controls layer-3 switches, routers, and computers of all sizes, from laptops, desktops, and servers up to and including supercomputers.
The following types of equipment are not included in this IP Transport section:
- Layer-2 switches that do not process IPv6 packets (or any other IP packets), and hence are outside the scope of the IPv6 knowledge base.
- Personal digital assistants(PDAs), also known as handheld or palmtop computers. These are largely obsolete, although smartphones (see below) that have keyboards and run recent versions of Android and/or Linux can also function as PDAs.
- Smartphones and other mobile phones support for IPv6 is discussed in the Available IPv6 Cell Phones and Wireless Carriers article in the IPv6 and IoT Frequently Asked Questions (FAQ) section.
Enabling IPv6 in Apple macOS, OS X and Mac OS X
Enabling IPv6 in Cisco Routers and Layer-3 Switches
Enabling IPv6 in Extreme Networks Routers and Layer-3 Switches
Enabling IPv6 in Juniper Routers and Layer-3 Switches
Enabling IPv6 in Microsoft Windows 7 and earlier Versions
Enabling IPv6 in Microsoft Windows 8 and later Versions
Enabling IPv6 in Nokia Routers and Layer-3 Services Devices
Disabling IPv6 in Apple macOS, OS X and Mac OS X
Disabling IPv6 in Microsoft Windows 7 and earlier Versions
Disabling IPv6 in Microsoft Windows 8 and later Versions
IPv6 in Debian and Ubuntu Linux
IPv6 in IBM AIX, i, z/OS and z/VM
IPv6 in Red Hat, Mandrake, Fedora and CentOS Linux
IPv6 in openSUSE Linux and SUSE Linux Enterprise Server (SLES)
There are 5 things to consider when deploying Internet Protocol version 6 (IPv6) in the home or the SOHO:
1. An Internet Connection
2. The Computer
3. The Local Area Network (LAN)
4. Security
5. The Applications
The Available IPv6 Internet Service Providers (ISPs) and Networks article in the IPv6 and IoT Frequently Asked Questions (FAQ) section provides information about IPv6 connectivity offered by Internet Service Providers (ISPs).
It is easy to deploy IPv6 in the home or SOHO using a cable modem that supports the Data Over Cable Service Interface Specification (DOCSIS) 3.1 or later 4.0 or a digital subscriber line (DSL) modem that supports IPv6.
The table below lists sources of information about cable and DSL modems that support IPv6. Most modems manufactured since mid-2011 do support IPv6. Before buying a modem instead of renting or purchasing one from your ISP, verify that the modem is on your ISP’s list of approved modems. If it is not, compare the modem’s security features with the functional requirements (chapter 5) in this publication.
| Website or Retailer | Type of Modem | Type of Information Available | |
| cable | DSL | ||
| American Registry for Internet Numbers (ARIN) | √ | √ | Survey of commercially available modems (near the end of article on ARIN IPv6 wiki) |
| American Telephone & Telegraph (AT&T) | √ | √ | IPv6 and AT&T Internet services (scroll down to IPv6 and AT&T Internet equipment and click on Show more to see list of approved modems) |
| Charter Spectrum (part of Charter Communications) | √ | List of approved modems | |
| Comcast Xfinity Corp. | √ | List of approved modems | |
| Cox Communications Inc. | √ | List of approved modems. (DOCSIS 3.0 and later cable modems support IPv6.) | |
| On-line retailer of electronic equipment | √ | List of modems (search for “ipv6 DSL modem” with any web browser) | |
Instructions for enabling IPv6 on many operating systems (when not already enabled by default) are available in the IP Transport section.
If IPv6 support is not available from your ISP, you can still enable IPv6 access on just your computer, rather than all the devices on your LAN, using either:
- a tunneling mechanism such as the Hurricane Electric tunnel broker available here. It does not require any software to be installed locally but does require a stable public IPv4 address. It requires user registration. This article describes the installation process for a Fedora Linux system and this article describes the installation process for a Windows system.
or
- a Virtual Private Network (VPN). VPNs for individual use that tunnel IPv6 are listed in this article. The client software must be installed on your computer.
To enable IPv6 access for the devices on your LAN in addition to your computer takes more effort. Write-ups by individuals who have documented their home and SOHO efforts may be found in the Small Office/Home Office subtopic of the Overview of Lessons Learned Deploying IPv6 article in the General Information section.
If the networking infrastructure you aspire to deploy includes multiple computers, routers, and/or subnets, then one of the approaches offered in the IPv6 test lab setup topic of the IPv6 Test Techniques article in the IPv6 Testing section may be what you are looking for. In-depth technical recommendations and guidance for deploying your home networking infrastructure is provided by this Internet Engineering Task Force (IETF) Request For Comments (RFC) 7368 "IPv6 Home Networking Architecture Principles".
Security concerns are just as real at home as they are at work and even more likely to receive insufficient attention. A 2025 survey of routers installed in homes or SOHOs found that 91% were running with default settings!
Here are some articles offering security tips: Keeping Your Home Network Secure, Best Practices: Consumer IoT Information & Resources (a series of 9 checklists), Best Practices for Keeping Your Home Network Secure, Home Network Security, Securing your “Internet of Things” Devices, and Smart devices: using them safely in your home.
A free Cyber Security webinar with documentation and guidance for the SOHO operator is available from the federal Cybersecurity & Infrastructure Security Agency (CISA).
Some Internet of Things (IoT) networking devices come with improved security already built-in, based on the Manufacturer Usage Description (MUD) standard.
Whether you use Microsoft Edge, Mozilla Firefox, Apple Safari, Google Chrome, Opera or any other web browser, simply direct your browser to the IPv6 literal address of the website you want to view. For example,
http://ipv6.test-ipv6.com
becomes
http://[2001:470:1:18::115].
For additional information, refer to RFC 3986 “Uniform Resource Identifier (URI):Generic Syntax".
(Caution: This substitution can sometimes fail. Explanations of possible reasons for this are available. If you encounter problems, review the Broken User FAQ article found on the above website for several possible explanations. For even more possible explanations, review this article on the ARIN IPv6 wiki.)
Many commercial applications already support IPv6. See the IPv6 Software article in the IPv6 Deployment section for further information. Your own custom applications can also be updated to support IPv6. See the Application Conversion Introduction article in the Applications section for further information.
This article identifies several sources of information about software products that do (or do not) support Internet Protocol version 6 (IPv6), but it does not (indeed, cannot) provide comprehensive information about the tens of thousands of products available from hundreds of vendors. There is currently no single source that identifies all software products that support IPv6.
The IPv6 support status of a software product can be determined:
- Formally, by conducting a test based on a written, publicly available test plan, and/or
- Informally, based on users’ experiences and developers’ statements.
When none of the sources in this article mention the IPv6 support status of a software product of interest, a search for
“software product name” ipv6 support
using any web search engine (including the double quote marks around software product name) may informally determine its IPv6 support status.
The IPv6 Product Testing Results article in the Testing section identifies four different categories of organizations:
International,
United States (US) government,
US Department of Defense, and
Commercial and open source
that have formally tested many software as well as hardware products and determined their support or lack of support.
Beginning in 2016, apps for Apple iOS 9 (or later) submitted to the App Store must first be formally tested and found to be compatible with IPv6 DNS64/NAT64 networks and also support IPv6-only networking.
(Note: The sources of IPv6 product support status mentioned below provide only informal determinations.)
Seven sections and individual articles in this IPv6 Knowledge base identify software products that do or do not support IPv6, including:
- IP Transport section provides configuration details for various computer and router operating systems
that support IPv6, - Security section provides configuration details for various firewalls that support IPv6,
- Applications section provides configuration details for various web browsers that support IPv6,
- IPv6 and Virtual Private Networks (VPN) article in the Infrastructure section identifies VPNs that
simultaneously tunnel both IPv6 and IPv4 through a single tunnel, - Further Resources for Enabling IPv6 in Microsoft Windows Application Servers section of the Enabling IPv6 in
Microsoft Windows Application Servers article in the Infrastructure section, - IPv6 Software Information file (last updated Dec 2011, but IPv6 support status remains valid for later
versions) lists software that supports IPv6 (or indicates that it does not use Internet Protocol at all):
(a) System and Application Development Products (Libraries, Compliers, Debuggers, et cetera) and
(b) Third Party Products (Commercial Off The Shelf [COTS], Government Off The Shelf [GOTS],
and Open Source).
(Since this file was originally compiled as part of the Defense Research and Engineering (DREN)
IPv6 Pilot, many of the entries are for software used on supercomputers.), and - Software-Defined Overview article in the Software-Defined Networking (SDN) knowledge base
mentions several specific software products. Unless otherwise specifically noted therein, those products support
IPv6.
The Microsoft.com IPv6 Support in Microsoft Products and Services article (archived 2017, but IPv6 support status remains valid for later versions) lists many Microsoft application, server and Operating System programs that do or do not support IPv6.
The IPv6 compliance of WLCG applications file (archived 2014, but IPv6 support status remains valid for later versions) lists Worldwide Large Hadron Collider (LHC) Computing Grid (WLCG) software that supports or does not support IPv6. Since this file was originally compiled as part of the WLCG project, many of the entries are for software used on supercomputers.
The IPv6 to Standard website is maintained by the IETF IPv6 Maintenance 6man working group. It lists many, many software products that support IPv6.
Wikipedia articles indicate whether software products in several categories do or do not support IPv6, including:
common applications,
email clients,
DNS servers,
IP address management (IPAM),
mail servers,
network monitoring systems,
operating systems,
licensed operating systems,
open-source operating systems,
remote desktop software,
SSH clients,
SSH servers,
transition mechanisms,
Usenet newsreaders,
virtual private network services,
voice over IP (VoIP) software,
web browsers,
web hosting control panels, and
web server software.
The University of Wisconsin Knowledgebase IPv6 Application Compatibility article listed software products that supporte IPv6 and referenced other lists of software products that supported IPv6 (archived 2009, but IPv6 support status remains valid for later versions).
The DeepSpace 6 Linux IPv6 Portal Current Status of IPv6 Support for Networking Applications article (as of 2018, but IPv6 support status remains valid for later versions) lists Networking Applications that support IPv6.
The National Institute for Standards and Technology Special Publication 800-119 Guidelines for the Secure Deployment of IPv6, Dec, 2010 distinguishes between the deployment of Internet Protocol version 6 (IPv6) and the transition to IPv6 as follows:
"Since the majority of organizations will most likely run both IPv6 and IPv4 on their networks for the foreseeable future, this document speaks about the deployment of IPv6 rather than the transition to IPv6."
IPv6 is not backwards compatible with IPv4, so some kind of IPv6 transition mechanism must be used to allow IPv4-only and IPv6-only based systems to communicate. This Internet Engineering Task Force (IETF) Request For Comments (RFC) 6180 Guidelines for Using IPv6 Transition Mechanisms during IPv6 Deployment provides general guidance. In addition to the systems involved in the communication, at what point the transition occurs along the path between the communicating systems also needs to be considered, as discussed in this IETF draft document IPv6-only Terminology Definition.
This IETF RFC 9096 describes several IPv6 transition mechanisms. The European Telecommunications Standards Institute (ETSI) Industry Specification Group for IPv6 Integration (ISG for IP6) Generic migration steps from IPv4 to IPv6 report describes several additional IPv6 transition mechanisms.
Many IPv6 transitions mechanisms have been developed over the years to allow systems that use IPv6 and/or IPv4 protocols to coexist, and for IPv4-based systems to transition to IPv6. An IPv6 transition mechanism typically falls into one of three categories:
- A dual-stack environment in which each computer or router implements both IPv6 and IPv4 protocols, so that services and applications can use either (or both) as required. This requires an IPv4 address and an IPv6 address for every dual-stack device. The dual-stack approach is a preferred IPv6 transition mechanism for introducing IPv6 support in existing IPv4 devices and will remain widely used in the near future.
- A tunneling mechanism (also known as tunnelling) in which either manually or automatically established tunnels interconnect isolated enclaves of IPv6 (or IPv4) computers so that they may communicate across an IPv4-only (or IPv6-only) wide-area infrastructure. Packets are encapsulated before being transported across a wide-area infrastructure and decapsulated at the receiving end. There are four broad categories of tunneling mechanisms:
A. One that is widely deployed and available for free to individuals who do not have native IPv6 connectivity is a tunnel broker. Hurricane Electric offers one tunnel broker here. It does not require any software to be installed locally, but does require a stable public IPv4 address. It requires user registration.
B. Another is a Virtual Private Network (VPN). VPNs are discussed separately in the IPv6 and Virtual Private Networks (VPNs) article in the Infrastructure section.
C. A third (encompassing a variety of implementations) is IPv4-as-a-Service (IPv4aaS). IETF RFC 8585 describes the general requirements for routers implementing IPv4aaS. IPv4aaS is described separately in this series of articles: part 1, part 2, and part 3. The pros and cons of several IPv4aaS transition mechanisms are compared in IETF RFC 9313.
D. Microsoft-specific: IP-HTTPS, DirectAccess and Teredo. - Protocol translation software which allows IPv4-only or IPv6-only devices to communicate directly with IPv6-only or IPv4-only devices, via some bi-directional protocol translation process. This often involves replacing and/or modifying the addresses/port numbers in packet headers. Protocol translation can become quite complicated, and typically does not scale well. With so many different protocol translation processes available, few are likely to find wide-spread use. Notable exceptions that are finding wide-spread use include NAT64/DNS64 and the more recent 464xlat transition mechanisms.
Older IPv6 transition mechanisms are discussed in this white paper and presentation. Later IPv6 transition mechanisms are described in this paper, which offers additional reasons why most protocol translation processes will never see widespread use. Some of the later IPv6 transition mechanisms are also described in this tutorial. The following table provides information about specific IPv6 transition mechanisms:
| IETF Standards for IPv6 transition mechanism: | Also see above references: | For additional information see: |
|---|---|---|
| 4in6. An early IPv4aaS transition mechanism | this article | |
|
464xlat. A later IPv4aaS transition mechanism. |
tutorial | this article, this article, this article, this frequently asked question (faq), this IETF RFC 8683 |
| 6over4. An early IPv4aaS transition mechanism | white paper | |
| 6to4. An early IPv4aaS transition mechanism | white paper | |
| Adaptive IPv4 Address Space (EzIP) | this article | |
| Application Level (or Layer) Gateway (ALG) | white paper | this article |
|
Anything in Anything (AYIYA). An early transition mechanism, proposed but never implemented |
this article | |
| BUMP IN THE API (BIA) | white paper | |
| BUMP IN THE HOST (BIH) | white paper | |
| BUMP IN THE STACK (BIS) | white paper | |
| Carrier-Grade NAT (CGN, sometimes called CG-NAT or CGNAT). Also called Large Scale NAT (LSN or LSNAT). An early IPv4aaS transition mechanism | paper, tutorial | this article, this presentation |
| Domain Name Service ALG (DNS_ALG) | white paper | |
| Dual-Stack Lite (DS-lite). One way to implement Carrier-Grade NAT (See above) | paper, tutorial |
this IETF RFC 7021, this presentation |
| Dual-Stack Transition Mechanism (DSTM). An early IPv4aaS transition mechanism | white paper | |
| Generic Routing Encapsulation (GRE). An early IPv4aaS transition mechanism | this article, IETF RFC 7676 | |
| Host Identity Protocol (HIP). Theoretically, an alternative to transitioning the Internet to IPv6 | this overview, references | this analysis |
| IPv4 Residual Deployment IETF RFC 7600 (4rd) | this article | |
| IPv6 Rapid Deployment IETF RFC 5969 (6rd) and the earlier IETF RFC 4213 (6in4 also called 6-in-4). Two early IPv4aaS transition mechanisms | tutorial | this presentation, this article |
| Intra-Site Automatic Tunneling Addressing Protocol (ISATAP). An early IPv4aaS transition mechanism | white paper | |
| Lightweight IPv4-over-IPv6 (lw4o6) (also called 4over6). An example of an IPv4aaS transition mechanism | this article, this presentation | |
| Locator/ID Separation Protocol (LISP) | paper | this article |
| Mapping of Address and Port with Encapsulation (MAP-E) and the related Address + Port (A+P) | paper, tutorial | this presentation, this article |
| Mapping of Address and Port using Translation (dIVI-pd or MAP-T) | this article, this draft IETF RFC | |
| NETWORK ADDRESS PORT TRANSLATION - PROTOCOL TRANSLATION (NAPT-PT) | Deprecated by IETF RFC 4966 | |
| NETWORK ADDRESS TRANSLATION - PROTOCOL TRANSLATION (NAT-PT) (see NAPT-PT above) | ||
| NETWORK ADDRESS TRANSLATION (NAT). Informally called NAT44 | paper | this article |
| NAT444. One way to implement Carrier-Grade NAT (See above) | paper | this IETF RFC 7021 |
| NAT64/DNS64 | paper, tutorial | this article, this faq, this presentation |
| Public IPv4-over-IPv6 Access Network (Public 4over6). An early IPv4aaS transition mechanism | this article | |
| Prefix-specific and Stateless Address Mapping (IVVI or IVI) | paper, tutorial | this article |
| Stateless Automation IPv4 over IPv6 Technology (SA46T/SA46T-AS) Datacenter Solution | paper | |
| Socket Secure (SOCKS) | white paper | |
| STATELESS IP/ICMP TRANSLATION (SIIT) | white paper, tutorial | |
| STATELESS IP/ICMP TRANSLATION FOR IPv6 DATA CENTER ENVIRONMENTS (SIIT-DC and SIIT-DC Dual Translation) | this article, this article | |
| Teredo. An early IPv4aaS transition mechanism | white paper | |
| Transport Relay Translator (TRT) | white paper | |
| Tunnel Broker | white paper | |
| Virtual Private Network (VPN) | IPv6 and Virtual Private Networks (VPNs) |
Another source of guidance about IPv6 transition mechanisms is the 3rd Generation Partnership Project (3GPP), an industry consortium of telecommunications organizations. Their Universal Mobile Telecommunications System (UMTS) specification is an ongoing series of technical reports by the 3GPP providing IPv6 deployment guidelines to 3GPP members. For the latest version of the specification, go to the TR 23.975 web page (which is mostly blank), click on the Versions tab, and then click on the version number under the Version column for the entry with the most recent Upload date. (The version number may be something other than the value appearing in the example below.)

Version 5 of the specification was released in February, 2010. It marked the first time that IPv6 became mandatory and IPv4 became optional, although a dual stack was recommended.
