> ## Documentation Index
> Fetch the complete documentation index at: https://docs.digitalfyre.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Network Connectivity Issues

If your VPS cannot reach the internet, services are unreachable from outside, or connectivity is intermittent, work through the following steps.

## Step 1: Verify the Server Is Running

Check your server's power state in the Client Portal. If stopped, start it. See [Server Not Responding](/vps/troubleshooting/server-not-responding) if the server appears to be running but is completely unreachable.

## Step 2: Test from Both Sides

**From your local machine to the server:**

```bash lines theme={"theme":{"light":"light-plus","dark":"ayu-dark"}}
ping YOUR_SERVER_IP
traceroute YOUR_SERVER_IP
```

**From the server to the internet** (connect via [VNC](/vps/client-portal/vnc-console) if SSH is unavailable):

```bash expandable lines theme={"theme":{"light":"light-plus","dark":"ayu-dark"}}
# Test basic connectivity
ping 8.8.8.8

# Test DNS resolution
ping google.com

# If DNS fails, check resolvers
cat /etc/resolv.conf
```

This confirms whether the problem is inbound, outbound, or both directions.

## Step 3: Check the Network Interface

```bash expandable lines theme={"theme":{"light":"light-plus","dark":"ayu-dark"}}
# Check interfaces and assigned IPs
ip addr show

# Check default route
ip route show
```

**No IP on the interface** — Reconfigure networking:

```bash lines theme={"theme":{"light":"light-plus","dark":"ayu-dark"}}
netplan apply              # Ubuntu / Debian
systemctl restart NetworkManager  # RHEL-based
```

**No default route** — Without a default gateway, the server cannot reach anything outside its local subnet. Check your network configuration files for the correct gateway.

## Step 4: Check Firewall Rules

A misconfigured firewall is one of the most common causes of connectivity issues:

<Tabs>
  <Tab title="iptables">
    ```bash expandable lines theme={"theme":{"light":"light-plus","dark":"ayu-dark"}}
    # List all rules
    iptables -L -n -v

    # Check default policy
    iptables -L -n | grep policy

    # Temporarily flush rules to test
    iptables -F
    ```
  </Tab>

  <Tab title="firewalld (RHEL-based)">
    ```bash lines theme={"theme":{"light":"light-plus","dark":"ayu-dark"}}
    firewall-cmd --list-all
    ```
  </Tab>

  <Tab title="ufw (Ubuntu)">
    ```bash lines theme={"theme":{"light":"light-plus","dark":"ayu-dark"}}
    ufw status verbose
    ```
  </Tab>
</Tabs>

<Warning>
  Disabling the firewall exposes your server to all inbound traffic. Only do this temporarily to confirm the firewall is the cause, then fix the specific rule rather than leaving it disabled.
</Warning>

## Step 5: Check Service Binding

If the server is reachable but a specific service is not:

```bash lines theme={"theme":{"light":"light-plus","dark":"ayu-dark"}}
# Check if the service is listening on the expected port
ss -tlnp | grep :PORT
```

If the service is listening on `127.0.0.1` only, it will not accept external connections. It needs to be configured to listen on `0.0.0.0` or your server's public IP.

## Step 6: Check DNS Resolution

If you can reach IP addresses but not domain names:

```bash lines theme={"theme":{"light":"light-plus","dark":"ayu-dark"}}
dig google.com
cat /etc/resolv.conf
```

If `/etc/resolv.conf` is empty or unreachable, add public resolvers:

```bash lines theme={"theme":{"light":"light-plus","dark":"ayu-dark"}}
echo "nameserver 1.1.1.1" > /etc/resolv.conf
echo "nameserver 8.8.8.8" >> /etc/resolv.conf
```

<Info>
  Some OS configurations regenerate `/etc/resolv.conf` on reboot. For a persistent fix, configure DNS through your network manager (Netplan or NetworkManager) rather than editing the file directly.
</Info>

## Step 7: Contact Support

If the network interface is configured correctly, the firewall is not blocking traffic, and the server can reach its gateway but still cannot communicate externally, the issue may be at the infrastructure level. Contact support at [console.digitalfyre.com](https://console.digitalfyre.com) and include:

* Your server IP address
* Output of `ping 8.8.8.8` from the server via VNC
* Output of `traceroute 8.8.8.8` from the server
* Output of `ip addr show` and `ip route show`
* When the issue started
