Skip to main content

Overview

WireGuard multihop routes your VPN traffic through two servers instead of one, adding an extra layer of privacy and making it significantly harder to trace your connection back to you. With multihop:
  • Traffic goes: Your Device → Entry Server → Exit Server → Internet
  • Entry server knows your real IP but not your destination
  • Exit server knows your destination but not your real IP
  • No single server sees both your identity and your activity
Multihop is available on all platforms: Windows, Linux, macOS, Android, and iOS.

How Multihop Works

Connection Flow

Double Encryption

Multihop uses nested WireGuard tunnels:
  1. Outer tunnel: Your device → Entry server (first layer of encryption)
  2. Inner tunnel: Entry server → Exit server (second layer of encryption)
  3. Your traffic: Encrypted twice until it reaches the exit server
The entry server cannot see your final destination because it’s encrypted in the inner tunnel. The exit server cannot see your real IP because you’re connecting from the entry server.

Privacy Benefits

Enabling Multihop

Using the GUI

1

Open Multihop Settings

Navigate to SettingsVPN settingsMultihop
2

Enable Multihop

Toggle Enable to On
3

Select Servers (Optional)

  • Entry server: First hop (closer to your location)
  • Exit server: Final hop (where your traffic exits)
  • Leave on Auto for optimal selection
4

Reconnect

The app will reconnect through two servers

Using the CLI

Verify Multihop is Active

Output should show both entry and exit servers:

Server Selection

Automatic Selection

Mullvad automatically chooses optimal servers based on:
  • Geographic proximity: Entry server closer to you
  • Load balancing: Distributes load across servers
  • Compatibility: Ensures both servers support required features

Manual Selection

Choose specific entry and exit locations:

Server Pairing Rules

Entry and exit servers must be different. The app will reject configurations where both servers are the same.
Additional constraints:
  • Entry and exit servers must both support WireGuard
  • Both servers must support required features (DAITA, quantum resistance, etc.)
  • Some obfuscation protocols may limit server selection

Performance Impact

Expected Overhead

  • Latency: Additional 20-50ms due to extra hop
  • Speed: Slight reduction (typically 10-20%) from double encryption
  • Connection time: Longer initial connection (extra tunnel setup)

Factors Affecting Performance

  1. Geographic distance: Greater distance between servers = higher latency
  2. Server load: Congested servers impact speed
  3. Network path: Quality of connection between entry and exit servers
For optimal performance, choose entry and exit servers in nearby regions. For example: Germany → Netherlands instead of Australia → USA.

Bandwidth Considerations

Multihop uses approximately:
  • 1.05x bandwidth of single-hop (minimal overhead from tunnel headers)
  • Same encryption efficiency (no extra padding unless DAITA enabled)

Use Cases

When to Use Multihop

Recommended for:
  • High-risk journalism or whistleblowing
  • Accessing content in restricted countries
  • Maximum anonymity requirements
  • Protecting against compromised servers
  • Evading advanced traffic analysis

When Single-Hop is Sufficient

Not necessary for:
  • Casual browsing or streaming
  • Basic privacy protection
  • Performance-critical applications (gaming, video calls)
  • Limited bandwidth situations

Compatibility with Other Features

Multihop works with:

Multihop with DAITA

When using DAITA with multihop:
  • DAITA is applied at the entry server
  • Entry server must support DAITA
  • Exit server does not need DAITA support
  • “Direct only” mode affects entry server selection
With DAITA’s “Direct only” disabled, the app may automatically enable multihop when you select a non-DAITA server to ensure DAITA protection.

Multihop with Quantum Resistance

Both entry and exit tunnels will use quantum-resistant PSK exchange.

Multihop with Obfuscation

Obfuscation applies to the outer tunnel (device → entry server):

Security Considerations

Threat Model

Multihop protects against:
  • Compromised single server: No single server sees full picture
  • Correlation attacks: Harder to link entry and exit traffic
  • Surveillance at exit point: Your real IP is hidden
  • Traffic analysis: Additional obfuscation layer

What Multihop Does NOT Protect Against

Multihop does not protect against:
  • Compromise of both entry AND exit servers
  • Timing correlation attacks if adversary controls both servers
  • Traffic analysis if both servers are compromised
  • Global passive adversary monitoring all network links

Mullvad’s No-Logs Policy

Important notes:
  • Mullvad operates both servers (entry and exit)
  • Same privacy policy applies to all servers
  • No logs kept on any server
  • No cross-correlation between servers
Multihop adds defense-in-depth but does not replace Mullvad’s fundamental privacy guarantees. Both single-hop and multihop benefit from Mullvad’s strict no-logs policy.

Troubleshooting

Connection Issues

If multihop connection fails:
  1. Check server availability
  2. Try automatic selection
  3. Disable temporarily
  4. Check for conflicting settings
    • Ensure entry and exit servers are different
    • Verify both servers support required features

Performance Issues

If experiencing slow speeds:
  1. Choose closer servers: Reduce geographic distance
  2. Check server load: Try different servers
  3. Disable unnecessary features: If DAITA is enabled, consider disabling for better performance

Entry Server Override

When DAITA’s “Direct only” is disabled:
“The entry server for Multihop is currently overridden by DAITA.”
This means DAITA is automatically selecting the entry server to ensure DAITA coverage. To manually select the entry server:

Best Practices

Optimal Server Placement

Entry and exit in different countries:

Combining Features

For maximum protection:
Enabling all features maximizes security but significantly impacts performance. Evaluate your threat model and performance requirements.

Technical Details

Connection Configuration

From the source code (talpid-types/src/net/wireguard.rs:59-69):
When exit_peer is Some, multihop is active.

Endpoint Information

The entry endpoint is the first hop that receives your traffic:

Relay Selection Logic

The relay selector ensures:
  • Entry and exit servers are different
  • Both support required features (WireGuard, DAITA, etc.)
  • Compatible with obfuscation settings
  • Optimal based on location constraints

Platform-Specific Notes

Windows

  • Full multihop support
  • Native WireGuard driver (wireguard-nt)

Linux

  • Full multihop support
  • Kernel module or userspace (wireguard-go)

macOS

  • Full multihop support
  • Kernel extension

Android

  • Full multihop support
  • May impact battery life more than single-hop
  • Consider power management settings

iOS

  • Full multihop support
  • Efficient implementation
  • Minimal battery impact beyond single-hop

Migration and Settings

Upgrading from Single-Hop

Existing connections:
  1. Enable multihop in settings
  2. App automatically disconnects and reconnects
  3. Previous server becomes exit server (if compatible)
  4. Entry server automatically selected

Settings Persistence

Multihop configuration persists across:
  • App restarts
  • Device reboots
  • App updates
  • Server list updates

Further Reading