Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

To use IPv6 reliably on a Linux VPS, you must configure three separate layers: obtain an address, prefix and gateway from the VPS provider; install that information in your distribution’s network manager so it survives reboot; and make each client or server explicitly use IPv6 where needed. Start with an out-of-band provider console and an existing SSH session before changing networking. An IPv6 address by itself is not enough—your host also needs a working default IPv6 route, a service listening on an IPv6 socket, and an IPv6 firewall rule that permits the traffic.

What you need from the VPS provider first

Request the exact IPv6 address or delegated prefix, prefix length, gateway or next hop, and the interface name on which the address must be configured. Providers differ in whether they use a directly reachable gateway, router advertisements (SLAAC), DHCPv6, or a static route. Do not infer these values from another server or from a generic tutorial.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Keep the provider’s web console, serial console, or rescue console open while making changes. A wrong gateway or interface name can terminate your SSH connection, and an out-of-band console is the recovery path. Provider documentation may also vary by release: for example, procedures for Debian 12 and Ubuntu 22.04 or later are not interchangeable, so reconcile the provider’s instructions with the network manager installed on your VPS.

  • Address or prefix: the global IPv6 address (or subnet) assigned to the VPS.
  • Prefix length: commonly written after a slash, such as /64; use the value supplied for your allocation.
  • Gateway/next hop: the provider’s IPv6 router address or route method.
  • Interface: the real device name, such as ens3, eth0, or eno1.
  • Firewall policy: whether the provider has an upstream IPv6 firewall in addition to your VPS firewall.

Inspect the VPS before changing anything

Linux’s iproute2 tools show the state that matters: interfaces, IPv6 addresses and routes. Run these commands as an ordinary user; use sudo where your distribution requires it.

#1 Best Overall
Sale
Compressed Air Duster,130000RPM Super Power Cordless Air Duster,Rechargeable Brushless Blower,3 Gear Adjustable Blower with LED Light,Dust Remover for Computer/House/Outdoor/Car
  • Powerful Turbo Fan:CAGIWIRU Electric Air Duster have reached speed up to 130000RPM,Can efficient remove dust and debris.With LED light and Three Adjustable Speed to meet with different cleaning tasks.
  • With Attached USB C Fasting Charging cable.Charing 3 hours,Enjoy up to 240 minutes of use on the lowest setting, For third speed can use for 25mins.with four charging options to meet with your needs.
  • Wide Application: attached 5 different nozzles,making it suitable for a variety of scenes, such as car,pet, pc, keyboards, and other electronic devices. It also serves for office and home clean duster.
  • Handy Design & Portable:Cordless air duster electric nozzle is Light weight and small size, design and comfortable to hold and space saving, convenient to carry around. You can put it in your room or inside the car without taking up space.
  • Economical &Reusable: Built durable materials with a long-lasting battery,our CAGIWIRU air duster it's a sustainable alternative to disposable air cans.
ip link show
ip -6 addr show
ip -6 route show

In ip -6 addr show, look for a global-scope address (normally shown with scope global) on the provider-designated interface. A fe80::/10 link-local address is normal, but it only works on the local link and does not prove Internet connectivity.

ip -6 route show should contain a usable default route, usually displayed as default via ... dev .... An address without that route can communicate locally but cannot reach the public IPv6 Internet.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Check both name resolution and family-specific connectivity:

ping -6 -c 4 example.com
curl -6 https://example.com/
dig AAAA example.com
dig A example.com

A successful ping -6 or curl -6 confirms outbound IPv6 for that destination. DNS results are a separate question: an AAAA record is required for a hostname to resolve to IPv6, while an A record is IPv4. The commands ss, traceroute, and tracepath are useful when you need to inspect sockets or the path beyond the first hop.

Persist IPv6 with the distribution’s network manager

Do not rely on a one-time ip -6 addr add command for a production VPS. Such a change normally disappears at reboot. Store the configuration in the network stack that owns the interface, then apply it using that stack’s documented command.

Debian with ifupdown

Debian’s ifupdown configuration is commonly stored in /etc/network/interfaces or files included from it. Replace the example interface and documentation-only address with the values supplied by your provider.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
# Router advertisements (SLAAC)
iface eno1 inet6 auto

