Enabling and Configuring IPv6: Full Tutorial
IPv6 has long since stopped being “the future of the Internet”—it is a fully functional standard that is being implemented by ISPs, hosting providers, mobile operators, and service developers. However, it will not work automatically: even if your provider assigns a prefix, without configuring the IPv6 network and DNS servers, connections may fail, websites may not load, and devices may remain inaccessible.
This guide will help you configure IPv6 on a computer, server, or router from scratch, up to verifying functionality. We will cover how to set up IPv6 in Windows and Linux, what needs to be enabled in your router’s control panel, how to check whether IPv6 is actually working, and what issues you may encounter along the way. Everything is explained step by step, without unnecessary theory, with commands and examples.
Preliminary Preparations Copy link
To enable and configure IPv6 on your system, you first need to access your network adapter's properties through your operating system’s settings or control panel. Typically, this can be done by right-clicking on your network connection (Ethernet or Wi-Fi) and selecting Properties. In the Properties window of the network adapter, scroll through the list of items, locate Internet Protocol Version 6 (TCP/IPv6), check the box next to it to enable it, and click OK to save your changes. For more advanced configuration, you can use the Properties button within the IPv6 settings to manually configure a static IPv6 address, subnet prefix, and DNS server. Alternatively, you can use command-line tools like PowerShell for dynamic configuration through cmdlets such as New-NetIPAddress.
Checking IPv6 Support Copy link
Before configuring IPv6, you need to make sure it is available. Even in 2025, many networks—especially home and office networks—still run on IPv4 only, simply because no one has enabled support for the new protocol.
We can say that a device has IPv6 configured if:
- The device has a global IPv6 address (starting with
2xxx:or3xxx:) - It has an IPv6 gateway and configured DNS servers
- It can access websites that are available only via IPv6 (for example,
http://[2606:4700:4700::1111]) - It successfully passes a test on test-ipv6.com
Now, let’s see how to check if a machine has an IPv6 address.
Linux
Open the terminal and run:
ip -6 addr- If the output shows addresses like
inet6 2xxx:... scope global, everything is fine. - If it shows only
fe80:... scope link, then you only have a local address and cannot reach the Internet.

Example output of ip -6 addr in Linux when an IPv6 address is assigned and recognized
Even if the machine has an IPv6 address, websites will not load without IPv6 DNS servers—the browser will not be able to resolve domain names into IPs. Therefore, immediately after checking the address, it makes sense to check which DNS servers are configured and whether they work over the new protocol. Check DNS with:
resolvectl status
Example output of resolvectl status in Linux when DNS servers are configured
When both the IPv6 address and DNS servers appear correct, it does not yet mean that the connection is working. To ensure that the machine can actually send and receive traffic over IPv6, use ping6:
ping6 google.com- If the connection succeeds, then DNS works, the address is assigned, and the route to the Internet exists.
- If the response is “Name or service not known”, then DNS likely does not work.
- If “Network is unreachable”, then there is no route to the network, possibly because the gateway is not set.
Note: having a global IPv6 address and DNS servers does not guarantee that the connection will work. Sometimes the provider assigns an address but does not provide a gateway—the system may think everything is connected, but Internet access will not be possible.
Therefore, ping6 is a mandatory step. It helps determine whether traffic is actually flowing over IPv6.

Example output of ping6 google.com in Linux when packets reach the recipient
Windows
Open the command prompt (cmd). Press Win + R, type cmd, and hit Enter. Then run:
ipconfigFind the active network interface, e.g., Ethernet or Wi-Fi. Look for lines like:
IPv6 Address. . . . . . . . . . . : 2600:1901:0:1234::100
Default Gateway . . . . . . . . . : 2600:1901:0:1234::1- If the IPv6 address starts with
2xxx:or3xxx:, this is a global address, meaning IPv6 is already working. - If you see only
fe80:..., this is local IPv6, it works only within the network. It cannot reach the Internet. - If there is no address at all, IPv6 is disabled or not configured.

Example output of ipconfig in Windows when an IPv6 address is assigned and recognized
Next, check whether DNS works over IPv6. In the same command prompt, enter:
nslookup -type=AAAA google.comThe response should include lines like:
Name: google.com
Addresses: 2a00:1450:4010:c05::65
2a00:1450:4010:c05::71
2a00:1450:4010:c05::66
2a00:1450:4010:c05::64- If there is an address like
2a00:..., DNS is returning AAAA records and IPv6 support is working. - If you see “Non-existent domain” or “can't find”, DNS does not return IPv6 addresses, and manual DNS configuration may be required.

Example output of nslookup -type=AAAA google.com in Linux when DNS servers are configured
Now check the IPv6 connection:
ping -6 google.com- If the response is
Reply from 2a00:1450:400e:80f::200e: time=xxms, everything works: IPv6 is connected, DNS responds, routing is configured. - If “Destination unreachable” or “General failure” appears:
- The address or gateway is configured incorrectly;
- The firewall is blocking ICMPv6;
- The provider assigned an address but did not provide a route.

Example output of ping -6 google.com in Windows when packets reach the recipient
What the Check Results Mean
- If you have a global IPv6 address (starting with
2xxx:or3xxx:), DNS returns AAAA records, andping -6orping6succeeds togoogle.com, IPv6 is already working, and no further configuration is needed. - If
ipconfigorip -6 addrshows only addresses likefe80:, DNS does not respond to AAAA queries,ping -6returns “Destination unreachable” or “General failure”, or there are no IPv6 addresses in the system at all. It means that IPv6 is either not configured or completely disabled.
In that case, proceed to the next section. We will cover how to enable and correctly configure IPv6 on a computer, server, or router.
Preparation for Configuring IPv6 Copy link
IPv6 can operate in fully automatic mode or require manual input of address, gateway, and DNS. It depends on the specific network, router, or server. If your provider or hosting has already configured everything for you—great. But if you see only local addresses (fe80:) and ping -6 fails, manual IPv6 configuration will likely be required.
The first thing you need is a global IPv6 address. It is provided by your ISP or listed in the VPS control panel. Such an address may look like, for example, 2600:1901:0:1234::100. Along with it, the prefix length—subnet mask—is usually specified. In practice, /64 is most commonly used, giving a huge number of possible addresses within the subnet. Sometimes /128 is issued—a single address without the ability to address other devices. This is common on virtual servers.
The next element is the gateway. It is needed for traffic from your network to reach the Internet. Most often, it matches the first address in the subnet. For example, if your address is 2600:1901:0:1234::100, the gateway may be 2600:1901:0:1234::1. In Linux, it is specified in the gateway6 field, and in Windows, in the network adapter properties.
IPv6 will not work without DNS. Even if the address and route are correct, the system will not be able to resolve domain names. During setup, you can use reliable public DNS servers that support IPv6. For example:
- Google:
2001:4860:4860::8888 - Cloudflare:
2606:4700:4700::1111 - Quad9:
2620:fe::fe
You can specify them manually.
Once you have the IPv6 address, gateway, and DNS, you can proceed to configuration. The following sections will explain in detail how to set up IPv6 on Windows, Linux, and a router.
Configuring IPv6 on a Computer or Server Copy link
To manually configure IPv6, you will need the IPv6 address itself. You can obtain it from your Internet provider or the company where you purchased your cloud server, if they support IPv6.
Linux Copy link
The method depends on your system: it could be NetworkManager (on desktops), Netplan (on Ubuntu Server), or systemd-networkd.
Obtaining IPv6 Automatically via dhclient
Before configuring IPv6 manually, try obtaining it automatically. Use the dhclient utility, which requests an address from the DHCPv6 server and applies it to the interface.
Install dhclient if it is not already installed:
sudo apt update
sudo apt install isc-dhcp-clientRequest an IPv6 address:
sudo dhclient -6The command does not output results to the terminal, but if the request is successful, the interface will receive a global IPv6 address. You can check with:
ip -6 addr
ip -6 route
ping -6 google.comIf you only see a local address like fe80:, then automatic acquisition failed, and you will need to proceed with manual configuration.
Manual Configuration via Netplan (Ubuntu)
On server distributions of Ubuntu, Netplan is used for network configuration. To set IPv6 manually, open the configuration file, usually:
sudo nano /etc/netplan/50-cloud-init.yamlFill in the fields in the block with the values obtained in the section “Preparation for Configuring IPv6”:
network:
version: 2
ethernets:
eth0:
dhcp4: true
dhcp6: false
addresses:
- <IPv6-address>/<subnet-prefix-length>
gateway6: <IPv6-gateway>
nameservers:
addresses:
- 2001:4860:4860::8888
- 2606:4700:4700::1111Then apply the settings:
sudo netplan applyCheck the results:
ip -6 addr
ip -6 route
ping6 google.comIf everything is entered correctly, the address will appear, and traffic will flow over IPv6.
Windows Copy link
To configure the address in Windows:
- Press Win + R, type ncpa.cpl, and press Enter. The Network Connections window will open.
- Right-click the active connection (e.g., Ethernet) → Properties.
- Select Internet Protocol Version 6 (TCP/IPv6) and click Properties.
- Check Use the following IPv6 address and fill in the fields:
-
- IPv6 Address: enter your address (e.g.,
2600:1901:0:1234::100) - Subnet prefix length: Windows usually fills this automatically based on the IPv6 address
- Gateway: enter the value obtained in “Preparing to Configure IPv6”
- IPv6 Address: enter your address (e.g.,
-
Below, check Use the following DNS server addresses and enter:
2001:4860:4860::8888
2606:4700:4700::1111These are DNS servers provided by Google and Cloudflare.
- Click OK → OK to save the settings. Restart the computer or server for the changes to take effect.
Configuring IPv6 on a Router Copy link
If you connect to the Internet via a home router, its settings determine whether your devices will receive IPv6 addresses and be able to access the network using the new protocol. Fortunately, modern routers increasingly support IPv6 out of the box. However, it is not always enabled by default—you may need to configure it manually.
Even if your provider supports IPv6, devices in the network cannot use it until the router starts receiving a global IPv6 address from the provider, distributing addresses to devices (via SLAAC or DHCPv6), and providing DNS and routes.
Router interfaces vary, so the exact location of settings may differ. To find the necessary section, open the router’s web interface (usually http://192.168.0.1 or http://192.168.1.1) and look for a tab named IPv6, Internet, WAN, or Network. If you cannot find it, search online for your router model.
Note: For some providers, IPv6 works only if specific connection parameters are specified (connection type, prefix length, gateway). It is best to check your personal account or technical support.
Next:
-
Select the connection type.
-
- If the provider offers IPv6 directly, choose Native IPv6 or DHCPv6.
- If IPv6 is tunneled via IPv4, choose 6to4, 6rd, or Tunnel (rarely needed).
-
Enable IPv6 distribution within the local network. Options may be named:
-
- Enable SLAAC
- Enable DHCPv6 Server
- Assign IPv6 prefix to LAN
- It is recommended to enable SLAAC + RDNSS, automatic configuration of addresses and DNS without DHCP.
-
Specify IPv6 DNS servers:
-
- Google:
2001:4860:4860::8888 - Cloudflare:
2606:4700:4700::1111
- Google:
-
Save and restart the router.
Linux: Troubleshooting Common Issues Copy link
|
Symptom |
Problem |
Solution |
|
|
The device did not receive a global IPv6 address |
Make sure DHCPv6/SLAAC is enabled. Ensure the provider supports IPv6. |
|
|
No route (gateway) set for IPv6 |
Check for |
|
|
DNS is not working over IPv6 |
Make sure working DNS servers are configured (e.g., Google/Cloudflare). Check with |
|
DNS server is set, but |
DNS server is unreachable over IPv6 |
Test DNS connection: |
|
IPv6 intermittently disappears |
SLAAC/DHCPv6 does not refresh addresses or addresses are reset |
Ensure |
|
After |
Errors in Netplan configuration |
Check YAML syntax: indentation, spaces, correct IP. Run |
|
DNS still uses IPv4 |
|
Make sure IPv6 DNS servers are listed under |
|
IPv6 address exists, but no access to websites |
Provider did not give an Internet route or ICMPv6 is blocked |
Check if a route is received ( |
|
|
The system did not receive a route via IPv6 |
Add manually: |
|
|
Conflict with NetworkManager |
Disable NetworkManager on the server: |
Windows: Troubleshooting Common Issues Copy link
|
Symptom |
Problem |
Solution |
|
No IPv6 address in |
The system did not receive a global IPv6 address |
Check that IPv6 support is enabled in adapter properties. Ensure the router/provider assigns addresses. Configure IPv6 manually if needed. |
|
|
No route (gateway) |
Manually set the gateway in adapter properties. Ensure the gateway is in the same subnet as your IPv6 address. |
|
|
DNS does not work over IPv6 |
Set reliable IPv6 DNS (Google, Cloudflare) manually in adapter properties. |
|
|
DNS does not return AAAA records (IPv6 addresses) |
The DNS server does not support IPv6 queries. Use another server, e.g., |
|
Addresses exist, DNS works, but websites do not open |
ICMPv6 is blocked or firewall interferes with routes |
Ensure incoming and outgoing ICMPv6 traffic is allowed in Windows Firewall. Check the network profile (Home/Public). |
|
Connection is unstable, IPv6 disappears |
Conflicting settings or issues with DHCPv6/SLAAC |
Try switching to manual configuration. Disable and re-enable IPv6 in adapter properties. |
|
Internet still does not work after manual setup |
Incorrect address, prefix, or gateway |
Ensure the address and gateway are in the same subnet. Check the prefix length (usually |
|
Network does not respond after changing settings |
Windows did not apply changes without restart |
Restart the computer. Sometimes the IPv6 stack requires a full reboot to apply new settings. |
|
No IPv6 configuration option in interface |
Disabled or corrupted in the system |
Make sure the IP Helper service is running. Open |
|
|
Browser uses only IPv4 or DNS conflict |
Flush DNS cache: |
Conclusion Copy link
IPv6 has long ceased to be experimental; it is a fully functional standard, working with most ISPs, hosting providers, and modern operating systems. However, simply obtaining an address is not enough to actually use it. It is important to ensure that everything is configured: from routes and DNS to router support.
In this guide, we have covered the entire process, from initial checks to manual configuration and troubleshooting. If you followed the steps carefully, your computer or a virtual server should now work reliably over IPv6, and websites should load even without IPv4.
If it still doesn’t work, start with the basics: check whether a global address is visible, whether DNS works, and whether ping6 reaches Google. These are three key checkpoints to understand what might be wrong.
IPv6 is not difficult if you follow the instructions. Once you configure it correctly, you will likely not need to revisit it for a long time.
FAQ Copy link
What is IPv6 and should I enable it? Copy link
IPv6 (Internet Protocol version 6) is the successor to IPv4, designed to overcome IPv4’s limitation of available addresses. IPv6 provides a vastly larger address space, built-in security features (like mandatory IPsec support), more efficient routing, and better support for modern networking needs, such as mobile devices and IoT.
-
Should you enable it?
Yes, in most cases, you should. Many ISPs, websites, and applications already support IPv6, and enabling it allows your device to use both IPv4 and IPv6 (dual stack). This can improve compatibility with services that are IPv6-only. Unless you are in a specialized environment where IPv6 causes conflicts, it is generally safe and recommended to enable it.
2. How do you configure IPv6? Copy link
Configuration can be done in two ways:
-
Automatically (DHCPv6 or SLAAC):
Most modern networks assign IPv6 addresses dynamically. By default, enabling IPv6 in your adapter settings will usually be enough for your system to obtain an address, gateway, and DNS automatically. -
Manually (Static):
You can configure IPv6 manually by entering: -
IPv6 address (e.g., 2001:db8::100),
-
Subnet prefix length (commonly 64),
-
Default gateway (router address),
-
DNS servers (such as Google’s 2001:4860:4860::8888 and 2001:4860:4860::8844).
On Windows, this can be done via the network adapter properties (GUI) or PowerShell commands like:
New-NetIPAddress -InterfaceIndex <index> -IPAddress <IPv6> -PrefixLength 64 -DefaultGateway <gateway>
3. Does enabling IPv6 make Wi-Fi faster? Copy link
Not directly. Enabling IPv6 doesn’t inherently increase your Wi-Fi speed. However, in some cases:
-
If a website or service is optimized for IPv6, connecting via IPv6 can reduce latency by skipping NAT (Network Address Translation) that is often used in IPv4.
-
Some content delivery networks (CDNs) may serve data more efficiently over IPv6.
So while your raw Wi-Fi speed won’t change, enabling IPv6 may improve reliability and response times in certain scenarios.
4. How to fix “IPv6 connectivity: no internet access”? Copy link
If you see this message, it usually means your device has an IPv6 address but cannot reach the internet using IPv6. Possible fixes:
-
Restart Router & Device: Sometimes a simple reboot resolves temporary network issues.
-
Check ISP Support: Not all ISPs provide IPv6. If your ISP doesn’t, you’ll see "no internet access" even though IPv6 is enabled. In that case, IPv4 will still work.
-
Update Network Drivers: Outdated drivers can cause connectivity issues.
Reset IPv6 Configuration (Windows):netsh int ipv6 reset
-
Then restart your computer.
-
Manually Set DNS Servers: Add IPv6-compatible DNS, e.g., Google’s:
-
2001:4860:4860::8888
-
2001:4860:4860::8844
-
Disable and Re-enable IPv6: In some cases, toggling IPv6 off and back on in your network adapter settings clears conflicts.
-
Check Router Configuration: Ensure your router has IPv6 enabled and configured correctly (some routers require DHCPv6 or prefix delegation from the ISP).
If IPv6 still doesn’t connect but IPv4 works fine, and your ISP doesn’t provide IPv6, you can safely leave it enabled (your device will fall back to IPv4).
Frequently Asked Questions (FAQ) Copy link
How to enable and configure IPv6 on Ubuntu? Copy link
On modern Ubuntu versions (using Netplan), you configure this in your YAML file found in /etc/netplan/.
-
Open the file (e.g., sudo nano /etc/netplan/00-installer-config.yaml).
-
Under your network interface, add dhcp6: true or a static address like addresses: [2001:db8::2/64].
-
Apply changes: sudo netplan apply.
How to enable and configure IPv6 on Windows 10/11? Copy link
IPv6 is usually enabled by default, but you can verify it in the Network Adapter settings:
-
Go to Settings > Network & Internet > Advanced network settings.
-
Select More network adapter options (or "Change adapter options").
-
Right-click your active connection (Ethernet or Wi-Fi) and select Properties.
-
Ensure the box next to Internet Protocol Version 6 (TCP/IPv6) is checked.
How to configure IPv6 on a router? Copy link
While interfaces vary by manufacturer (TP-Link, ASUS, Netgear), the general steps are:
-
Log in to the admin panel (typically 192.168.0.1 or 1.1).
-
Navigate to Advanced > IPv6 or WAN Settings.
-
Set the "Internet Connection Type" to match your ISP (commonly Native, DHCPv6, or SLAAC).
-
Enable "IPv6 LAN" so your devices can receive addresses.
How do I test if IPv6 is working? Copy link
The simplest test is to visit a verification site like test-ipv6.com. Alternatively, in the terminal/command prompt, try pinging Google's IPv6 address:
-
Windows: ping -6 google.com
-
Linux: ping6 google.com
Should I disable IPv4 if I enable IPv6? No. Copy link
The internet is currently in a transition phase (Dual Stack). Many websites and legacy applications still rely entirely on IPv4. You should run both protocols simultaneously to ensure full connectivity.