Overview
Local network access (also called “Allow LAN” or “Local network sharing”) controls whether your device can communicate with other devices on your local network while connected to Mullvad VPN. When enabled:- Access printers, NAS, file shares, media servers
- Connect to local services (home assistant, routers, IoT devices)
- Participate in local multiplayer games
- Use Chromecast, AirPlay, and local streaming
- Maximum security and privacy
- No local network communication
- Protection against local network attacks
Local network access is available on all platforms: Windows, Linux, macOS, Android, and iOS. On iOS, the local network is always accessible due to platform limitations.
How It Works
Without VPN (Normal Network Access)
VPN Connected with Local Network Access Disabled (Default)
VPN Connected with Local Network Access Enabled
Private IP Address Ranges
When local network access is enabled, Mullvad allows traffic to these private (non-routable) IP ranges:IPv4 Private Ranges
| Range | Description | Common Use |
|---|---|---|
10.0.0.0/8 | Class A private | Large networks, VPNs |
172.16.0.0/12 | Class B private | Medium networks |
192.168.0.0/16 | Class C private | Home networks |
169.254.0.0/16 | Link-local | Auto-configuration (APIPA) |
IPv6 Private Ranges
| Range | Description |
|---|---|
fe80::/10 | Link-local addresses |
fc00::/7 | Unique local addresses (ULA) |
Multicast Ranges (Outgoing Only)
When local network access is enabled, outgoing traffic to local multicast is allowed: IPv4 Multicast:224.0.0.0/24- Local subnet multicast239.0.0.0/8- Administratively scoped multicast (mDNS, SSDP)255.255.255.255/32- Broadcast
ff01::/16- Interface-local multicastff02::/16- Link-local multicastff03::/16- Realm-local multicastff04::/16- Admin-local multicastff05::/16- Site-local multicast
Multicast is used by service discovery protocols like mDNS (Bonjour), SSDP (UPnP), and device discovery.
Enabling Local Network Access
Using the GUI
Enable or Disable
- Toggle On to allow local network access
- Toggle Off to block local network access (maximum security)
Using the CLI
What You Can Access
When local network access is enabled:Network Services
✅ Accessible:- Printers: Network and WiFi printers
- File shares: SMB/CIFS, NFS, AFP
- Network storage: NAS devices, file servers
- Media servers: Plex, Jellyfin, DLNA
- Streaming devices: Chromecast, AirPlay, Roku
- Gaming: Local multiplayer, game servers on LAN
- IoT devices: Smart home hubs, lights, cameras
- Routers: Web interfaces, management panels
- Development servers: Local web servers, databases
Service Discovery Protocols
✅ Works:- mDNS/Bonjour: Discover devices (
.localdomains) - SSDP/UPnP: Media devices, DLNA
- NetBIOS: Windows network browsing
- SMB discovery: Network neighborhood
Security Implications
Risks of Enabling Local Network Access
When to Enable
✅ Safe to enable on:- Home networks: Trusted environment you control
- Office networks: Corporate networks with security measures
- Trusted private networks: Friends, family, known safe environments
When to Disable
❌ Should disable on:- Public WiFi: Coffee shops, airports, hotels
- Shared networks: Coworking spaces, libraries
- Untrusted networks: Any network you don’t control or trust
- Travel: Unfamiliar networks abroad
Best practice: Disable local network access by default. Enable only when needed and on trusted networks. Disable again when leaving home.
Use Cases
Home Office Setup
Media Streaming
Access local media servers and casting devices:- Enable local network access
- Connect to VPN
- Stream to Chromecast, use Plex, access NAS
- Internet traffic still goes through VPN
Gaming
Local multiplayer or LAN games:Development
Access local development servers:Private Custom DNS
Local network access is required for private custom DNS servers:- Private DNS servers (
192.168.x.x,10.x.x.x) are unreachable - DNS queries will fail
- Internet access may not work
Public custom DNS (e.g.,
8.8.8.8, 1.1.1.1) does not require local network access. It’s routed through the VPN tunnel.Platform Differences
Windows, Linux, macOS
- Local network access can be enabled or disabled
- Firewall rules enforced at kernel level
- Changes apply immediately
- Full control over local network access
Android
- Local network access can be enabled or disabled
- Enforced via VPN Service API routing rules
- Works as expected
iOS
From the README (source/README.md:70):* The local network is always accessible on iOS with the current implementation
Compatibility
Local network access works with:- ✅ WireGuard protocol
- ✅ Quantum-resistant tunnels
- ✅ Multihop
- ✅ DAITA
- ✅ Obfuscation protocols
- ✅ Split tunneling
- ✅ Custom DNS (required for private DNS)
- ✅ Content blockers
Troubleshooting
Cannot Access Local Devices
If you can’t reach local network devices:-
Enable local network access:
-
Verify setting:
Should show:
Local network sharing setting: allow -
Check device IP: Ensure target device is on private IP range
- Check firewall: Ensure target device’s firewall allows connections
- Verify network: Ensure you’re on the same network as target device
Local DNS Not Working
If private DNS server is unreachable:-
Enable local network access:
-
Set private DNS:
-
Test DNS resolution:
- Verify DNS server is running: Check DNS server is online and accessible
Chromecast/AirPlay Not Working
If casting devices aren’t discovered:-
Enable local network access:
- Restart casting app: Close and reopen the app
- Check device is on same network: Ensure casting device and your device are on same WiFi
- Check router: Some routers have AP isolation that prevents device-to-device communication
SMB/Network Shares Not Visible
- Enable local network access
-
Manual connection: Instead of browsing, connect directly by IP:
- Windows:
\\192.168.1.100\share - macOS:
smb://192.168.1.100/share - Linux:
smb://192.168.1.100/share
- Windows:
- Check credentials: Ensure you have correct username/password
- Check SMB version: Older SMB versions may be disabled on modern systems
Best Practices
Network-Specific Settings
- Home Network
- Office Network
- Public WiFi
- Travel
Automation Ideas
Script to toggle based on network (example for macOS/Linux):Security Hygiene
- Default to disabled: Only enable when needed
- Disable on public WiFi: Always block on untrusted networks
- Review regularly: Check setting when changing networks
- Combine with firewall: Use OS firewall for additional protection
- Monitor connections: Check for unexpected network activity
Technical Details
Firewall Implementation
From source code (talpid-core/src/firewall/linux.rs:947):allow_lan setting.
Always-Allowed Protocols
Regardless of local network access setting, these protocols are always allowed:- DHCPv4: Client-server (ports 67-68)
- DHCPv6: Client-server (ports 546-547)
- NDP subset: Router solicitation/advertisement, neighbor solicitation/advertisement
Android Implementation
From source code (talpid-tunnel/src/tun_provider/android/mod.rs:323-341):Further Reading
Related Features
- Custom DNS - Required for private DNS servers
- Split Tunneling - Exclude apps from VPN
- WireGuard Protocol - Base VPN protocol
- Kill Switch - Firewall enforcement