Can't run SITL on WSL2 [Resolved]

Hi
I trying to start studying what are ardupilot and SITL.
I tried to do full install two times and have no luck.
My config is Windows 10 + WSL2 + Ubuntu from MS store (22.04.3 LTS release)
Also I installed VcXsrv - firstly I tried 21.1.10 x64 version, then 1.20.14.0 x64. I run Xserv in multiwindow mode. The app enabled in the Windows Firewall.

So on first try remember I installed xserv ver 21 and run it, installed and updated Ubuntu, then cloned Ardupilot repo and setup dependencies. After that I don’t remember did I refresh the profile but I launched simulation (may be a coule of times) and saw a couple of new X app windows. First seems run ok, second said the port is already used.
No windows with a map or anything else.
I closed these apps with [ x ] and after that, I haven’t seen a properly run simulation anymore.
Whenever I try to run it - I see that it can’t connect to the port 4 times and then exits.

Then I tried to install everything from scratch - reinstalled Ubuntu distro, and ardupilot. Installed xserv ver 1.20.
This time I haven’t no single succeeded run…

The error:

Build commands will be stored in build/sitl/compile_commands.json
'build' finished successfully (1.590s)
SIM_VEHICLE: Using defaults from (default_params/copter.parm)
SIM_VEHICLE: Run ArduCopter
SIM_VEHICLE: "/home/vitaliy/ardupilot/Tools/autotest/run_in_terminal_window.sh" "ArduCopter" "/home/vitaliy/ardupilot/build/sitl/bin/arducopter" "-S" "-w" "--model" "+" "--speedup" "1" "--slave" "0" "--defaults" "default_params/copter.parm" "--sim-address=127.0.0.1" "-I0"
RiTW: Starting ArduCopter : /home/vitaliy/ardupilot/build/sitl/bin/arducopter -S -w --model + --speedup 1 --slave 0 --defaults default_params/copter.parm --sim-address=127.0.0.1 -I0
SIM_VEHICLE: Run MavProxy
SIM_VEHICLE: "mavproxy.py" "--out" "172.20.0.1:14550" "--master" "tcp:127.0.0.1:5760" "--sitl" "127.0.0.1:5501" "--map" "--console"
Connect tcp:127.0.0.1:5760 source_system=255
[Errno 111] Connection refused sleeping
[Errno 111] Connection refused sleeping
[Errno 111] Connection refused sleeping
[Errno 111] Connection refused sleeping
Failed to connect to tcp:127.0.0.1:5760 : [Errno 111] Connection refused
SIM_VEHICLE: MAVProxy exited
SIM_VEHICLE: Killing tasks

Be noted that it doesn’t complain that it can’t open display.

How I installed it in the Ubuntu:

sudo apt update
sudo apt upgrade

nano ~/.bashrc

# Export Display for XWindows
# For WLS1
# export DISPLAY=0:0
# For WSL2
export DISPLAY=$(grep -m 1 nameserver /etc/resolv.conf | awk '{print $2}'):0

git clone --recurse-submodules https://github.com/ArduPilot/ardupilot.git

cd ardupilot

./Tools/environment_install/install-prereqs-ubuntu.sh -y

. ~/.profile

sudo usermod -a -G dialout $USER

sim_vehicle.py -v ArduCopter --console --map -w

So what did I do wrong or what it could be?
Help pls

I found the issue. I removed all settings related to VcXsrv in Windows Firewall rules and let it recreate them again. after that all 3 SITL windows became visible

So the conditions when it works (at least when WLS run by default with NAT):

  1. WFW rules must enable access for both private and public networks, not only private
  2. VsXsrv must be run with disabled access cheking