美文网首页
WSL 2 配置代理

WSL 2 配置代理

作者: 东京的雨不会淋湿首尔 | 来源:发表于2021-10-29 10:04 被阅读0次

在 Windows 上设置好代理,连上了谷歌开开心心,但是 WSL 2 不能共享 Windows 的代理策略,如果在 WSL 上再装一个代理软件那可太麻烦了,所以得想想办法。

其实办法还挺简单的,可能有的同学不知道,在一个局域网下如果有一台机器配置好了代理,那么这个代理是可以共享给这个局域网下的其他设备的,比较类似软路由哈!

具体方法如下:
Windows 端:
这里以 Clash 为例,打开 Allow LAN 选项,如下图所示。如果你使用其他软件,那可能是叫「网关模式」、「允许来自局域网的链接」或者其它的什么,都是一个东西,打开就好了,注意打开这个选项后你的电脑就可以代理整个局域网内的机器了,虽然其他的机器还需要额外的配置,但也还是注意安全。


image.png

对于 Clash 来说,这个选项是一次性的,下次开机它就关了,不过可以在配置文件里改,通常文件的开头就是。如下图,改成 true 就行。

image.png

开启这个选项后,仔细找找,你会找到一个 IP 地址和一个端口号,IP 其实就是本机 IP 啦,这两个数一会有用。

image.png

Clash 这个端口 http 和 socks 通用

注意如果后文配置后没有效果,那可能是 Windows 防火墙的锅,快去配置防火墙放行 Clash

WSL 2 端:
说是 WSL 2,其实其他的手机电脑都能连上,就在网络设置或者 WiFi 设置那有个配置代理,把上面得到的 IP 和端口填上就行。

下面就说说在 WSL 2 下怎么操作吧!

## 获取主机 IP
## 主机 IP 保存在 /etc/resolv.conf 中
export hostip=$(cat /etc/resolv.conf |grep -oP '(?<=nameserver\ ).*')

Q: 以上似乎会定位到默认网关 192.168.3.1
A: 切换到 WSL2

export https_proxy="http://${hostip}:7890";
export http_proxy="http://${hostip}:7890";

注意修改成你的端口

如果是 socket5 协议的话

export http_proxy="socks5://${hostip}:7890"
export https_proxy="socks5://${hostip}:7890"

如果端口一样就可以合并成一句话,http 的同理

export all_proxy="socks5://${hostip}:7890"

使用 curl 即可验证是否代理成功,如下有返回值说明成功

➜  ~curl google.com
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8"><TITLE>301 Moved</TITLE></HEAD><BODY><H1>301 Moved</H1>The document has moved<A HREF="http://www.google.com/">here</A>.</BODY></HTML>

可以将上面命令选择你需要的添加到 .bashrc ,这样会让代理一直开启。
使用 zsh 应该保存到 ~/.zshrc

更新配置

source ~/.zshrc

或者添加如下,需要代理的时候输入 setss 即可设置代理,取消代理就 unsetss ,或者新开一个窗口。
下面第二条的长命令你好像得根据情况删掉一部分。

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'

如下是我在 ~/.zshrc 中添加的配置文件

export hostip=$(cat /etc/resolv.conf |grep -oP '(?<=nameserver\ ).*')
alias setss='export all_proxy="socks5://${hostip}:7890";'
alias unsetss='unset all_proxy'

验证:

➜  ~setss
➜  ~curl google.com
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8"><TITLE>301 Moved</TITLE></HEAD><BODY><H1>301 Moved</H1>The document has moved<A HREF="http://www.google.com/">here</A>.</BODY></HTML>➜  ~cedar unsetss➜  ~cedar curl google.comcurl: (28) Failed to connect to google.com port 80: Connection timed out

|

相关文章

  • WSL 2 配置代理

    在 Windows 上设置好代理,连上了谷歌开开心心,但是 WSL 2 不能共享 Windows 的代理策略,如果...

  • 手机访问wsl2网站

    查看wsl2的ip 开启服务,如nginx(配置端口为非80端口) 确保 wsl2的ip:nginx配置中的端口 ...

  • WSL2 配置深度学习环境

    1 安装和配置 WSL2 参考:双系统的日子结束了:Windows和Linux将合二为一 WSL 2是 WSL 中...

  • win10-wsl2-c++

    一、 wsl环境配置-旧 一、wsl环境配置-新 1、升级系统 直接使用云重装windows系统 2、安装dock...

  • 为 WSL2 一键设置代理

    在 WSL2 环境中 clone 一个很大的 git 项目,不走代理速度很慢,所以研究了一下怎么让 WSL2 走 ...

  • wsl gui x11

    win10支持wsl2,和wsl1不同,wsl2相当于远程环境,在配置displya的时候要加上ip,否则不能用。...

  • 2019-12-17 wsl - git设置代理加速github

    wsl - git设置代理加速github拉去项目 1、使用命令 2、编辑文件 取消代理 git 标签的使用 gi...

  • windos环境安装wsl2 以及docker步骤

    windos环境安装wsl步骤 1.配置虚拟环境(以下所有的命令请在powershell中执行) 2.安装wsl_...

  • WSL+Intellij+Xdebug调试php

    配置环境 安装好wsl,wsl中安装php,php安装xdebug参考 配置xdebug 这里intellij中的...

  • Windows10 Bash(WSL) 配置 SSH

    Windows10 Bash(WSL) 配置 SSH Intro WSL(Windows Subsystem fo...

网友评论

      本文标题:WSL 2 配置代理

      本文链接:https://www.haomeiwen.com/subject/sqkialtx.html