No Internet Access But Connected: Complete Fix Guide (Wi-Fi & Ethernet)
Fix 'No Internet Access But Connected' on Wi-Fi or Ethernet. Step-by-step commands to flush DNS, renew IP, reset TCP/IP stack, and restore connectivity fast.
- Root cause 1: Your device obtained an APIPA address (169.254.x.x) or a private IP that cannot reach the gateway — usually caused by a failed DHCP handshake, a faulty router, or a misconfigured network adapter.
- Root cause 2: DNS resolution is broken or the DNS cache is poisoned/stale — the adapter is online but cannot translate domain names, so browsers show 'No Internet' even though the physical link is up.
- Root cause 3: The TCP/IP stack, Winsock catalog, or network adapter driver is corrupted, or a VPN/firewall/proxy is intercepting traffic and blocking the default gateway.
- Quick fix summary: Run 'ipconfig /flushdns', 'ipconfig /release && ipconfig /renew', and 'netsh int ip reset' in an elevated command prompt, then restart your adapter and router. Most cases resolve within 5 minutes.
| Method | When to Use | Time | Risk |
|---|---|---|---|
| Flush DNS & Renew IP (ipconfig) | Stale DNS cache, APIPA address (169.254.x.x), or DHCP lease expired | 2 min | None — fully reversible |
| Reset TCP/IP Stack (netsh int ip reset) | Corrupted TCP/IP stack after software install, malware, or Windows update | 5 min + reboot | Low — resets IP config to defaults |
| Reset Winsock Catalog (netsh winsock reset) | Third-party software or VPN corrupted the Winsock layer | 5 min + reboot | Low — may need to reinstall some network apps |
| Change DNS Servers to 8.8.8.8 / 1.1.1.1 | ISP DNS is down or returning NXDOMAIN for all queries | 3 min | None — easily reversed |
| Reinstall / Roll Back Network Adapter Driver | Driver crash, bad Windows Update, or 'Code 43' device error in Device Manager | 10–15 min | Medium — driver re-detection required |
| Router Power Cycle & Factory Reset | All devices on the network have no internet; router firmware issue or NAT table full | 5–20 min | Medium — factory reset clears custom settings |
| Disable IPv6 on Adapter | IPv6-only traffic causing fallback failures on ISP networks that don't support it | 2 min | Low — IPv4 still works normally |
| Release APIPA / Static IP Conflict Fix | Two devices share the same IP (conflict), or DHCP server is unreachable | 5 min | Low |
Understanding the 'No Internet Access But Connected' Error
When Windows, macOS, or Linux reports that your device is connected to a network but has no internet access, it means one of two things: either the physical or wireless link is established but IP-layer routing is broken, or the device can reach the local network but cannot communicate with the broader internet. This distinction is critical for choosing the right fix.
On Windows, you will see a yellow exclamation mark on the network icon in the system tray and the tooltip 'No Internet access' or 'Limited connectivity'. On macOS, you may see 'Connected, No Internet' in Network Preferences. On Ubuntu/Debian systems, NetworkManager often shows the interface as 'connected (site only)' or the terminal returns 'Network is unreachable' when you ping 8.8.8.8.
Step 1: Identify the Exact Failure Point
Before running fixes blindly, determine where the chain breaks.
Check your assigned IP address:
Open an elevated Command Prompt (Windows) or Terminal (macOS/Linux) and run:
ipconfig /all # Windows
ifconfig # macOS/older Linux
ip addr show # Modern Linux
Look at the IPv4 address field for your active adapter:
169.254.x.x— This is an APIPA (Automatic Private IP Addressing) address. Your device never received a valid IP from the DHCP server. The router or DHCP service is the problem.10.x.x.x,192.168.x.x, or172.16–31.x.x— You have a valid private IP. The problem is upstream (DNS, gateway, ISP).- No address listed — The adapter itself is not initializing. Driver or hardware issue.
Ping your default gateway:
ipconfig | findstr "Default Gateway" # Windows — note the gateway IP
ping 192.168.1.1 # Replace with your actual gateway IP
If the gateway ping fails, the problem is between your device and the router (bad cable, wrong IP, Wi-Fi association issue).
If the gateway ping succeeds, ping an external IP:
ping 8.8.8.8
If 8.8.8.8 is unreachable but the gateway responds, the router itself has no WAN connection — reboot the router or contact your ISP.
If 8.8.8.8 responds but websites don't load, DNS is the culprit:
nslookup google.com 8.8.8.8
If this returns an IP but your browser still fails, check for a proxy or firewall intercepting HTTP/HTTPS traffic.
Step 2: Fix DHCP and IP Address Issues
This resolves APIPA addresses and stale DHCP leases, which account for the majority of 'no internet but connected' cases on both Wi-Fi and Ethernet.
Windows (Run as Administrator):
ipconfig /release
ipconfig /flushdns
ipconfig /renew
After renewal, run ipconfig /all again. Confirm the IPv4 address is no longer in the 169.254.x.x range and that the Default Gateway is populated.
macOS:
Go to System Preferences → Network → select your adapter → Advanced → TCP/IP tab → click 'Renew DHCP Lease'. Or via Terminal:
sudo ipconfig set en0 DHCP # Replace en0 with your interface name
Linux (NetworkManager):
sudo nmcli con down "YourConnectionName" && sudo nmcli con up "YourConnectionName"
# Or using dhclient:
sudo dhclient -r eth0 && sudo dhclient eth0
Step 3: Reset the TCP/IP Stack and Winsock (Windows)
If renewing the IP doesn't help, the TCP/IP stack itself may be corrupted. This often happens after malware removal, a bad Windows Update (KB updates have historically broken network stacks), or certain VPN client uninstalls.
Run all four commands in sequence (elevated CMD):
netsh int ip reset
netsh int ipv6 reset
netsh winsock reset
netsh advfirewall reset
Restart your computer after running these commands. Windows will rebuild the network configuration from scratch.
Step 4: Change DNS Servers
If your ISP's DNS is down or returning bad responses, switching to a public DNS resolver fixes the 'connected but no internet' symptom immediately.
Windows:
- Open Control Panel → Network and Internet → Network Connections.
- Right-click your active adapter → Properties.
- Select 'Internet Protocol Version 4 (TCP/IPv4)' → Properties.
- Select 'Use the following DNS server addresses'.
- Preferred:
8.8.8.8(Google) or1.1.1.1(Cloudflare) - Alternate:
8.8.4.4or1.0.0.1 - Click OK, then flush DNS:
ipconfig /flushdns
macOS: System Preferences → Network → Advanced → DNS tab → remove existing servers → add 1.1.1.1 and 8.8.8.8.
Linux:
sudo nano /etc/resolv.conf
# Add or replace nameserver lines:
nameserver 1.1.1.1
nameserver 8.8.8.8
Step 5: Reinstall or Roll Back the Network Adapter Driver
Specifically relevant for laptop no internet access but connected scenarios after Windows Updates.
- Press
Win + X→ Device Manager. - Expand 'Network Adapters'.
- Right-click your Wi-Fi or Ethernet adapter → 'Update driver' or 'Roll Back Driver'.
- If rolling back is greyed out, choose 'Uninstall device', check 'Delete the driver software for this device', then restart Windows to auto-reinstall.
For ethernet no internet access but connected: also check the cable itself. Run:
netsh interface show interface
Look for 'Connected' status on the Ethernet adapter. If it shows 'Disconnected', the cable or port is faulty — swap the cable or try a different router port.
Step 6: Check for VPN, Proxy, and Firewall Interference
A VPN that is partially connected or a system proxy set to a non-existent address will cause exactly the 'connected but no internet' symptom.
Check and disable system proxy (Windows):
netsh winhttp show proxy
netsh winhttp reset proxy
Also check: Settings → Network & Internet → Proxy → toggle 'Use a proxy server' to Off.
Disable any active VPN client, then test connectivity. If internet is restored, reconfigure the VPN's split-tunneling settings or reinstall the VPN client.
Step 7: Router-Level Fixes
If all devices on the network have no internet but show as connected, the issue is the router or the ISP link.
- Power cycle: Unplug the router and modem from power. Wait 60 seconds. Plug in the modem first, wait 30 seconds for it to sync, then plug in the router.
- Check WAN/Internet LED: A solid or blinking WAN light usually means ISP link is up. A dead WAN LED means call your ISP.
- Log into router admin (usually
192.168.1.1or192.168.0.1): Check the WAN status page. If it shows 'Disconnected' or an APIPA address on the WAN side, the router itself cannot get an IP from the ISP — contact your ISP. - Check NAT table / connection tracking: On heavily loaded routers, the NAT table can fill up. Reboot resolves this temporarily; long-term, limit connected devices or upgrade hardware.
Step 8: Disable IPv6 as a Last Resort
Some ISP networks have buggy IPv6 implementations that cause the OS to prefer IPv6 but receive no valid routes, blocking all traffic.
Windows:
netsh interface ipv6 set global randomizeidentifiers=disabled
netsh interface ipv6 set privacy state=disabled
Or permanently: Control Panel → Network Connections → Adapter Properties → uncheck 'Internet Protocol Version 6 (TCP/IPv6)'.
Linux:
echo 'net.ipv6.conf.all.disable_ipv6 = 1' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
Frequently Asked Questions
#!/usr/bin/env bash
# =============================================================
# Network Connectivity Diagnostic & Auto-Fix Script
# Works on Windows (run in Git Bash / WSL or adapt for CMD),
# macOS, and Linux.
# =============================================================
echo "========================================="
echo " Network Connectivity Diagnostic Script"
echo "========================================="
# --- Step 1: Show current IP configuration ---
echo ""
echo "[1/7] Current IP Configuration:"
if command -v ip &> /dev/null; then
ip addr show
elif command -v ifconfig &> /dev/null; then
ifconfig
else
echo "Run 'ipconfig /all' in CMD (Windows)"
fi
# --- Step 2: Detect default gateway ---
echo ""
echo "[2/7] Default Gateway:"
if command -v ip &> /dev/null; then
GATEWAY=$(ip route | grep default | awk '{print $3}' | head -1)
echo "Gateway: $GATEWAY"
else
echo "Run: ipconfig | findstr 'Default Gateway' (Windows)"
GATEWAY="192.168.1.1" # fallback for demo
fi
# --- Step 3: Ping the gateway ---
echo ""
echo "[3/7] Pinging default gateway ($GATEWAY):"
if ping -c 3 -W 2 "$GATEWAY" &> /dev/null; then
echo "SUCCESS: Gateway is reachable."
else
echo "FAIL: Cannot reach gateway. Check cable/Wi-Fi association or router."
fi
# --- Step 4: Ping external IP (no DNS) ---
echo ""
echo "[4/7] Pinging 8.8.8.8 (external IP, no DNS):"
if ping -c 3 -W 2 8.8.8.8 &> /dev/null; then
echo "SUCCESS: Internet routing is working. DNS may be the issue."
else
echo "FAIL: Cannot reach internet. Router WAN link may be down."
fi
# --- Step 5: DNS resolution test ---
echo ""
echo "[5/7] DNS Resolution Test (google.com via 8.8.8.8):"
if command -v nslookup &> /dev/null; then
nslookup google.com 8.8.8.8
elif command -v dig &> /dev/null; then
dig @8.8.8.8 google.com +short
else
echo "nslookup or dig not found. Install dnsutils (Linux) or use CMD on Windows."
fi
# --- Step 6: Flush DNS cache (platform-specific) ---
echo ""
echo "[6/7] Flushing DNS Cache:"
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
if systemctl is-active --quiet systemd-resolved; then
sudo systemd-resolve --flush-caches && echo "DNS cache flushed (systemd-resolved)."
elif command -v nscd &> /dev/null; then
sudo nscd -i hosts && echo "DNS cache flushed (nscd)."
else
echo "No DNS cache service detected."
fi
elif [[ "$OSTYPE" == "darwin"* ]]; then
sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder
echo "DNS cache flushed (macOS)."
else
echo "On Windows CMD (run as Admin):"
echo " ipconfig /flushdns"
echo " ipconfig /release"
echo " ipconfig /renew"
fi
# --- Step 7: Windows-specific reset commands (reference) ---
echo ""
echo "[7/7] Windows Fix Commands (run in elevated CMD if needed):"
echo " netsh int ip reset"
echo " netsh int ipv6 reset"
echo " netsh winsock reset"
echo " netsh advfirewall reset"
echo " netsh winhttp reset proxy"
echo " ipconfig /flushdns"
echo " ipconfig /release"
echo " ipconfig /renew"
echo ""
echo "After running Windows commands, REBOOT your machine."
echo "========================================="
echo " Diagnostic complete. Review output above."
echo "========================================="Error Medic Editorial
The Error Medic Editorial team is composed of senior DevOps engineers, SREs, and network administrators with a combined 40+ years of experience diagnosing connectivity failures across cloud infrastructure, enterprise LANs, and consumer networks. Our guides are tested on real hardware and verified against official vendor documentation before publication.
Sources
- https://support.microsoft.com/en-us/windows/fix-wi-fi-connection-issues-in-windows-9424a1f7-6a3b-65a6-4d78-7f07eee84d2c
- https://docs.microsoft.com/en-us/windows-server/networking/technologies/netsh/netsh-contexts
- https://superuser.com/questions/894819/windows-10-no-internet-access-but-connected
- https://support.apple.com/en-us/HT204730
- https://wiki.archlinux.org/title/Network_configuration/Wireless#Troubleshooting
- https://developers.cloudflare.com/1.1.1.1/setup/