Skip to content

VPN Connection Troubleshooting

This guide explains exactly how ARROW devices establish VPN connections, what ports are required, and how to diagnose and resolve connectivity issues.

ARROW uses NetBird, an open-source VPN built on WireGuard, for secure device connectivity. NetBird uses several techniques to establish connections:

ARROW Device → Internet → NetBird Cloud Services → Your VPN Client
1. Management API (control plane)
2. Signal Service (coordination)
3. STUN (NAT traversal)
4. TURN/Relay (fallback)
  1. Management Connection: Device authenticates with NetBird’s management API
  2. Signal Exchange: Devices exchange connection information via the signal service
  3. Direct P2P Attempt: Using STUN, devices try to establish a direct WireGuard tunnel
  4. Relay Fallback: If direct connection fails, traffic routes through relay servers

The following ports must be allowed outbound from the network where the ARROW device is deployed:

ServiceDestinationProtocolPort(s)Purpose
Management API[org].arrowvpn.ioTCP443Authentication & control plane
Signal Service[org].arrowvpn.ioTCP443Peer coordination
ServiceDestinationProtocolPort(s)Purpose
STUN[org].arrowvpn.ioUDP80, 443, 3478, 5555NAT traversal for direct connections
ServiceDestinationProtocolPort(s)Purpose
TURN[org].arrowvpn.ioUDP80, 443Relay fallback
TURN[org].arrowvpn.ioTCP443-65535Relay fallback (TCP)
Relay*.arrowvpn.ioTCP443Relay servers

For IT teams, here’s the complete list to whitelist (replace [org] with your organization’s subdomain):

# Essential (must have)
[org].arrowvpn.io:443/tcp
# NAT Traversal (strongly recommended)
[org].arrowvpn.io:80/udp
[org].arrowvpn.io:443/udp
[org].arrowvpn.io:3478/udp
[org].arrowvpn.io:5555/udp
# Relay Fallback (required if direct P2P blocked)
[org].arrowvpn.io:80/udp
[org].arrowvpn.io:443/udp
[org].arrowvpn.io:443-65535/tcp
# Or simply whitelist all ARROW VPN traffic:
*.arrowvpn.io:443/tcp
*.arrowvpn.io:80-65535/udp

1. Corporate Firewall Blocking Unknown Traffic

Section titled “1. Corporate Firewall Blocking Unknown Traffic”

Symptoms:

  • Device appears offline in ARROW Portal
  • VPN shows “Disconnected” or “Connecting…” indefinitely
  • Device works on home/mobile networks but not corporate

Cause: Egress firewall blocks outbound connections to unknown destinations

Solution: Request the IT team whitelist the NetBird endpoints listed above

2. Deep Packet Inspection (DPI) Blocking WireGuard

Section titled “2. Deep Packet Inspection (DPI) Blocking WireGuard”

Symptoms:

  • Initial connection appears to work, then drops
  • Intermittent connectivity
  • “Connection timeout” errors

Cause: DPI/IPS detects and blocks WireGuard protocol traffic

Solution:

  • Request WireGuard protocol be allowed
  • NetBird will fall back to relay over TCP/443 (looks like HTTPS)
  • Ensure TCP relay ports are open

Symptoms:

  • SSL/TLS errors in logs
  • “Certificate verification failed”
  • Works when bypassing proxy

Cause: Transparent proxy intercepts and re-signs HTTPS traffic

Solution:

  • Add NetBird domains to proxy bypass list
  • Configure proxy exception for *.netbird.io

Symptoms:

  • Connection works but is slow
  • High latency (>200ms) even on fast networks
  • “Relay” indicator in NetBird status

Cause: UDP traffic is blocked, forcing TCP relay

Solution:

  • Allow UDP ports 80, 443, 3478, 5555 outbound
  • Direct P2P connections (UDP) are faster than relay (TCP)

5. Captive Portal / Network Authentication

Section titled “5. Captive Portal / Network Authentication”

Symptoms:

  • Device worked initially, stopped after network change
  • “No internet” despite network connection

Cause: Network requires web authentication before allowing traffic

Solution:

  • Complete captive portal authentication
  • Use ethernet instead of guest WiFi when possible
Section titled “Use Arrow Manager VPN Connection Test (Recommended)”

Arrow Manager includes a built-in VPN Connection Test tool that checks connectivity to all required NetBird endpoints:

  1. Access Arrow Manager on the device
  2. Navigate to the Network or Diagnostics section
  3. Run the VPN Connection Test
  4. Review the results to see which endpoints are reachable and which are blocked