# DHCPv6
iface eno1 inet6 dhcp

# Static address and gateway
iface eno1 inet6 static
    address 2001:db8::c0ca:1eaf/64
    gateway 2001:db8::1ead:ed:beef

Use one assignment mode for the interface unless your provider explicitly requires a combination. auto asks for router-advertisement-based configuration; dhcp requests DHCPv6; static uses the address and gateway you enter. The 2001:db8::/32 values above are reserved documentation examples and will not provide connectivity.

Rank #2
EVEO® Screen Cleaner Spray Kit (Streak-Free) TV Screen Cleaner for Smart TV, Lcd, LEd, Oled | Computer Screen Cleaner Spray and Wipe Microfiber Cloth - TV, Monitor, Laptop, iPad, Car - 6.7oz 1 Pack
  • Screen Cleaner is Your Screen’s New Bestfriend! - EVEO is proud to present a screen cleaner that’s perfectly suited for your TV. Meet your new screen cleaner, computer screen cleaner, laptop cleaner, iPad cleaner, Macbook,tv cleaner or any other electronic device. Our screen cleaner spray and wipe along with the included plush microfiber cloth, easily removes dust, fingerprints & other smudges on the screen’s surface. Clean effectively for a streak-free screen
  • Gentle on your Screens - Our screen cleaner spray and wipes is compatible to be used even for the most sensitive LCD, LED, CRT, and OLED screens in proper use. Be at ease knowing that this product is compatible with all the major brands: LG, SONY, Samsung, Sharp, iPad, iPhone, Android screens, Kindle, PC monitors - we’ve got you covered! Can be used as LCD screen cleaner, tv cleaner, smart tv screen cleaner, and more
  • Premium Super Soft Plush Microfiber Cloth - Included in this efficient screen cleaning kit. This screen cleaner spray and wipe has our signature plush microfiber cloth specially designed to comply with screens and monitors and leave them streak-free. Has been shown to effectively absorbs stubborn stains, zero streaks, and no fiber shedding. Always use this together with our screen cleaner for the best results
  • Easy-to-Use Screen Cleaner Kit + microfiber cleaning cloth - The EVEO Screen Cleaning Kit will easily be your new favorite tool when it comes to taking care of the things you love most, quick and easy solution for a streak-free screen. Simply screw on the sprayer gun on the screen cleaner bottle. Spray the cleaning liquid onto the microfiber cloth, then wipe the screen until desired cleanliness & shine is achieved.
  • Quality Screen Care Kit Worth Purchasing - Enjoy a convenient Screen Cleaner anytime, anywhere you need it. Your satisfaction is our top priority. We stand behind the quality of our products and that’s why, you shouldn’t be worrying at all. We manufacture the Best Screen Cleaner. and can be used for laptop cleaning kit, laptop screen cleaner, tv screen cleaner for smart tv. MacBook screen cleaner, monitor cleaner or screen cleaner spray for electronic devices with microfiber cleaning cloth

Apply the change with the ifupdown procedure appropriate to your server, preferably from the provider console or while an existing SSH session remains open. Immediately verify both the address and route again. If the route is wrong, restore the previous file from the console rather than repeatedly restarting networking over SSH.

Ubuntu and Netplan

Ubuntu systems managed by Netplan describe interfaces in YAML under /etc/netplan/. The exact keys depend on whether the provider expects SLAAC, DHCPv6, or a static address and route. Use the provider’s Ubuntu example for your release, preserve YAML indentation, and apply it with the Netplan command documented for your system. Then run:

ip -6 addr show
ip -6 route show

Some VPS images use NetworkManager or another renderer beneath Netplan. Check which renderer is active before editing a file; changing a file that is not used by the active manager has no effect.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Other managers and provider-specific images

NetworkManager profiles, systemd-networkd units, and cloud-init files use different syntax and precedence rules. Identify the active manager first, then edit its persistent configuration rather than mixing examples from Debian ifupdown and Ubuntu Netplan. Provider documentation is the authority for unusual gateway behavior, additional on-link routes, or a delegated prefix.

