wsl配置网络:局域网中的其它主机能够访问wsl中的服务

overview

这个主要是扼要地讲解一下配置wsl网络能被局域网中其它主机访问的流程和注意点。其实网上有很多关于这方面的配置,但是操作流程都大差不差,主要是有时候一些步骤并没有起到效果,所以我想直接将其中需要注意的提出来,希望对遇到有同样问题的人有所帮助。

我写得比较简要,方便读者清楚重点步骤,但是可能太过简要,现提供参考链接:

从局域网访问WSL2 | 青训营笔记
如何在局域网的其他主机上中访问本机的WSL2

配置流程

查看wsl的ip地址

使用ifconfig

在windows主机上配置关于wsl的端口转换规则

以管理员运行powershell

  • 添加端口转换规则
netsh interface portproxy add v4tov4 listenport=4000 listenaddress=0.0.0.0 connectport=8001 connectaddress=192.168.226.105
  • 删除端口转换规则
netsh interface portproxy delete v4tov4 listenport=4000 listenaddress=0.0.0.0

配置防火墙规则

  • way1【最简单暴力】:
    直接将windows主机的防火墙关了

  • way2【也不算复杂,但是比较安全】:
    配置防火墙的入规则。
    防火墙–》高级配置,将相应的端口允许通过防火墙。

查看端口转换规则是否生效

1.打开powershell,输入下面的命令看自己设定的规则有没有:

netsh interface portproxy show all

2.看设定的端口有没有被监听,或者使用nc、telnet、curl等命令工具看一下对应的wsl端口是不是开启了

netstat -a -n -p tcp

如果都没有,那么你可以关注一下下面notice部分的内容。

notice
如果没有生效,肯能需要重启一下相应的服务:
win+r打开运行窗口,并打开服务程序services.msc:
在这里插入图片描述
重启一下图中的两个服务:
在这里插入图片描述

### 配置WSL环境下的Ubuntu网络设置 #### 方法一:通过Windows端修改虚拟交换机配置 为了使WSL2中的Ubuntu能够访问局域网并被其他设备识别,可以创建一个新的内部网络适配器,并将其分配给WSL2实例。具体操作如下: 1. 打开PowerShell作为管理员执行命令`wsl --shutdown`来关闭所有正在运行的Linux子系统。 2. 接着输入`Get-VMSwitch`查看当前存在的虚拟交换机列表[^1]。 如果不存在名为“WSL”的条目,则继续下一步;如果有,请跳过创建步骤。 3. 创建新的虚拟交换机: ```powershell New-VMSwitch -Name "WSL" -SwitchType Internal ``` 4. 获取刚刚创建好的接口索引号以便后续配置IP地址: ```powershell Get-NetAdapter | where Name -like "*vEthernet (WSL)*" ``` 5. 设置静态IP地址(假设获取到的Index为X),这里以IPv4为例: ```powershell New-NetIPAddress -InterfaceIndex X -IPAddress 192.168.x.y -PrefixLength 24 -DefaultGateway 192.168.x.z Set-DnsClientServerAddress -ServerAddresses ("8.8.8.8","8.8.4.4") ``` 其中x,y,z分别代表子网、主机以及默认网关的实际数值。 #### 方法二:调整WSL内的网络参数 对于某些情况而言,在不改变宿主机上的任何设置的情况下也可以实现桥接效果。此时可以在Ubuntu终端里编辑/etc/wsl.conf文件加入以下内容: ```ini [network] generateHosts = false generateResolvConf = false ``` 之后重启WSL服务让更改生效:`wsl --terminate Ubuntu` 。接着进入Ubuntu后安装net-tools包用于管理网络接口: ```bash sudo apt update && sudo apt install net-tools ``` 最后按照常规方式配置eth0或其他可用的网络接口即可: ```bash sudo ifconfig eth0 192.168.x.y up ``` 以上两种方案都可以帮助解决在WSL2中无法正常上网或者与其他机器通信的问题。需要注意的是实际应用过程中可能还需要考虑防火墙策略等因素的影响。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值