同局域网下借助Windows PC中转实现Linux PC访问受限站点的可行性与实现方法咨询
同局域网下借助Windows PC中转实现Linux PC访问受限站点的可行性与实现方法咨询
当然可行!你的思路其实就是把Windows PC当成一个正向代理服务器,帮Linux PC转发请求和响应——这在同局域网场景下非常好实现,我给你整理了两种最常用的方案,按需选就行:
方案一:用Windows自带代理功能(零额外软件,快速上手)
这个方案最省事,不用装任何第三方工具:
- 第一步:配置Windows的代理监听
打开Windows「设置」→「网络和Internet」→「代理」,找到「手动设置代理」并开启它:- 在「地址」栏填Windows PC的局域网IP(比如192.168.1.100,你可以在Windows cmd里用
ipconfig查以太网的IPv4地址) - 端口选一个没被占用的,比如8080
- 一定要点「高级设置」,确保「允许局域网设备访问代理」的选项是开启的(不同Windows版本的表述可能略有不同,核心是让代理不是只监听本地)
- 在「地址」栏填Windows PC的局域网IP(比如192.168.1.100,你可以在Windows cmd里用
- 第二步:给Linux配置代理
- 图形界面操作:打开系统设置里的「网络代理」,选「手动」模式,把HTTP和HTTPS代理都设为Windows的局域网IP+刚才的端口(比如192.168.1.100:8080),保存后就能生效
- 命令行临时生效:执行以下命令
要永久生效的话,把这两行加到你的Shell配置文件里(比如export http_proxy=http://192.168.1.100:8080 export https_proxy=http://192.168.1.100:8080~/.bashrc或~/.zshrc),然后执行source ~/.bashrc刷新配置
方案二:用Windows版Nginx搭建正向代理(更灵活,适合复杂需求)
如果自带代理满足不了你的需求(比如需要自定义转发规则),可以用Nginx来搭:
- 第一步:下载Windows版Nginx,解压到任意目录(比如
C:\nginx) - 第二步:修改Nginx配置文件
打开conf/nginx.conf,在http块里添加这段正向代理配置:
保存后,打开命令提示符进入Nginx目录,执行server { listen 8080; resolver 8.8.8.8; # 可以换成你常用的DNS服务器地址 location / { proxy_pass $scheme://$host$request_uri; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }start nginx启动服务 - 第三步:Linux端的代理配置和方案一完全一致,指向Windows的IP和8080端口就行
几个要注意的点
- 一定要检查Windows的防火墙:确保允许8080端口的入站请求,不然Linux会连不上代理
- 测试方法:在Linux终端里用
curl -x http://192.168.1.100:8080 https://restricted.com,如果能拿到响应就说明配置成功了 - 如果受限站点需要特定证书或登录会话,Windows代理会自动复用自身的网络环境,所以只要Windows能正常访问,Linux通过代理一般也没问题
备注:内容来源于stack exchange,提问作者Trí Phan