After applying any persistent configuration, confirm all of the following before closing your console session:

  • The global address is on the intended interface.
  • A default IPv6 route points to the provider’s gateway or route mechanism.
  • ping -6 and curl -6 reach known dual-stack destinations.
  • The configuration remains present after a controlled reboot.

Force command-line clients to use IPv6

Most applications choose a family from DNS and operating-system policy. When you need to prove or force IPv6, use the client’s family option instead of assuming the preference.

curl

curl normally tries IPv6 when a hostname has an IPv6 address and can fall back to IPv4 if the IPv6 connection fails. The explicit switches are:

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
Sale
BladeHawks RGB Gaming Mouse Pad Extra Large Extended 31.5x12 Inch-Black | LED mouse pad with 14 lighting modes, covers keyboard & mouse, anti-slip rubber base, waterproof surface, USB powered
  • 【Large size】:Measuring 800 x 300 mm/ 31. 5×12 inches, which is wider and taller than others. Large mouse pad can perfectly fit your keyboard and mouse of any size, and there is also ample space for peripherals such as phones, tablets, etc.
  • 【LED backlight mouse pad】:Blade Hawks RGB mouse pad provides 7 static modes and 7 dynamic modes will give you the options you are looking for. Power-off memory function remembers the last lighting mode you selected. The super glow fiber Chroma will give you a colorful gaming setup that you want.
  • 【Anti-slip rubber base】:Made from Natural rubber, this gaming mousepad will firmly grip your desktop, allowing you to enjoy the ultimate precision in the games you are most passionate about. It also comes with a texture that enhances this ability even further.
  • 【Smooth and waterproof surface】: Micro-textured cloth surface, for extremely precise mouse control and a smooth movement. When liquid splashes on the gaming mouse pad, it forms water droplets and slides down. Will not delay your work or gameplay.
  • 【Plug and play】: This mouse and keyboard pad is powered by USB, plug and play, no driver required. One button control light modes. Press one time to change the lighting mode, press twice to change the brightness, press and hold about 3 seconds turn ON/OFF.
curl -6 https://example.com/
curl -4 https://example.com/

Use -6 to test only IPv6 and -4 to establish whether the same URL works over IPv4. Add -v when you need to see DNS selection, the chosen address, and connection errors:

curl -6v https://example.com/

A literal IPv6 address in an HTTP or HTTPS URL must be enclosed in square brackets because colons already separate the port:

curl -6 'https://[2001:db8::10]/'

When using a literal address against a virtual-hosted web server, remember that the HTTP Host header and TLS certificate still normally need the site’s hostname; a successful TCP connection alone does not prove the application is configured for that name.

OpenSSH

Force the OpenSSH client to IPv6 with:

ssh -6 user@example.com

If this fails while ordinary ssh works, test the hostname’s AAAA record with dig, inspect the route, and verify that the remote sshd process is listening on IPv6. A server that has only an IPv4 listener cannot accept an IPv6 SSH connection even when the host itself has perfect IPv6 routing.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Make a server reachable over IPv6

Outbound tests from the VPS do not configure inbound services. The daemon must bind an IPv6 address or wildcard, and every firewall on the path must allow the service port.

Typical listener forms use an IPv6 wildcard or a bracketed literal address. For example, web-server configurations commonly use forms such as [::]:80 and [::]:443, or a specific address in brackets. Follow the syntax of the particular daemon; do not paste an Apache directive into an Nginx configuration.

