microsoft / microsoft/WSL

WSL and two VPN

Open
#13,816 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

emailed-logs network
Dominant language
C++
Stars
33.7k
Forks
1.8k
Avg merge
3d 17h
Merged PRs (30d)
116

Description

### Windows Version

Windows 11 Pro 26200.7171

### WSL Version

2.6.1.0

### Are you using WSL 1 or WSL 2?

- [x] WSL 2
- [ ] WSL 1

### Kernel Version

6.6.87.2-1

### Distro Version

Ubuntu 24.04

### Other Software

Cisco AnyConnect 4.10.04.071

### Repro Steps

Hi
I apologize in advance for my poor English.

So, what's the problem, is there windows 11?:
Windows 11 Pro Release
Version 25H2
Installation date 11/22/2025
OS Build 26200.7171
Interaction Windows Component Interface Package 1000.26100.265.0

WSL is installed on this system:
PS C:\Users\Turgaud > wsl --version
WSL version:
2.6.1.0 Kernel version: 6.6.87.2-1
WSLg Version: 1.0.66
MSRDC Version: 1.2.6353
Direct3D version: 1.611.1-81528511
The DXCore version: 10.0.26100.1-240331-1435 .ge-release
Windows Version: 10.0.26200.7171

Note, I do not know why the wsl version says Windows version.: 10.0.26200.7171, I have Windows 11 Pro

So to the core of the problem, I also have two VPNs connected.:
1. My personal VPN, which is deployed on VDS (debian12), running on PPTP and configured at the router level, that is, it connects via the router interface. If this is important, then the Tenda AC6.
2 router is a working VPN required to connect to Cisco AnyConnect production servers.

What's the problem, for work I need to connect via ssh to my work servers, but when both vpns are connected, I get an error when connecting:
If the WSL network mode is mirrored:
[wsl2]
networkingMode=Mirrored
dnsTunneling=true

Mistake:
OpenSSH_9.6p1 Ubuntu-3ubuntu13.14, OpenSSL 3.0.13 30 Jan 2024
debug1: Reading configuration data /home/turgaud/.ssh/config
debug1: /home/turgaud/.ssh/config line 12: Applying options for *
debug1: /home/turgaud/.ssh/config line 35: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: include /etc/ssh/ssh_config.d/*.conf matched no files
debug1: /etc/ssh/ssh_config line 21: Applying options for *
debug1: Connecting to ***.hosting.***.ru [10.**.***.223] port 22.
debug1: connect to address 10.**.***.223 port 22: No route to host
ssh: connect to host ***.hosting.***.ru port 22: No route to host

If the WSL network mode is enabled as NAT, then the error:
OpenSSH_9.6p1 Ubuntu-3ubuntu13.14, OpenSSL 3.0.13 30 Jan 2024
debug1: Reading configuration data /home/turgaud/.ssh/config
debug1: /home/turgaud/.ssh/config line 12: Applying options for *
debug1: /home/turgaud/.ssh/config line 35: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: include /etc/ssh/ssh_config.d/*.conf matched no files
debug1: /etc/ssh/ssh_config line 21: Applying options for *
debug1: Connecting to ***.hosting.***.ru [10.**.***.223] port 22.
debug1: connect to address 10.**.***.223 port 22: Connection timed out
ssh: connect to host ***.hosting.***.ru port 22: Connection timed out

At the same time, if I disable my personal VPN on the router, then everything starts working fine.

As a test, I launched my second debian 12 operating system, and everything works fine there, with both personal and work VPNs enabled. Logically, the problem is somewhere in the WSL.

### Expected Behavior

The expected behavior is to connect to production servers via ssh

### Actual Behavior

The actual behavior is the inability to establish an ssh connection when two VPNs are enabled.

### Diagnostic Logs

_No response_

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the reported .wslconfig settings for networkingMode=Mirrored and NAT, then reproduce the SSH connection to the stated production server while both VPNs are enabled. Compare the WSL behavior with the working Debian 12 system and the case where the personal VPN is disabled. Done means SSH connects reliably to the production servers with both VPNs active.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux, ubuntu
Domain
networking, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.