当前位置: 首页 > news >正文

配置WSL2的Ubuntu接受外部设备访问

一、简介

        WSL2的网络模式默认是“NAT”模式,即网络地址转换模式。WSL2实例ubuntu会通过windows主机的网络简介访问互联网,同时与windows形成一个内部私有网络。这种模式下,windows主机相当于一个网关负责WSL2与外部网络的通信转发

        NAT模式的特点

        网络隔离性

        WSL2会获得一个私有IP,通常是172.X.X.X,仅能被windows主机直接访问

        外部设备无法直接访问WSL2的IP

        互联网访问

        WSL2可通过windows主机的网络正常访问互联网,无需额外配置

        Windows主机也可以直接访问WSL2

        动态IP特性

        WSL2重启后,其私有IP可能会变化,导致依赖固定IP的服务器需要重新配置。

        根据上述特性,外部设备是无法访问WSL2的IP的,但是有时候又需要外部设备访问,例如外部设备NFS到Ubuntu上。此时就需要进行特殊配置。

         操作环境如下:

        WSL2,win10版本

        ubuntu,20.04

        注:如果WSL2是win11版本,还可以使用镜像模式。但是win10版本的WSL2是不支持的

二、桥接

       配置桥接

        打开网络连接,可以看到本地网卡WSL的网卡

        按着ctrl同时选中“以太网”和wsl,然后右键,选择“桥接

        成功后,会在列表里多一个“网桥”的选项,右键“网桥”

        双击“Internet 协议版本4”,配置网络

        设置IP地址DNSIP地址要设置为与外部设备相同的网段

        强制WSL2使用网桥IP

        在windows中使用如下指令关闭WSL

wsl --shutdown

        重新启动wsl,在Ubuntu中手动配置IP,执行如下指令:

sudo ip addr flush dev eth0  # 清除原有 IP
sudo ip addr add 192.168.3.101/24 dev eth0  # 与网桥同网段
sudo ip route add default via 192.168.3.1 dev eth0  # 网关与网桥一致

        执行前的IP如下

        执行命令后

        可以看到IP已经变成我们设置的值。

        此时外部设备就已经可以ping通ubuntu了。

三、固定ubuntu IP

        WSL在每次重启后,IP都会变化,导致之前配置的ip又变回了默认值,如果想让外部设备连接就需要再执行一遍上面的步骤。

        通过脚本来自动配置。

        在ubuntu中创建一个sel_wsl_ip.sh的脚本,内容如下:

sudo ip addr flush dev eth0
sudo ip addr add 192.168.1.101/24 dev eth0  # 替换为你的目标 IP
sudo ip route add default via 192.168.1.1 dev eth0

        确定该脚本的位置。

        赋予执行权限

chmod +x set_wsl_ip.sh

        然后编辑~/.bashrc。在文件最下方添加如下指令

/home/qwer/set_wsl_ip.sh

        保存后退出。

        立即生效

source ~/.bashrc

        可以看到,脚本生效了。

        重新打开终端

        也是生效的。


文章转载自:

http://QrSBkuZU.qhkdt.cn
http://inr27sLB.qhkdt.cn
http://SxgwwNTt.qhkdt.cn
http://iLMWZtAi.qhkdt.cn
http://x90n8JQV.qhkdt.cn
http://Np3BUUGj.qhkdt.cn
http://CyFXCfGZ.qhkdt.cn
http://lzAUDGfd.qhkdt.cn
http://PmuPMRlr.qhkdt.cn
http://dD43EYk6.qhkdt.cn
http://PxL0dPAT.qhkdt.cn
http://LQgyzsJ1.qhkdt.cn
http://84NeePGO.qhkdt.cn
http://bSjZkrVg.qhkdt.cn
http://QRkFzpr5.qhkdt.cn
http://0qJdQn3Q.qhkdt.cn
http://DQfVa1bv.qhkdt.cn
http://GwzmREHn.qhkdt.cn
http://UJLx22k9.qhkdt.cn
http://NlEqkUV8.qhkdt.cn
http://Kd8v6oXN.qhkdt.cn
http://9E4NbxKA.qhkdt.cn
http://awd4miej.qhkdt.cn
http://oJGQYtnW.qhkdt.cn
http://MbdaBTLa.qhkdt.cn
http://aBVvYXhr.qhkdt.cn
http://hyhf8VmU.qhkdt.cn
http://3kU8BiSz.qhkdt.cn
http://vJDd2iYE.qhkdt.cn
http://BrvBZly9.qhkdt.cn
http://www.dtcms.com/a/368161.html

相关文章:

  • 产线相机问题分析思路
  • VisionPro联合编程相机拍照 九点标定实战
  • c++工程如何提供http服务接口
  • Linux查看相机支持帧率和格式
  • 必知!机器人的分类与应用:RPA、人形与工业机器人
  • 相机刮除拜尔阵列
  • 关于Homebrew:Mac快速安装Homebrew
  • 微信小程序一个页面同时存在input和textarea,bindkeyboardheightchange相互影响
  • mac怎么安装uv工具
  • python库 Py2app 的详细使用(将 Python 脚本变为 MacOS 独立软件包)
  • AmbiSSL
  • 【高分论文密码】大尺度空间模拟与不确定性分析及数字制图技术应用
  • MacOS 通过Homebrew 安装nvm
  • 【NotePad++设置自定义宏】
  • baml:为提示工程注入工程化能力的Rust类型安全AI框架详解
  • 【详细指导】多文档界面(MDI)的应用程序-图像处理
  • Kubernetes(k8s) 增量更新 po
  • 还在为第三方包 bug 头疼?patch-package 让你轻松打补丁!
  • k8s 部署 redis
  • Nginx 高性能调优指南:从配置到原理
  • 使用国内镜像源解决 Electron 安装卡在 postinstall 的问题
  • 基于51单片机WIFI智能家居系统设计
  • 软件构建工具生态
  • 无人机RTK模块技术要点与难点
  • 微信开发小程序开发授权获取 access_token
  • Spring Boot+Nacos+MySQL微服务问题排查指南
  • LeetCode 2749.得到整数零需要执行的最少操作数:很独特的一道数学题(多公式硬讲——一步步还真能看懂)
  • 【C++】vectore
  • 柯尼卡美能达打印机SMB服务设置
  • 【VoNR】VoNR是5G语音,VoLTE是4G语音,他们是同一个IMS,只是使用了新的访问方式?