第一步: 凋谢 windows 对 wsl2 的防火墙
大家都晓得 wsl2 和 wsl1 不一样, wsl2 基本上就是一个虚拟机, 虚构了一个 linux 的零碎
主机之间是有防火墙的, 当初咱们要敞开它
关上 powershell7 以管理员身份运行
PS C:\WINDOWS\system32> New-NetFirewallRule -DisplayName "WSL" -Direction Inbound -InterfaceAlias "vEthernet (WSL)" -Action Allow
这条命令单纯凋谢了主零碎 windows 对 wsl2 的局域网拜访权限, 无毒有害
如果胜利你应该能够在 设置 -> 防火墙 -> 高级设置 -> 入站规定
中看到
第一步实现
第二步: 应用魔法
没有魔法必定上不了不必想了 个别也得花点米 这里不敢细讲 我自用的是 SDKDNS
第三步: 应用 Clash for window 软件代理
我的本来的代理软件貌似无奈代理 wsl2 的环境, 我最初用了 Clash for window
解决了, SDKDNS 官网有配置这个的教程, 并给了一键配置的计划, 十分不便
如果你用的不是Clash for window
, 你应该更改代理的端口号, 个别代理软件会给出这些信息, 替换掉他们
比方你的代理软件在 2333
端口那么第四步中的脚本的那一行就应该改一下
alias setss='export https_proxy="http://${hostip}:2333";export http_proxy="http://${hostip}:2333";export all_proxy="socks5://${hostip}:2333";'
第四步: WSL2 的配置
以下办法援用自 这里
## 获取主机 IP
## 主机 IP 保留在 /etc/resolv.conf 中 wsl2 须要通过这个 ip 拜访 windows
export hostip=$(cat /etc/resolv.conf |grep -oP '(?<=nameserver\).*')
而后粘贴上面的脚本并运行
export hostip=$(cat /etc/resolv.conf |grep -oP '(?<=nameserver\).*')
alias setss='export https_proxy="http://${hostip}:7890";export http_proxy="http://${hostip}:7890";export all_proxy="socks5://${hostip}:7890";'
alias unsetss='unset all_proxy'
下面的脚本只影响以后会话 大可不必放心会把 wsl 的网络搞崩 也就是你重新启动个 shell
这些环境都没了
如果感觉每次粘贴麻烦 能够将这脚本粘贴到用户目录下的 .zshrc
配置文件或 bash 的配置文件中
或保留为任意文件每次运行source < 保留的脚本文件名 >
第五步: enjoy😎
➜ ~ curl www.google.com
<!doctype html><html itemscope=""itemtype="http://schema.org/WebPage"lang="ja"><head><meta content="世界中のあらゆる情報を検索するためのツールを提供しています。さまざまな検索機能を活用して、お探