microsoft / WSL

Issues found on WSL
https://docs.microsoft.com/windows/wsl
MIT License
17.46k stars 822 forks source link

In mirrored mode, some inbound packets got dropped on the host interface. #12065

Open TCpick opened 1 month ago

TCpick commented 1 month ago

Windows Version

Microsoft Windows [Version 10.0.22631.4169]

WSL Version

2.2.4.0

Are you using WSL 1 or WSL 2?

Kernel Version

5.15.153.1-2

Distro Version

Ubuntu 22.04

Other Software

docker-ce/jammy,now 5:27.3.1-1~ubuntu.22.04~jammy amd64

Repro Steps

In mirrored mode, my Wi-Fi2 connection is mirrored as eth4 in WSL2 ubuntu, with address 192.168.0.111/24 And I created an IPvlan-interfaced docker in WSL, which is bridged with host network. And the address is 192.168.0.201/24

I suppose this would work like another device in the same network. And luckily this can ping through the gateway or outside addresses:

/ # ping 192.168.0.1 PING 192.168.0.1 (192.168.0.1): 56 data bytes 64 bytes from 192.168.0.1: seq=0 ttl=64 time=1.418 ms 64 bytes from 192.168.0.1: seq=1 ttl=64 time=2.091 ms / # ping 8.8.8.8 PING 8.8.8.8 (8.8.8.8): 56 data bytes 64 bytes from 8.8.8.8: seq=0 ttl=113 time=29.769 ms 64 bytes from 8.8.8.8: seq=1 ttl=113 time=32.536 ms

But when I try a nslookup, it got timeout.

/ # nslookup www.google.com 8.8.8.8 ;; connection timed out; no servers could be reached

I did some capture on both windows host interface(Wi-Fi2) and WSL interface(eth4). and found that the DNS responses have already reached the host interface, but somehow dropped and cannot be get by WSL.

Expected Behavior

mirrored interfaces should see the same traffic https://learn.microsoft.com/en-us/windows/wsl/networking#mirrored-mode-networking

Actual Behavior

UDP packets(ARP responses) to IPvlan network reached host interface, but did not reach the WSL interface

Diagnostic Logs

No response

github-actions[bot] commented 1 month ago

Logs are required for review from WSL team

If this a feature request, please reply with '/feature'. If this is a question, reply with '/question'. Otherwise please attach logs by following the instructions below, your issue will not be reviewed unless they are added. These logs will help us understand what is going on in your machine.

How to collect WSL logs Download and execute [collect-wsl-logs.ps1](https://github.com/Microsoft/WSL/blob/master/diagnostics/collect-wsl-logs.ps1) in an **administrative powershell prompt**: ``` Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/microsoft/WSL/master/diagnostics/collect-wsl-logs.ps1" -OutFile collect-wsl-logs.ps1 Set-ExecutionPolicy Bypass -Scope Process -Force .\collect-wsl-logs.ps1 ``` The script will output the path of the log file once done. If this is a networking issue, please use [collect-networking-logs.ps1](https://github.com/Microsoft/WSL/blob/master/diagnostics/collect-networking-logs.ps1), following the instructions [here](https://github.com/microsoft/WSL/blob/master/CONTRIBUTING.md#collect-wsl-logs-for-networking-issues) Once completed please upload the output files to this Github issue. [Click here for more info on logging](https://github.com/microsoft/WSL/blob/master/CONTRIBUTING.md#8-collect-wsl-logs-recommended-method) If you choose to email these logs instead of attaching to the bug, please send them to wsl-gh-logs@microsoft.com with the number of the github issue in the subject, and in the message a link to your comment in the github issue and reply with '/emailed-logs'.

View similar issues

Please view the issues below to see if they solve your problem, and if the issue describes your problem please consider closing this one and thumbs upping the other issue to help us prioritize it!

Open similar issues:

Closed similar issues:

Note: You can give me feedback by thumbs upping or thumbs downing this comment.

TCpick commented 1 month ago

[Uploading WslLogs-2024-09-24_10-24-10.zip…]()

CatalinFetoiu commented 1 month ago

thanks for reporting the issue - could you please collect networking logs using instructions at https://github.com/microsoft/WSL/blob/master/CONTRIBUTING.md#collect-wsl-logs-for-networking-issues ?

The script will generate a zip with name starting with "WslNetworkingLogs"