WSL2 中访问 Windows 的代理的最简易方案

前言

学校的网卡不允许运行虚拟机,所以必须将 WSL 的流量变成主机的流量,但从百度查的方案都是设置 Windows 主机的 IP,都忽视了 Windows 的默认功能,即 mdns 或 Windows 局域网内主机名注册功能,本文依照该功能进行实践。(不用改任何设置,不用装任何多余软件,仅需配置环境变量)

查找主机名

这一步很简单,可以有多种方案

  1. 控制面板\系统和安全\系统 中有计算机名一项
  2. 右键开始菜单,有系统按钮,点击系统按钮后可查看设备名称
  3. 从命令行查找:输入 systeminfo 稍等一小会就可以看到主机名
主机名:           <你的主机名>
OS 名称:          Microsoft Windows 11 专业工作站版
OS 版本:          10.0.22616 暂缺 Build 22616
OS 制造商:        Microsoft Corporation
OS 配置:          独立工作站
OS 构建类型:      Multiprocessor Free

测试 mdns 或 Windows 主机名可用性

并不能确定 mdns 是否可用,因版本而异,是可用的,但 Windows 主机名在各个版本中均通用。如果希望用 mdns 却使用旧版本 Windows,流程也非常简单,只需安装 iTunes 即可(根据资料显示 1803 版本以后已自带 mdns)。笔者更推荐使用 mdns 方案,支持系统更多。

# 测试 mdns
ping <你的主机名>.local
# 测试 Windows 主机名
ping <你的主机名>

以上测试其中一个可用即可。

修改 .bashrc

# 使用 vim 编辑
vim ~/.bashrc

如果选择 mdns 方案的话在 .bashrc 中第一行插入下面语句

export HTTP_PROXY="http://<你的主机名>.local:<端口>"
export HTTPS_PROXY="http://<你的主机名>.local:<端口>"

如果选择 Windows 主机名方案的话在 .bashrc 中第一行插入下面语句

export HTTP_PROXY="http://<你的主机名>:<端口>"
export HTTPS_PROXY="http://<你的主机名>:<端口>"

参考

  1. Multicast DNS - Wikipedia
  2. mDNSを使ってローカルDNSサーバーを廃止する - Qiita
posted @ 2022-05-11 11:32  Aoba_xu  阅读(565)  评论(0编辑  收藏  举报