小编Nic*_*ick的帖子

如何从 Windows 中找到 WSL2 机器的 IP 地址

这个问题与我关于使 WSL2 地址为 static 的问题有关。由于这看起来不可能,我正在尝试提出一种解决方法。

我想我可以在启动时在 WSL2 中运行一个 shell 脚本,它将 WSL2 机器的地址写入主机系统上的文件。powershell 脚本将查找该文件,并在找到后运行:

netsh interface portproxy add v4tov4 listenport=4000 listenaddress=0.0.0.0 connectport=4000 connectaddress=<WSL2 IP>
Run Code Online (Sandbox Code Playgroud)

如果可能,我想消除在 Linux 中运行 shell 脚本的需要。

一种可能性它通过netsh interface ipv4 show neighbors。172.27.154.150 是我的 WSL2 机器的当前 IP 地址,但我不确定如何编写脚本来隔离该 IP 地址。

PS C:\Users\Nick> netsh interface ipv4 show neighbors

Interface 1: Loopback Pseudo-Interface 1


Internet Address                              Physical Address   Type
--------------------------------------------  -----------------  -----------
224.0.0.22                                                       Permanent
239.255.255.250                                                  Permanent

Interface 7: Ethernet0


Internet Address                              Physical Address   Type
--------------------------------------------  -----------------  -----------
192.168.163.2 …
Run Code Online (Sandbox Code Playgroud)

networking powershell wsl2

18
推荐指数
3
解决办法
2万
查看次数

将 WSL2 的 IP 地址设为静态

我在 WIN10 机器上的 WSL2 中运行 SSH 服务器。为了完成这项工作,我正在使用:

netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=22 connectaddress=172.19.237.178 connectport=22
Run Code Online (Sandbox Code Playgroud)

这最初工作正常。172.19.237.178是 WSL2 VM 的 IP。

只有一个问题。我将 sshd 设置为在 PC 启动时运行,并且每次启动机器时 WSL2 都有不同的 IP。有没有办法将 WSL2 配置为使用静态 IP?

编辑:有关确定 WSL 机器 IP 的变通方法,请参阅此问题

ssh netsh windows-10 windows-subsystem-for-linux

5
推荐指数
2
解决办法
1万
查看次数