电脑无网络访问权限,有网但无internet访问

首页 > 数码 > 作者:YD1662022-12-03 00:51:26

当您在工作时想查些资料,正好这些资料是视频或音乐形式的. 咦为啥打不开,但是手机4G/5G可以打开呀, 原来是办公网络限制访问了视频音乐等网站.用手机多费电,还费流量,还不方便.

突然想到家里的宽带网速也挺快的.要是在公司也能用家里宽带就好了…
满足你,这就是今天要说的正向代理, 上原理图:
正常工作时的网络是这样的

电脑无网络访问权限,有网但无internet访问(1)

图1

一.架设代理

我们使用代理后是这样的.

电脑无网络访问权限,有网但无internet访问(2)

图2

代理软件有很多,比如squid,goProxy等.squid主要是http的代理比较局限.无论是goProxy还是squid配置起来都比较麻烦

本次采用我基于go-socks5实现的,使用简单不用配置,不记日志,默认端口8000,启动时可加-p参数修改.

下载地址: 链接: https://pan.baidu.com/s/108_3fGP14o8REfRJBtZE4g 提取码: w93c

1.1 启动服务端

在上边 图1 中右侧,服务端操作, 进入mysocks5所在的目录,运行

./mySocks -p 7777

1.2 客户端配置代理

在上边 图1 中左侧,PC端操作.使用chrome或火狐浏览器.下载SwitchyOmega插件 https://proxy-switchyomega.com/download/ ,用于连接服务端的代理进行上网.安装后新增情景模式参考如下:

电脑无网络访问权限,有网但无internet访问(3)

服务端的IP地址为公网IP.如果没有,请往下滑参考最底部的附言

并在浏览器的右上角启用

电脑无网络访问权限,有网但无internet访问(4)

1.3 测试

打开网址 cip.cc
看显示的IP是不是服务端的IP. 惊不惊喜,意不意外!

二.加密代理请求,突破限制

别着急,完成上面的步骤后,仅是用代理换了个IP上网,发现视频音乐网站依然上不去,这是为什么呢.因为是明文的请求,那么把所有请求加密下就可以了么? 对, 并且要在代理服务端解密,原理图如下:

电脑无网络访问权限,有网但无internet访问(5)

图3

说到这个连接加密就不得不提Stunnel了,主要用于隧道加密. 上图中淡蓝色背景即是它完成的功能.客户端对数据进行加密,服务端对数据解密,然后再走代理.

2.1 下载

stunnel下载地址, https://www.stunnel.org/downloads.html
如果是Linux 建议用yum或apt安装,mac建议用brew安装. 因为这个下载的是源码(win可以直接安装),需要编译安装.
安装后的Stunnel即可以是客户端也可以是服务端, 只是配置文件不一样

2.2 配置并启动服务端

这里配置实现的是上边 图3 中右侧淡蓝色背景部分

2.2.1 生成自签名证书

这里推荐使用mkcert,下载地址 https://github.com/FiloSottile/mkcert/releases

用它不需要一堆复杂的参数.非常简单,执行如下两条命令

./mkcert -install

./mkcert testxxx.com

会生成两个文件,一个cert(testxxx.com.pem),一个key(testxxx.com-key.pem).

2.2.2 配置文件(默认在/etc/stunnel目录下)

; **************************************************************************

; * Global options *

; **************************************************************************

; It is recommended to drop root privileges if stunnel is started by root

setuid = stunnel4

setgid = stunnel4

; PID file is created inside the chroot jail (if enabled)

pid = /var/run/stunnel4/stunnel.pid

debug = info

output = /var/log/stunnel4/stunnel.log

[socksProxy]

accept = 6666

connect = 7777

cert = /etc/stunnel/testxxx.com.pem

key = /etc/stunnel/testxxx.com-key.pem

注* pid的文件目录必须存在,且属主属组均是setuid和setgid设定的stunnel4,

accept 是要暴露到公网的端口,防火墙中放行

connect 是解密数据要连接的代理的端口

cert和key设置为上一步生成的证书

2.2.3 启动服务

stunnel4 /etc/stunnel/stunnel.conf

不确定是否启动成功可用命令查看 ps -ef|grep stunnel

2.3 配置并启动客户端

这里配置实现的是上边 图3 中左侧淡蓝色背景部分.

2.3.1 配置文件

; It is recommended to drop root privileges if stunnel is started by root

; PID file is created inside the chroot jail (if enabled)

pid = /usr/local/var/run/stunnelSocks.pid

[socksProxy]

client = yes

accept = 5555

connect = testxxx.com:6666

verifyChain = no

client 客户端一定要为yes

accept 客户端的代理端口也就是SwitchyOmega连接的端口.

connect 服务端的公网IP及端口

verifyChain 可以先为no, 后续玩转了再深究

2.3.2 启动服务

stunnel4 /etc/stunnel/stunnel.conf

如果是windows客户端的就更简单的,直接有界面.

2.4 测试

参考1.2中的SwitchyOmega插件配置, 把代理地址设置为localhost,端口设置为5555, 并启用代理后.

打开网址 cip.cc

看显示IP是否为服务端的IP.

实际打开视频音乐网站. 搞定!

如果你的服务端部署在阿里云或亚马逊云的国外服务器, 科学上网也是一样的道理,在此不再深究!

附言:

要完成上述功能,需要在公网上暴露出Stunnel的服务端端口,如果家中宽带无公网IP且不想拥有,可参考<<>>

如果想拥有公网IP参考<<>><< >><< >><<>>

只要你的机器暴露到公网就可能会面临网络攻击.可参考<<>>

-----------------end-----------------

欢迎大神补充指正! 如有疑问请留言!

原创不易,感谢各位 关注、点赞、评论、转发 !

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.