Skip to content
Beginner / 5 min read

Why Your IP Address Doesn't Change with a WireGuard VPN (and How to Verify It)

Learn how to check whether your IP address actually changes when you connect through a WireGuard VPN or SOCKS5 proxy, why it sometimes stays the same, and how to fix common causes like split tunneling, DNS leaks, and browser caching.

Windows macOS WireGuard Privacy/Anonymity

Overview

If you have ever asked does my IP address change with a VPN? or tried to change my IP address and seen the same public IP, you are not alone. A WireGuard VPN or SOCKS5 proxy is supposed to mask your original IP, but misconfiguration can leave it exposed.

This tutorial shows you exactly how to verify your IP before and after connecting, and how to troubleshoot the most common reasons it does not change. You can use any WireGuard provider, including business-grade options like NordLayer that offer dedicated gateways and flat monthly billing.

Prerequisites

  • A WireGuard VPN account (for example, NordLayer) or a SOCKS5 proxy.
  • The WireGuard client installed on Windows or macOS.
  • Access to a terminal (Command Prompt, PowerShell, or Terminal).
  • Basic familiarity with copying and pasting commands.

How to Check Your IP Address

Before you connect to any VPN or proxy, record your baseline IP. You will compare it after connecting.

Method 1: Using curl in the terminal

On Windows (Command Prompt or PowerShell) and macOS, run:

curl -s https://api.ipify.org

You can also use:

curl -s https://ifconfig.me

Method 2: Using a web browser

Visit a site like whatismyip.com or ipinfo.io and note the IP address shown. Keep this tab open or write the IP down.

Steps

  1. Record your original IP address.
    Run curl -s https://api.ipify.org in your terminal. Write down the result. This is your real IP.

  2. Connect to your WireGuard VPN.

    • On Windows: open the WireGuard client, select your tunnel (for example, a NordLayer gateway), and click Activate.
    • On macOS: open the WireGuard app, toggle the tunnel on, and confirm the connection.
  3. Verify the IP after connection.
    In a new terminal window, run the same command again:

    curl -s https://api.ipify.org
    

    If the IP is different from step 1, your VPN is changing your IP. If it is the same, continue to the troubleshooting section.

  4. Test from your browser as well.
    Refresh the IP-check website from step 1. The browser should show the same new IP as the terminal. If the browser shows a different IP, you likely have a proxy or browser extension interfering.

  5. Check for DNS leaks (optional but recommended).
    A DNS leak can reveal your real location even when your IP changes. Visit a DNS leak test site such as dnsleaktest.com and run the standard test. If your ISP's DNS servers appear, you have a leak.

  6. If the IP has not changed, check your WireGuard configuration for split tunneling.
    Open your WireGuard configuration file (usually a .conf file). Look for the AllowedIPs line under [Peer]:

    [Peer]
    PublicKey = <server-public-key>
    Endpoint = <server-ip>:51820
    AllowedIPs = 0.0.0.0/0, ::/0
    

    0.0.0.0/0 means all IPv4 traffic goes through the VPN. If you see a narrower range (e.g., 10.0.0.0/8), only some traffic is routed, so your public IP may not change for normal browsing. Change it to 0.0.0.0/0, ::/0 to force full-tunnel mode.

  7. Check for browser proxy settings that override the VPN.
    If you previously configured a SOCKS5 proxy in your browser, it may be sending traffic through the proxy instead of the VPN.

    • In Chrome: go to Settings > System > Open your computer's proxy settings.
    • In Firefox: go to Settings > Network Settings > Settings.
      Set it to No proxy or Use system proxy settings so the VPN can take effect.
  8. Clear browser cache and restart the browser.
    Some sites cache your IP or use WebRTC, which can reveal your real IP even behind a VPN. Clear your cache and restart the browser, then test again.

  9. If you are using a SOCKS5 proxy instead of a VPN, verify it is active.
    Run a curl command through the proxy:

    curl --proxy socks5://127.0.0.1:1080 -s https://api.ipify.org
    

    Replace 127.0.0.1:1080 with your proxy address and port. If the output is your real IP, the proxy is not being used.

Troubleshooting

  • VPN connected but IP unchanged: Most often caused by split tunneling (AllowedIPs not set to 0.0.0.0/0). Reconfigure the tunnel to full-tunnel mode.
  • Browser shows real IP while terminal shows VPN IP: A browser proxy, extension, or WebRTC leak. Disable proxy extensions and check WebRTC settings.
  • IPv6 leak: If your ISP supports IPv6, your real IPv6 address may still be exposed. Either disable IPv6 on your network adapter or ensure your WireGuard config includes ::/0 in AllowedIPs.
  • DNS leak: Even with a changed IP, DNS requests may go to your ISP. Use a VPN provider that routes DNS through the tunnel, or manually set DNS servers to a public resolver like 1.1.1.1 inside the WireGuard config.
  • Proxy conflict: If you have both a system-wide VPN and a per-app SOCKS5 proxy, they can conflict. Disable one when testing the other.

When to Use NordLayer WireGuard vs. a SOCKS5 Proxy

NordLayer provides WireGuard-based VPN tunnels with dedicated gateways and flat monthly billing, aimed at teams that need secure network access. It is a good fit when you need system-wide IP changes for all applications and you want centralized management.

A SOCKS5 proxy is better for per-application routing (for example, only your scraper or browser) and does not encrypt traffic by default. Use a proxy when you need granular control; use a WireGuard VPN when you need to change your IP for the whole device.

Summary

Verifying that your IP address actually changes is the first step to staying private or avoiding geo-blocks. Use curl or a web tool to compare your IP before and after connecting. If it does not change, check for split tunneling, browser proxy settings, DNS leaks, and IPv6 leaks. A full-tunnel WireGuard VPN such as NordLayer can reliably change your public IP across all applications, while SOCKS5 proxies are better for app-specific use cases.