导航:首页 > 网络设置 > wsl连接网络共享目录

wsl连接网络共享目录

发布时间:2023-04-17 16:08:24

⑴ WSL2与Windows间的网络互访

我的WSL2使用的是ubuntu 20.04.2.LTS, Windows是10专业版 Build: 19043.1526。本文只讨论应用级别通过网络互相访问的问题,不涉及文件互访。

由于多物理网卡,虚拟机网卡等原因,Windows会有多个IP Address,我们需虚扰要找出能与WSL2连同的那个。

启动WSL2,键入如下命令:

输出中nameserver 后面的地址即是我们要找的地址。

如:

172.27.160.1 就是我们要找的迟世Windows的IP Address,后面会以 <win-ip> 引用

启动WSL2,键入如下命令:

输出举例:

172.27.170.146 就是我们要找的WSL2的IP Address,后面会以 <wsl-ip> 引用

默认情况下Windows的防火墙会阻止WSL2中应用对Windows的网络访问(see: Add "allow" rule to Windows firewall for WSL2 network · Issue #4585 · microsoft/WSL (github.com) ),解决办法是添加一条码誉肢防火墙规则允许WSL2对Windows的访问。请以管理员身份打开PowerShell并键入以下命令:

输出举例:

命令成功执行后,我们会在Windows的防火墙高级设置的入站规则里会看到一条名为 WSL 的新规则:

以上配置好后,我们就可以在WSL2中通过 <win-ip> 和 <端口> 访问Windows中的应用程序。

我们可以在Windows中通过 <wsl-ip> 和 <端口> 访问WSL2中的应用程序。

⑵ wsl2 固定mac地址

我们可以直接localhost可以ssh连接wsl2。

WSL2 会在首次启动时创建一个虚拟网卡用于提供 WSL2 的网络,默认情况下这个网段是动态的,我在之前的文章 hez2010:给 WSL2 设置静态 IP 地址 中利用修改该网卡网段和创建 NAT 的方式解决了该问题,但是该方案仍然不够完美:

⑶ WSL避坑指南

WSL(windows subsystem for linux)是在windows系统下运行的linux子系统,当我们需要linux环境的时候,用虚拟机性能损耗会非常严重,这时候我们可以选择使用WSL。这篇文章介绍了我在安装和使用WSL中的一些坑,希望将来的人能少走弯路。

参考微软的文档 https://docs.microsoft.com/zh-cn/windows/wsl/install-win10 安装。

我遇到的一些问题:

配制Ubuntu镜像 https://developer.aliyun.com/mirror/ubuntu

可以在windows下安装docker desktop,然后设置使用wsl2的引擎使用。

或者在docker的官网上按照教程安装docker。

静进入网址: https://cr.console.aliyun.com/cn-hangzhou/mirrors

此处需要一个阿里云的账号,没有的话可以使用支付宝登录

登录进去会跳转到 容器镜像服务,需要密码

接下来按照里面的教程进行设置即可

在windows的vscode里安装Remote WSL插件之后可以在linux的子系统中通过输入code命令使用vscode。

文件共享也非常方便,启动WSL命令行的时候,默认访问的便是我们Windows的用户目录。蚂耐

而要从Windows下访问Linux中文件,则可通过网络磁盘映射:wsl$Ubuntu 路径,这样整个Linux文件系统都可以暴露给Windows。

如果要在 Linux 分发版中构建网络应用(例如,在 NodeJS 或 SQL server 上运行的应用),可以使用蔽判 localhost 从 Windows 应用(如 Edge 或 Chrome Internet 浏览器)访问它(就像往常一样)。

但是,如果运行的是较旧版本的 Windows(版本 18945 或更低版本),则宏物改需要获取 Linux 主机 VM 的 IP 地址(或 更新到最新的 Windows 版本 )。

若要查找为 Linux 分发版提供支持的虚拟机的 IP 地址,请执行以下操作:

如果要从 Linux 分发版(即 Ubuntu)访问 Windows 上运行的网络应用(例如,在 NodeJS 或 SQL 服务器上运行的应用),则需要使用主机的 IP 地址。 虽然这不是一种常见方案,但你可以执行以下步骤来使其可行。 - 通过在 Linux 分发版中运行以下命令来获取主机的 IP 地址: cat /etc/resolv.conf - 复制以下词语后面的 IP 地址: nameserver 。 - 使用复制的 IP 地址连接到任何 Windows 服务器。

当使用远程 IP 地址连接到应用程序时,它们将被视为来自局域网 (LAN) 的连接。 这意味着你需要确保你的应用程序可以接受 LAN 连接。

例如,你可能需要将应用程序绑定到 0.0.0.0 而非 127.0.0.1 。 以使用 Flask 的 Python 应用为例,可以通过以下命令执行此操作: app.run(host=Ɔ.0.0.0') 。 进行这些更改时请注意安全性,因为这将允许来自你的 LAN 的连接。

当使用 WSL 1 分发版时,如果计算机设置为可供 LAN 访问,那么在 WSL 中运行的应用程序也可供在 LAN 中访问。

这不是 WSL 2 中的默认情况。 WSL 2 有一个带有其自己独一无二的 IP 地址的虚拟化以太网适配器。 目前,若要启用此工作流,你需要执行与常规虚拟机相同的步骤。

WSL2 分发版目前无法访问纯 IPv6 地址。

参考资料:

https://www.jianshu.com/p/6b02948b3d37

https://www.liumingye.cn/archives/326.html

https://zhuanlan.hu.com/p/104771275?utm_source=cn.wiz.note

⑷ 最详尽教程完整介绍-Windows 的 Linux 子系统-WSL1&WSL2

必须启用“适用于 Linux 的 Windows 子系统”可选功能并重启,然后才能在 Windows 上运行 Linux 发行版。

以管理员运行Powershell(开启WSL,如已开启可跳过)

WSL 1 和 WSL 2 之间的主要区别在于,在托管 VM 内使用实际的 Linux 内核、支持完整的系统调用兼容性以及跨 Linux 和 Windows 操作系统的性能。

WSL2相比WSL1来说可以完美支持Docker。与WSL1的模拟Linux API不同的是,WSL2采用在Hyper-V虚拟机中运行的方案。可以说WSL2和原汁原味的Linux已经十分接近

不支持Docker的守护进程,但您可以使用 Docker CLI 连接到通过 Docker for Windows 或您创建的任何其他VM 运行的远程Docker守护进程

不能完全兼容systemctl, systemd等等,IO速度相对原生Linux也是大打折扣,在编译和解压方面可以很深体会到。毕竟不是真正的Linux,而是挂在Windows NT内核之上的仿Linux 系统

由于WSL 还不是原生的Linux,所以需要借助 Docker for Windows 来实现Docker(Docker for Windows 是基于Hyper-V 技术)

另外一种方式是,在WSL1中安装docker 客户端,连接 docker server, 来解决在WSL1上使用docker 的问题。(PS: Win10 的Linux 子系统是装不了 docker (服务端)的,但是可以安装客户端)

参考

WSL2 是第二代 WSL,包含在2020年5月正式发布 Windows 10 v2004 版中。相比第一代,新的 WSL2 重新设计了架构,使用真正的 Linux 内核,几乎具有 Linux 的所有完整功能。启用WSL2的 Linux 系统启动时间非常快,内存占用很少,并且,WSL 2 还可以直接原生运行 Docker,VS Code 编辑器还有 Remote-WSL 插件,相对于完整的 linux 虚拟机只是不支持 systemctl、systemd,不能直接运行图形桌面。Windows 也越来越向虚拟平台靠拢,Windows NT 内核和 Linux 内核都是运行在虚拟平台之上的,是平级的

如果发现VERSION为1,说明Ubuntu运行在WSL1下,可以升级到 WSL2。同样,WSL2也可以降级到WSL1。
wsl -l -v #查看已安装Linux版本和名称,完整命令格式:wsl --list --verbose

具体步骤参考 : https://docs.microsoft.com/zh-cn/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package

安装 WSL 2 之前,必须启用“虚拟机平台”可选功能

wsl --set-version Ubuntu 2 #升级到WSL2,其中 Ubuntu 是已经安装的Linux名称,命令格式:wsl --set-version <Distro> <Version>

启用WSL后,通过 wsl$ 可以访问WSL文件

最初的WSL是在Windows之上模拟Linux内核,但是Windows和Linux之间存在如此基本的差异,以至于某些事情不可能以与本机Linux相同的行为实现,这意味着不可能直接在 WSL中运行 Docker Engine 和Kubernetes
在WSL1中,Docker Desktop通过Hyper-V虚拟机去运行docker环境的

升级到WSL2 之后, Docker Desktop 可以直接用 WSL2,直接运行在Linux 内核上了

通过如下设置,Docker Desktop就和WSL2分发版本进行了集成,无需在WSL中安装docker; 当然,也可以选择不与Docker Desktop集成,直接在WSL 中运行docker 容器。

启用WSL后,docker运行数据都在WSL发行版中,文件位置都只能由WSL管理

安装docker后,docker会自动创建2个发行版:

WSL发行版默认都是安装在C盘,在%LOCALAPPDATA%/Docker/wsl目录
docker的运行数据、镜像文件都存在%LOCALAPPDATA%/Docker/wsl/data/ext4.vhdx中

通过 WSL 2 集成,您仍然可以体验到与 Windows 的无缝集成,但在 WSL 中运行的 Linux 程序也可以执行相同的操作。这对于从事面向 Linux 环境的项目或为 Linux 量身定制的构建过程的开发人员产生了巨大影响。不再需要维护 Linux 和 Windows 构建脚本!例如,Docker 的开发人员现在可以在 Windows 上的 Linux Docker 守护程序上工作,使用与 Linux 计算机上的开发人员相同的工具和脚本集:

注:WSL2 Docker最爽的地方是和宿主机Win10共享network,我们在宿主机Win10使用localhost加端口号就可以访问Docker中对应container中的服务,十分方便

wsl #启动
wsl --shutdown #关闭所有正在运行的 Linux 和 WSL 2

启动 WSL2 之后,会在任务管理器中发现多了一个 虚拟机工作线程

访问wsl 文件

卸载发行版
有时候某个Linux发行版不再使用,或者是环境被搞坏需要重装,这时候我们可以卸载掉这个Linux发行版。方法如下。

⑸ WSL 使用教程

WSL 是适用于 Linux 的 Windows 子系统,可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销。

WSL 分为两个版本,一个是 WSL1,一个是 WSL2,WSL2 是 WSL1 的升级版,主要优势是:

WSL2 建议不要跨操作系统使用文件,若想获得最快的性能速度,请将文件存储在 WSL 文件系统中,在存储时,使用 Linux 文件系统根目录: \\wsl$\Ubuntu-20.04\home\<user name>\Project 。

访问 WSL2 文件系统,可以运行命令 WIN+R 或在文件资源管理器地址栏中键入 \\wsl$ ,以查找相应的分发名称并访问其根文件系统。

大多数情况下我们会使用 WSL2,但在以下情况,请考虑使用 WSL1:

可以使用 localhost 从 Windows 上访问 Linux 分发版中的应用。

如果要从 Linux 分发版访问 Windows 上运行的网络应用,则需要使用主机的 IP 地址。 你可以执行以下步骤来使其可行。

当使用远程 IP 地址连接到应用程序时,它们将被视为来自局域网 (LAN) 的连接。 这意味着你需要确保你的应散液用程序可以接受 LAN 连接。例如,你可能需要将应用程序绑定到 0.0.0.0 而非 127.0.0.1 。

当使用 WSL 1 分发版时,如果计算机设置为可冲做物供 LAN 访问,那么在 WSL 中运行的应用程序也可供在 LAN 中访问。

这不是 WSL 2 中的默认情况,WSL 2 有一个带有其自己独一无二的 IP 地址的虚拟化以太网适配器。 目前,若要启用此工作流,你需要执行与常规虚拟机相同的步骤。下面是一个示例 PowerShell 命令,用于添加侦听主机上的端口 4000 的端口代理并将其连接到端口 4000,并使用 IP 地址 192.168.101.100 连接到 WSL 2 VM。

使用 wsl <Linux命令> 可以在 CMD 或 PowerShell 运行 Linux 命令,示例:

以这种方胡升式运行的命令使用的是同一个工作目录,并且以 WSL 默认用户的身份运行,拥有与调用方进程和终端相同的 Windows 管理权限。

WSL 可以使用 [tool-name].exe 直接从 WSL 命令行运行 Windows 工具。 例如, notepad.exe 。

以这种方式运行的应用程序具有相同的工作目录,拥有与 WSL 进程相同的权限,以活动 Windows 用户的身份运行,显示在 Windows 任务管理器中。

WSL 还有一些高级用法,比如更改磁盘大小,文件权限,环境变量等,具体配置可以参考官方文档。

⑹ 通过ssh连接到局域网内Windows下WSL的Ubuntu

教程开始:

Ubuntu安装教程如果你不会那应该再去网上搜搜
在windows的ubuntu下操作:

首先更改apt源,这里建议阿里的,官网: http://mirrors.aliyun.com
然后卸载并重新安装ssh-server,因为听说自带的不好用
apt remove openssh-server
apt install openssh-server

然后改监听端口

vim /etc/ssh/sshd_config
取消注释,并更改端口为2222 (也可以按照你喜欢的,能记住就好)
我们姑且把端口号叫ggport (随便取的名字,为了后面能够引用)
之所以要改端口,是因为ubuntu的22可能会有其他用。理论上不改也行,我猜。

按ESC键,键盘输入 :wq 保存退出
然后重启ssh服务,使之生效 service ssh restart

到目前,其他电脑依旧连不到这台windows的ubuntu,需要设置一个代理

还是在ubuntu环境,输入 apt install net-tools
然后输入 ipconfig ,注意红框的内容

接下来的操作在Windows上运行:
管理员权限打开PowerShell,将windows的2222端口转发到ubuntu,输入:
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=2222 connectaddress=[ggip] connectport=[ggport]
输入的时候记得替换[ggip] [ggport] 为上面提到的值,跟前面的0.0.0.0一样不要带中括号[]

然后在windows防火墙开启入站规则,输入命令:
netsh advfirewall firewall add rule name=WSL2 dir=in action=allow protocol=TCP localport=2222

坦白地讲,我不喜欢Window的Shell,难用。不过知道能复制粘贴就可以凑合用。

然后还是在Powershell中,查看你的IP地址,输入:
ipconfig
区别于Linux下的ifconfig

找到你的ip地址,我的是10.开头的,现在不方便截图

然后局域网内其他岁厅慎电脑,可以通过ssh连接
ssh username@ip -p 2222

在这里我简要的说一下如何操作

首先在要访问ubuntu的机器里,用户目录下如果没有隐藏文件夹.ssh的话,执行:
ssh-keygen -t rsa
一路回车
然后终端进入~/.ssh文件夹下,用scp将公钥(有.pub后缀的文件)拷贝到装有ubuntu的windows里
scp -P 2222 ./id_rsa.pub username@ip:/home/
输入密码,如果有传输过程,比如网速啥的,说明成功伏物,没有的话自己检查一下
然后ubuntu终端内, cd /home
然后将.pub文件追加到当前用户家目录的 .ssh/
cat id_rsa.pub >> ~/.ssh/authorized_keys

首先安装微软自己出品的插件 Remote - SSH

然后点这

弹出来一个框,选第一个就好了
然后按照这个格式填个配置

私钥文件就是在家目录~下,没有.pub后缀的乎敬文件,注意跟你上传到ubuntu的公钥要互相匹配
然后点上面vscode.png里面 右边中间的有+号的按钮就可以连接啦!

有问题可以在评论区问我。

⑺ 安装了个WSL,为什么在家目录下找不到desktop

WSL中的目录和冲芹Windows是两套体系,WSL的 / 并不是硬盘的根目录。
硬盘的根目录在 /mnt/c 、 /mnt/d

桌面一般在吵含 /mnt/c 里面,/mnt/c/Users/你自己的用户名/Desktop

cd /mnt/c/Users/你自己的用散碰毕户名/Desktop

阅读全文

与wsl连接网络共享目录相关的资料

热点内容
网络共享中心没有网卡 浏览:512
电脑无法检测到网络代理 浏览:1363
笔记本电脑一天会用多少流量 浏览:533
苹果电脑整机转移新机 浏览:1367
突然无法连接工作网络 浏览:1015
联通网络怎么设置才好 浏览:1212
小区网络电脑怎么连接路由器 浏览:990
p1108打印机网络共享 浏览:1201
怎么调节台式电脑护眼 浏览:652
深圳天虹苹果电脑 浏览:891
网络总是异常断开 浏览:602
中级配置台式电脑 浏览:948
中国网络安全的战士 浏览:622
同志网站在哪里 浏览:1402
版观看完整完结免费手机在线 浏览:1448
怎样切换默认数据网络设置 浏览:1098
肯德基无线网无法访问网络 浏览:1274
光纤猫怎么连接不上网络 浏览:1428
神武3手游网络连接 浏览:955
局网打印机网络共享 浏览:990