This test will show you exactly which ports/endpoints are being blocked by the client’s firewall without requiring manual command-line troubleshooting.

If you need to manually diagnose (via Arrow Manager terminal or SSH):

From the ARROW device (via Arrow Manager terminal or SSH):

Terminal window
# Test internet connectivity
ping -c 4 8.8.8.8
# Test DNS resolution
nslookup api.netbird.io
# Test management API
curl -I https://api.netbird.io

Expected results:

  • Ping should succeed
  • DNS should resolve to an IP
  • Curl should return HTTP 200 or 401
Terminal window
# Test TCP 443 to management
nc -zv api.netbird.io 443
# Test TCP 443 to signal
nc -zv signal.netbird.io 443
# Test UDP to STUN (requires netcat with UDP support)
nc -zuv stun.netbird.io 3478

Expected: “Connection succeeded” or “open” for each

Terminal window
# Check service status
sudo systemctl status netbird
# View recent logs
sudo journalctl -u netbird -n 50 --no-pager
# Check connection status
sudo netbird status

Look for:

  • Service should be “active (running)”
  • Status should show “Connected” with peer information
  • Logs should not show repeated “connection failed” messages
Terminal window
# Show detailed peer status
sudo netbird status -d

Check the connection type:

  • direct = P2P connection established (optimal)
  • relay = Traffic routing through relay (working but slower)
  • disconnected = No connection (firewall blocking)

If connections fail, capture what’s being blocked:

Terminal window
# Watch connection attempts (run as root)
sudo tcpdump -i any host api.netbird.io or host signal.netbird.io

Send this to the client’s IT team:


Subject: Firewall Rules Required for ARROW Device

We need the following outbound connections allowed for our ARROW device to establish VPN connectivity:

VPN Endpoint (replace [org] with your organization subdomain):

  • [org].arrowvpn.io

Required Ports:

  • TCP 443 (management, signal, relay)
  • UDP 80, 443, 3478, 5555 (NAT traversal)

Simplest Option - Whitelist all ARROW VPN traffic:

  • *.arrowvpn.io on TCP 443 and UDP 80-65535

Notes:

  • All connections are outbound only (no inbound required)
  • Traffic is encrypted (WireGuard/TLS)
  • Your specific VPN address was provided during onboarding

If the client cannot or will not open required ports, ARROW devices include cellular failover:

  1. The device will automatically fall back to cellular if ethernet VPN fails
  2. Cellular connections bypass corporate firewalls entirely
  3. This is intended as a fallback, not primary connectivity

If the device shows completely offline (not even on cellular), check the following:

  • Power Button: There is a power button on the side of the ARROW device. Press it to turn on the device.
  • LED Indicator: Check for LED lights on the device - these indicate power status:
    • LED On (solid or blinking): Device has power and is running
    • LED Off: Device is not powered on - press the power button
  • This is rare, but devices may be shipped powered off or accidentally turned off

If the device has power (LED on) but still not connecting via cellular:

  • Weak Signal Area: The device may be in a location with poor cellular coverage
  • Indoor Placement: Cellular signal can be weak in basements, server rooms, or buildings with thick walls
  • Antenna Position: Ensure the device antenna (if external) is properly connected

Solutions:

  • Move the device closer to a window or exterior wall
  • Try a different location in the building
  • Consider an external antenna extension if available

If cellular signal is unavailable, you can configure the device to use WiFi:

  1. Access Arrow Manager via the device’s WiFi hotspot (during initial setup)
  2. Configure WiFi settings to connect to an available network
  3. The device will use WiFi for VPN connectivity
StatusMeaning
🟢 OnlineVPN connected, device healthy
🟡 DegradedConnected via relay (slow) or intermittent
🔴 OfflineNo VPN connection
⚪ UnknownWaiting for first connection
VPN StatusMeaning
ConnectedFull connectivity established
ConnectingAttempting to establish connection
DisconnectedNot connected (check firewall)
ErrorService error (check logs)

If you’ve verified firewall rules are correct and connectivity still fails:

  1. Collect diagnostics:

    Terminal window
    sudo netbird status -d > /tmp/netbird-status.txt
    sudo journalctl -u netbird --since "1 hour ago" > /tmp/netbird-logs.txt
  2. Note the following:

    • Device hostname (PVE-XXXX)
    • Client network configuration (proxy, DPI, etc.)
    • Time of last successful connection
    • Error messages from logs
  3. Contact VTEM Labs support with the above information