Inspect listening sockets after changing the service:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
Sale
Vaydeer Wrist Rest for Keyboard and Mouse, Computer Ergonomic Wrist Support Pad, Soft Memory Foam Arm Cushion for Desk, Palm Hand Office Laptop Typing
  • 【Softer and More Comfortable】Vaydeer wrist rest has unique diamond pattern, which is the combination of softness and aesthetics. The materials of wrist rest are improved into higher quality memory foam and covered with silky smooth lycra. The computer wrist rest makes you as comfortable and cushiony as like rest your wrists on clouds.
  • 【Ergonomic Wrist Saver】The wrist rests for keyboard and mouse comes with a 17.32×3.15×0.83 inch keyboard wrist pad and a 5.94×3.15×0.83 inch mouse wrist support. Based on ergonomic design, the unique concave shape is the perfect fit for your wrist joints. The wrist rest pad fits most computer keyboards and laptops, improve hand and wrist posture, release your wrist and arm stress.
  • 【Non-Slip Rubber Bottom】Featuring an anti-skid silicone base on the bottom, this wrist keyboard support stays firmly in place on your desk, preventing the padding from sliding around, ensuring stable and consistent wrist support during extended computer sessions.
  • 【Better Experience & Pain Relief】Our keyboard arm rest is beneficial to alleviate the soreness caused by direct contact and friction between your arm and a hard desk surface, reducing the risk of wrist fatigue or carpal tunnel. The soft texture of memory foam can evenly distribute the pressure around your wrists and provide good support with just enough give.
  • 【Helpful in Multiple Scenarios】Whether you're working, studying, writing, typing, gaming, this keyboard and mouse rest combo is an essential accessory to add comfort and support to your hands and wrists. It’s also a great gift for men, women, family, friend, coworker, gamer, teacher, etc.
ss -lnt
ss -lnt6

The IPv6 listing should show the expected port. Then check the host firewall’s IPv6 rules separately from IPv4 rules. ip6tables is the IPv6 counterpart to iptables; nftables-based systems and firewall front ends may manage both families through a different configuration. Also check any provider-level firewall or security group.

Dual-stack socket behavior

Linux can represent an IPv4 listener and an IPv6 listener as one socket, depending on the net.ipv6.bindv6only setting and the daemon’s own socket options. The kernel documents value 0 as allowing IPv4-mapped connections on an IPv6 socket and value 1 as restricting that socket to IPv6; the documented default is 0.

This explains a common failure: adding a separate IPv6 listener can produce “address already in use” because an existing IPv6 wildcard socket is also accepting IPv4-mapped connections. Inspect the daemon configuration and current sockets before changing the kernel setting.

Persist a narrowly scoped sysctl change

sysctl reads and writes kernel parameters exposed under /proc/sys. A runtime write is temporary; a file under /etc/sysctl.d/ or /etc/sysctl.conf makes the setting persistent.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
sudo sysctl -w net.ipv6.bindv6only=1
printf '%sn' 'net.ipv6.bindv6only=1' | sudo tee /etc/sysctl.d/60-ipv6-sockets.conf
sudo sysctl --system

Only make this change when your application design requires separate IPv4 and IPv6 sockets. Reload or restart the daemon, verify both ss -lnt and ss -lnt6, and test each family. A global socket-policy change can break an application that expected one dual-stack listener.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Install diagnostic tools without mistaking packages for network service

If a minimal image lacks a command, use the distribution package manager. On Ubuntu, refresh package indexes with sudo apt update, then install only the utilities you need, such as curl, iproute2, openssh-client, dnsutils, traceroute, or a firewall front end.

sudo apt update
sudo apt install curl iproute2 openssh-client dnsutils traceroute

Installing a package supplies a program; it does not allocate an IPv6 prefix, create a provider route, publish a DNS record, or open an inbound firewall port. Those are provider, DNS, network, and service-configuration tasks.

Best Value
Sale
Under Desk Cable Management Tray No Drill, Metal Mesh Cable Management Under Desk with Clamp Mount, 2 Hole Cable Tray with Wire Management and Cord Organizer for Home Office Standing Desk
  • 【No Drill Mounted】Cable management tray can be assembled in as little as 3 minutes or less-simply. Side clips easily clampe the edge of desk, pass through the holes on the sides, and secure excess cables with baskets. Desk cable management supports inward or outward installation to meet your needs in different scenarios, and provides you with great convenience when collecting and organizing wires.
  • 【Rubber Pad Protects Desk】Wire organizer under desk built-in soft rubber pads on the clamp protect your desk from scratches, so you will not damage your furniture or office.
  • 【Sturdy and Beautiful】Cord management under desk is made of high-quality carbon steel and holds about 15 lbs. The wire basket has 2 holes on each side of the tray to enable your cables to pass freely. Cable baskets are suitable for desk thickness use from 0.4" to 2.4".
  • 【Space Saving & Keep Organized】Desk cable management tray holds all your power cords, outlet strips, USB hubs and computer transformers hidden from your feet, and the data cables will not enter the vacuum cleaner to keep your desk clean and tidy. Desk wire organizer is also suitable for use in the kitchen and outdoors.
  • 【Reduce Safety Risks】Cable tray under desk keeps all plugs away from your kids, no more worry about tripping. Using 2 holes wire tray saves extra space, helps you easily cabling and wire protection. The mesh design is not easy to accumulate dust, but avoids safety accidents caused by messy wires.

