microsoft / microsoft/WSL

Mirrored Networking - 0.0.0.0 Bind Problem (Not Mirrored Correctly)

Open
#12,703 10 comments 2 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

Microsoft Windows [Version 10.0.26100.3194]

WSL Version

2.4.12.0

Are you using WSL 1 or WSL 2?
  • WSL 2
  • WSL 1
Kernel Version

Linux version 5.15.167.4-microsoft-standard-WSL2 (root@f9c826d3017f) (gcc (GCC) 11.2.0, GNU ld (GNU Binutils) 2.37) #1 SMP Tue Nov 5 00:21:55 UTC 2024

Distro Version

Debian 12.10

Other Software

in WSL2 VM: vLLM
in host OS: Docker (using WSL2 backend)

Repro Steps

run vLLM with option --host 0.0.0.0 --port 9900.
Then connect on Windows host via:

curl "http://127.0.0.1:9900/" # won't work, refused
curl "http://192.168.1.2:9900/" # won't work, either from local PC or remote computer. 

Quick fix, in WSL 2, do:

python -m http.server --bind 0.0.0.0 9900
# it will say error: Address already in use! 

curl "http://127.0.0.1:9900/" # now works! 
Expected Behavior

A port should be open directly if bound to 0.0.0.0.

Actual Behavior

I had to use another program to bind to 0.0.0.0, see the error message, then the connection was fixed.

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 by reproducing the WSL 2 mirrored-networking behavior with vLLM bound to 0.0.0.0 on port 9900, then compare it with python -m http.server --bind 0.0.0.0 9900. Investigate the networking path responsible for the bind and forwarding behavior; done means the documented curl requests reach a service bound to 0.0.0.0 without the workaround.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.