windows for wsl的使用
WSL的微软文档:安装 WSL | Microsoft Learn
WSL 版本 2.1.5 或更高版本 Windows 10 64 位:最低要求为家庭版或专业版 22H2(内部版本 19045)或更高版本,或企业版或教育版 22H2(内部版本 19045)或更高版本。 Windows 11 比win10高,不用考虑版本 在控制面板-程序和功能 中:启用Windows功能,“适用于Linux的Windows子系统” 如果需要安装包的形式安装 1、WSL安装包地址:https://github.com/microsoft/WSL/releases 2、安装前卸载其它有关wsl 的,安装完后,查看wsl 版本:wsl --version 例如显示内容为: WSL 版本: 2.5.10.0 内核版本: 6.6.87.2-1 WSLg 版本: 1.0.66 MSRDC 版本: 1.2.6074 Direct3D 版本: 1.611.1-81528511 DXCore 版本: 10.0.26100.1-240331-1435.ge-release Windows: 10.0.19045.5737
在管理员模式下打开 PowerShell
步骤一、安装WSL2
wsl --install
步骤二、安装wsl的ubuntu
wsl --install -d ubuntu-24.04
#设置ubuntu的用户名和密码
步骤三、设置 Ubuntu 为默认 WSL 发行版(可选但推荐)
#可以不用设置默认,使用wsl -d Ubuntu-24.04进入Ubuntu
wsl --set-default Ubuntu-24.04
#设置了默认,就可以直接输入:wsl 命令即可进入Ubuntu
步骤四、进入Ubuntu 更改WSL2的DNS网络通讯能力
wsl 或者wsl -d Ubuntu-24.04 命令进入
1、编辑/etc/wsl.conf 关闭自动生成(推荐)
创建或编辑 /etc/wsl.conf:
sudo nano /etc/wsl.conf
加入内容:
[network] generateResolvConf = false
保存:Ctrl+O
退出:Ctrl+X
2、#查看/etc/resolv.conf内容,如果不是nameserver 8.8.8.8 就需要更改
sudo nano /etc/resolv.conf
3、# 删除自动生成的文件
sudo rm /etc/resolv.conf
4、# 创建新的 resolv.conf,使用公共 DNS
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
echo "nameserver 1.1.1.1" | sudo tee -a /etc/resolv.conf
网络::::::
=======默认的NAT 模式========
1、NAT 模式,WSL2 依赖 Windows 的端口转发机制:
你在 WSL2 中启动了一个 Web 服务,监听 3000 端口。
WSL2 检测到这个行为后,会自动在 Windows 上执行类似这样的命令:
-----powershell-----
netsh interface portproxy add v4tov4 listenport=3000 connectaddress=<WSL2的IP> connectport=3000
这条规则的作用是:将所有发送到 Windows 本机 localhost:3000 的请求,自动转发到 WSL2 虚拟机的 IP:3000
=================切换成桥接模式(可选)==============
当你切换到桥接模式 (Bridged Mode) 后,WSL2 就不再依赖 Windows 的端口转发机制,而是作为局域网中一台完全独立的设备存在。
步骤一、创建虚拟网络交换机
首先,需要在 Windows 上为 WSL 创建一个虚拟交换机,使其能够桥接到你的物理网卡。
1.在 Windows 搜索栏输入 PowerShell,右键选择“以管理员身份运行”。
2.执行以下命令,查看你电脑上的网络适配器名称:
Get-NetAdapter
输出:

3.在返回的列表中,找到你正在使用的网络适配器。通常,有线网卡名为“以太网”,无线网卡名为“WLAN”或“Wi-Fi”。记下它的 Name。
4.执行以下命令来创建虚拟交换机,请将 <你的网卡名称> 替换为上一步记下的名称(例如“以太网”):
例子::New-VMSwitch -Name WSLBridge -NetAdapterName "<你的网卡名称>" -AllowManagementOS $true
我用的是wifi,所以执行:
New-VMSwitch -Name WSLBridge -NetAdapterName "WLAN" -AllowManagementOS $true
步骤二、配置 WSL 使用桥接模式
接下来,需要修改 WSL 的全局配置文件,让它使用我们刚刚创建的虚拟交换机。
1.按下 Win + R,输入 %UserProfile% 并回车,这会打开你的用户主目录。
2.在该目录下,查找名为 .wslconfig 的文件。如果不存在,请新建一个文本文件并重命名为 .wslconfig。
3.用记事本打开该文件,并写入以下内容:
[wsl2] networkingMode=bridged vmSwitch=WSLBridge
4.保存并关闭文件。
步骤三、重启 WSL 并验证
最后,重启 WSL 使新配置生效,并验证网络是否已成功桥接。
1.再次以管理员身份打开 PowerShell。
2.执行以下命令,完全关闭所有 WSL 实例:
wsl --shutdown
3.重新启动你的 WSL 发行版(例如 Ubuntu)。
4.在 WSL 的终端中,执行以下命令查看 IP 地址:
ip addr show eth0
你应该能看到 eth0 的 inet 地址变成了与你 Windows 主机在同一网段的 IP(例如,如果你的电脑是 192.168.1.5,WSL 可能是 192.168.1.x)。
现在,你可以在 Windows 的浏览器或任何网络工具中,直接使用这个 IP 地址来访问 WSL 中运行的服务了。
5.也可以在winodws宿主机执行cmd命令:
在 Windows 终端(PowerShell/CMD)中查询
如果你想在 Windows 环境下直接获取 WSL 的 IP 地址,这是最直接的方法。执行命令:
wsl hostname -I
SSH::::::
===========wsl 如何开启ssh(可选)===============
进入WSL
步骤一、执行更新命令
sudo apt update
这会从服务器下载最新的软件包列表,告诉你的系统现在最新的版本号是多少。
步骤二、重新安装 SSH
执行命令:
sudo apt install openssh-server -y
步骤三、启动 SSH 服务
执行命令:
sudo service ssh start
如果提示 no hostkeys available,请先执行 sudo ssh-keygen -A 生成密钥,然后再试。
步骤四、设置用户密码(如果你还没设置)
SSH 登录需要验证密码。如果你没设置过,请执行:
sudo passwd <你的用户名>
步骤五、让 SSH 服务“开机”自启
编辑配置文件
在 WSL 终端执行:
sudo nano /etc/wsl.conf
添加以下内容
[boot] systemd = true
按 Ctrl+O 保存,Ctrl+X 退出。
步骤六、设置服务自启
执行以下命令,让 SSH 服务跟随 WSL 启动:
sudo systemctl enable ssh
重启 WSL
在 Windows PowerShell 中执行 wsl --shutdown 重启 WSL,使配置生效。
需要用命令 执行 wsl 命令进入ubuntu系统。其它地方才能连接ssh 服务,不然连不上
===========
浙公网安备 33010602011771号