Troubleshoot by isolating the failing layer

Symptom Checks Most likely layer
No global IPv6 address ip -6 addr show; confirm the provider allocation and interface name Provider allocation or local interface configuration
Address exists but no Internet access ip -6 route show, then ping -6 Missing or incorrect default route/gateway
DNS has no AAAA answer dig AAAA host.example DNS publication, not Linux socket setup
curl -6 fails but curl -4 works curl -6v, route, local and provider firewalls, destination listener IPv6 path, firewall, or service listener
SSH works only by IPv4 ssh -6; on the server run ss -lnt6; inspect the AAAA record sshd listener, firewall, DNS, or remote route
“Address already in use” after adding IPv6 Inspect existing sockets and net.ipv6.bindv6only Dual-stack socket semantics
Works until reboot Check the active network manager’s persistent files Runtime-only address or route change
Local tests pass but external clients time out ss -lnt6, host IPv6 firewall, provider firewall, and destination DNS Inbound policy or missing public listener

Change one layer at a time. First establish that the interface owns a global address and default route. Next test outbound IPv6. Only then troubleshoot DNS, daemon binding, and inbound firewall rules. This order prevents a service configuration change from masking a provider routing problem.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A safe reboot-and-verification checklist

  1. Record the provider’s address/prefix, gateway method, interface name, and console URL.
  2. Keep an existing SSH connection and the provider console open.
  3. Save the distribution-specific persistent configuration.
  4. Apply it through ifupdown, Netplan, NetworkManager, systemd-networkd, or the provider’s documented mechanism.
  5. Run ip -6 addr show and ip -6 route show.
  6. Test ping -6, curl -6, and, if relevant, ssh -6.
  7. Confirm daemon listeners with ss -lnt6 and inspect IPv6 firewall rules.
  8. Reboot during a maintenance window, reconnect through the console if necessary, and repeat the address, route, client, and listener checks.

Key decisions when implementations differ

There is no single portable IPv6 configuration file for every VPS. Choose based on four axes:

  • Network manager: Netplan, ifupdown, NetworkManager, and systemd-networkd have different syntax and apply commands.
  • Address assignment: static, SLAAC, and DHCPv6 require different settings and provider support.
  • Provider routing: gateways, on-link routes, and delegated prefixes vary by vendor and image.
  • Service and firewall model: daemons may use one dual-stack socket or separate sockets, while IPv6 filtering may be managed independently from IPv4.

When documentation conflicts, use the instructions matching both your Linux release and the provider’s current image. Verify the resulting kernel state with ip and ss rather than assuming that a successful configuration command means IPv6 is usable.

Frequently Asked Questions

Why does a link-local IPv6 address not prove that my VPS has Internet IPv6?

A link-local address in fe80::/10 is valid only on the local network segment. Internet connectivity requires a provider-assigned global address and a usable default route, which you can verify with ip -6 addr show and ip -6 route show.

Why does curl use IPv4 even though DNS has an IPv6 address?

By default, curl can try IPv6 and fall back to IPv4 when the IPv6 connection fails. Run curl -6v to force IPv6 and expose whether the failure is DNS, routing, firewall, or the destination service.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Can I make an IPv4-only daemon reachable over IPv6 just by adding a DNS AAAA record?

No. The daemon must listen on an IPv6 socket, and the host and provider firewalls must allow the port. Confirm the listener with ss -lnt6 before testing from outside.

Should I set net.ipv6.bindv6only=1 on every VPS?

No. The documented default is 0, which permits IPv4-mapped connections on an IPv6 socket. Set it to 1 only when the application requires separate IPv4 and IPv6 sockets, and test for port conflicts after changing it.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.