第一步: 凋谢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拜访windowsexport 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="世界中のあらゆる情報を検索するためのツールを提供しています。さまざまな検索機能を活用して、お探