其实办法还挺简单的,可能有的同学不知道,在一个局域网下如果有一台机器配置好了代理,那么这个代理是可以共享给这个局域网下的其他设备的,比较类似软路由哈!
具体方法如下:
Windows 端:
这里以 Clash 为例,打开 Allow LAN 选项,如下图所示。如果你使用其他软件,那可能是叫「网关模式」、「允许来自局域网的链接」或者其它的什么,都是一个东西,打开就好了,注意打开这个选项后你的电脑就可以代理整个局域网内的机器了,虽然其他的机器还需要额外的配置,但也还是注意安全。
对于 Clash 来说,这个选项是一次性的,下次开机它就关了,不过可以在配置文件里改,通常文件的开头就是。如下图,改成 true 就行。
开启这个选项后,仔细找找,你会找到一个 IP 地址和一个端口号,IP 其实就是本机 IP 啦,这两个数一会有用。
Clash 这个端口 http 和 socks 通用
注意如果后文配置后没有效果,那可能是 Windows 防火墙的锅,快去配置防火墙放行 Clash
WSL 2 端:
说是 WSL 2,其实其他的手机电脑都能连上,就在网络设置或者 WiFi 设置那有个配置代理,把上面得到的 IP 和端口填上就行。
下面就说说在 WSL 2 下怎么 *** 作吧!
注意修改成你的端口
如果是 socket5 协议的话
如果端口一样就可以合并成一句话,http 的同理
使用 curl 即可验证是否代理成功,如下有返回值说明成功
可以将上面命令选择你需要的添加到 .bashrc ,这样会让代理一直开启。
使用 zsh 应该保存到 ~/.zshrc
更新配置
或者添加如下,需要代理的时候输入 setss 即可设置代理,取消代理就 unsetss ,或者新开一个窗口。
下面第二条的长命令你好像得根据情况删掉一部分。
如下是我在 ~/.zshrc 中添加的配置文件
验证:
|
我的WSL2使用的是ubuntu 20.04.2.LTS, Windows是10专业版 Build: 19043.1526。本文只讨论应用级别通过网络互相访问的问题,不涉及文件互访。
由于多物理网卡,虚拟机网卡等原因,Windows会有多个IP Address,我们需要找出能与WSL2连同的那个。
启动WSL2,键入如下命令:
输出中nameserver 后面的地址即是我们要找的地址。
如:
172.27.160.1 就是我们要找的Windows的IP Address,后面会以 <win-ip>引用
启动WSL2,键入如下命令:
输出举例:
172.27.170.146 就是我们要找的WSL2的IP Address,后面会以 <wsl-ip>引用
默认情况下Windows的防火墙会阻止WSL2中应用对Windows的网络访问(see: Add "allow" rule to Windows firewall for WSL2 network · Issue #4585 · microsoft/WSL (github.com) ),解决办法是添加一条防火墙规则允许WSL2对Windows的访问。请以管理员身份打开PowerShell并键入以下命令:
输出举例:
命令成功执行后,我们会在Windows的防火墙高级设置的入站规则里会看到一条名为 WSL 的新规则:
以上配置好后,我们就可以在WSL2中通过 <win-ip>和 <端口>访问Windows中的应用程序。
我们可以在Windows中通过 <wsl-ip>和 <端口>访问WSL2中的应用程序。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)