microsoft / WSL

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

WSL2: Do not recieve UDP packets from network interface using mirrored option #11027

Closed mgkbeer closed 10 months ago

mgkbeer commented 10 months ago

Windows Version

10.0.22621.3007

WSL Version

2.1.0.0

Are you using WSL 1 or WSL 2?

Kernel Version

5.15.137.3-1

Distro Version

Ubuntu 22.04

Other Software

No response

Repro Steps

.wslconfig [wsl2] networkingMode=mirrored [experimental] firewall=true

I run iperf client on WSL2 Ubuntu against server running on another device connected thru eth0 iperf -u -c 169.254.1.10 eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 9000 inet 169.254.1.100 netmask 255.255.255.0 broadcast 169.254.1.255 inet6 fe80::ae4c:1e49:3c20:1ded prefixlen 64 scopeid 0x20 ether 00:e0:4c:68:00:17 txqueuelen 1000 (Ethernet) RX packets 4 bytes 380 (380.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 23 bytes 3628 (3.6 KB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 and it works, however, when I run client on that external device I do not see any packets coming to WSL I also tried adding new rules to firewall allowing specific port to be allowed, disabling firewalls (mcafee and windows) but for no avail

Expected Behavior

Expected behavior is that I get all the UDP packets on WSL2 that sent on that interface

Actual Behavior

I do not see any UDP packets when external device sending those to port 5001 and address 169.254.1.100

Diagnostic Logs

WslNetworkingLogs-2024-01-15_12-25-16.zip

github-actions[bot] commented 10 months ago

Hi I'm an AI powered bot that finds similar issues based off the issue title.

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. Thank you!

Open similar issues:

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

ghost commented 10 months ago

This looks similar to #11034, are you using the experimental hostAddressLoopback config option?

mgkbeer commented 10 months ago

This looks similar to #11034, are you using the experimental hostAddressLoopback config option? No, I did not use hostAddressLoopback option .wslconfig [wsl2] networkingMode=mirrored [experimental] firewall=true

ghost commented 10 months ago

By default mirrored mirrors binds that would capture 127.0.0.1 unless using that experimental config option. If you use that option and it still doesn't work then chime in on bug #11034

mgkbeer commented 10 months ago

I tried adding that option but it did not change anything, I still do not receive any packets on eth0 169.254.1.100 Did you have a chance to look at attached logs? I frankly do not believe those two issues are related [wsl2] networkingMode = mirrored firewall=true localhostforwarding = true [experimental] hostAddressLoopback = true Interesting thing I want to mention is that it works from time to time, but when it works Jumbo frames do not work - only frames up to 1500. Is there a need to set MTU for a switch?