使用RPC和Squid搭建代理实现在校外使用外网 访问校园网解决办法
校外使用外网访问校园网
写在前面:知网以及很多顶会期刊都是商业数据库,下载里面的文献是收费的;
而我们学校购买了这些服务,只要使用校园网就可以免费下载里面的文献;
校园网部署了防火墙,校外是无法使用校园网的,为了回到家也能下载期刊论文,在校园内先提前部署好。在此详细记录一种实现方法。
文章目录
- 校外使用外网访问校园网
- 一、所需材料
- 二、原理
- 三、实现内网穿透
- 1、在云服务器上安装frp
- 2、在校内主机上安装frp
- 3、测试frp是否搭建成功
- 四、校内主机实现代理服务器功能
- 1、校内主机安装Squid软件
- 2、修改校内主机frp客户端配置文件frpc.ini
- 五、效果演示
一、所需材料
在开始之前,以下教程需要用到的设备有:
- 一台具备公网ip的主机(笔者用的是一台阿里云服务器)
- 一台校园内部常开的主机(笔者用的是搭载了Centos的主机)
- 校外的一台Windows笔记本电脑
用到的软件有:
- frp(内网穿透工具,frp是这方面主流的工具)
- Squid(UNIX/linux主要采用Squid实现代理服务器功能)
二、原理
1、为了实现外网能够访问校园网,我们须在云服务器和校内主机上都安装frp软件,实现内网穿透功能;
2、在校内主机上安装Squid软件,从而将校内主机变为代理服务器,能够转发接收到的浏览器请求。
三、实现内网穿透
1、在云服务器上安装frp
Xshell等软件远程连接云服务器,并用root账号登陆;
cd /usr/local/src #进入此目录
wget https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_linux_amd64.tar.gz
上面网址是frp在Github的下载地址,大家自己在Github上找到frp的合适版本,frp的Github官网地址也有很多示例教程。
tar -xvf frp_0.38.0_linux_amd64.tar.gz #解压文件
cd frp_0.31.1_linux_amd64/
ls
配置frp服务器端配置文件frps.ini
用vim命令打开frps.ini文件
[common]
bind_port = 7000 #frp使用的端口dashboard_user = admin #流量监控的账户 自己设置
dashboard_pwd = 123456 #流量监控的密码 自己设置
dashboard_port = 6440 #流量监控程序的端口,搭建完成之后用 云服务器IP:6440 就可以打开流量监控网页程序
启动frp服务端
nohup ./frps -c ./frps.ini &
注:nohup的作用是让我在关闭Xshell远程连接时,frp服务端不会跟ssh进程一起关闭。
参考文档:
解决Linux关闭终端(关闭SSH等)后运行的程序自动停止
在linux后台运行脚本命令和程序的方法大全
注意事项 :
国内云服务器大多都要配置安全组的,以阿里云为例,配置规则里更改访问规则,从而打开需要用到的端口。
2、在校内主机上安装frp
用Xshell连接校内主机,并用root账户登录。
cd /usr/local/src #进入此目录
wget https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_linux_amd64.tar.gz #笔者这里用的版本和云服务器的一样,读者在Github选择自己合适的版本
tar -xvf frp_0.31.1_linux_amd64.tar.gz #解压文件
cd frp_0.31.1_linux_amd64/
ls
配置frp客户端配置文件frpc.ini
用vim命令打开frpc.ini文件。
[common]
server_addr = <你的云服务器IP地址>
server_port = 7000
tls_enable = true #新增这句话
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22 #local_port端口是校内主机的ssh端口号
remote_port = 6001 #remote_port端口是云服务器的端口号。此端口自己设置,实现当你用Xshell连接 云服务器IP地址:6001即是在连接你校内主机的SSH端口
启动frp客户端
./frpc -c ./frpc.ini
3、测试frp是否搭建成功
用Xshell连接,连接地址填 云服务器IP地址:6001,用户名和密码填校内主机的。如果ssh能够成功连接,则成功实现内网穿透。
这是官方提供的教程:通过SSH访问内网机器
四、校内主机实现代理服务器功能
1、校内主机安装Squid软件
安装软件
Xshell远程连接校内服务器,以root身份登录
终端执行命令
yum install squid -y
yum install httpd-tools -y
生成密码文件
mkdir /etc/squid3/
#ikaros 是用户名
htpasswd -cd /etc/squid3/passwords ikaros
#提示输入密码,比如输入123456
测试密码文件
/usr/lib64/squid/basic_ncsa_auth /etc/squid3/passwords
#输入用户名 密码
ikaros 123456
#提示ok说明成功
ok
#ctrl+c退出
配置squid.conf文件
vim /etc/squid/squid.conf
#在最后添加
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid3/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated# And finally deny all other access to this proxy
http_access allow all# Deny CONNECT to other than secure SSL ports
http_access allow CONNECT !SSL_ports#这里是端口号,可以按需修改
#http_port 3128 这样写会同时监听ipv6和ipv4的端口,推荐适应下面的配置方法。
http_port 0.0.0.0:3128
启动 ,停止,重启等
#启动start
systemctl start squid.service
#停止stop
systemctl stop squid.service
#重启stop
systemctl restart squid.service
#配置开机自启动
systemctl enable squid.service
#关闭开机自启动
systemctl disable squid.service
#查看运行状态
systemctl status squid.service
参考教程:Centos7搭建Squid代理服务器
2、修改校内主机frp客户端配置文件frpc.ini
我们在4.1步骤里添加了校内主机3128端口为代理服务器的端口,所有到此端口的浏览器请求都会被此端口转发出去。
此时我们还得更改校内主机frp客户端配置文件frpc.ini,从而使云服务器所收到的浏览器请求转发到校内主机的3128端口。
Xshell以root身份连接校内主机
cd /usr/local/src/frp_0.38.0_linux_amd64/ #进入校内服务器的存放frp文件的目录
vim frpc.ini#在最后添加
[proxy-http]
local_ip = 127.0.0.1
local_port = 3128
remote_port = 8000 #此端口自己设置,步骤五会用到。
重启frp客户端
nohup ./frpc -c ./frpc.ini &
如果报以下错误,说明之前的frp客户端还没关闭。
关闭方法可kill此进程,具体方法百度如何重启frp客户端。
五、效果演示
到了这一步,校园网代理就算搭建完毕,可以直接使用windows连接我们的代理。
看校外的笔记本电脑是否呢能够免费下载知网,以及顶会期刊论文。
打开windows菜单->设置->网络与Internet->代理
在地址一栏填上你的云服务器IP地址,端口填8000(在4.2这一步设置的),然后打开使用代理服务器的开关
然后打开浏览器,就可以成功访问校园网资源啦,也可以免费下载知网,顶会期刊的论文了。
如下图,知网会显示机构的名称,此时就可以免费下载论文了。
不用的时候记得到设置里面将使用代理服务器关掉,否则会影响网速。
使用RPC和Squid搭建代理实现在校外使用外网 访问校园网解决办法相关推荐
- NAT反向代理技术的实现(外网访问内网)
NAT反向代理技术的实现(外网访问内网)(版权所有,引用 请联系作者,注明出处) NAT技术是网络中的重要应用之一.当有一个场景:内网搭建了服务器,需要外网访问时,可以借助NAT映射来实现.如:单位建 ...
- 在群晖NAS上搭建WordPress动态网站并实现外网访问
目录 一.安装套件 1. 安装Web Station套件 2. 安装MariaDB 10数据库套件 3.安装服务套件 4.我为什么要用WordPress? 5.建站的其它方法 二.访问WordPres ...
- 怎么在自己电脑上搭建一个服务器,以便于外网访问呢?
前几天我要测试一个项目,这个是需要往服务器上放才可以测的,但后台太忙了,所以就说让我自己在自己电脑搭建个服务器,把项目代码放在里面测就可以,其实搭建服务器的方法有很多,之前我有用过一个XMAPP的软件 ...
- Ngrok反向代理实现外网访问内网
该篇博客分享ngrok,这里使用国内作者的ngrok,国外有ngrok,但是访问国内访问比较慢 ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道.ngro ...
- 12 c for. oracle rac,【案例】Oracle RAC FOR AIX搭建执行root.sh时两次报错的解决办法
天萃荷净 运维DBA反映在aix 5.3 ml6安装10.2.0.1 rac报错0509-036 Cannot load program crsctl.bin because of the follo ...
- hsk内网穿透+SERV-U+搭建FTP服务器+并实现外网访问
转载:https://service.oray.com/question/752.html hsk服务目前的用户量已达1600万以上,广泛应用于网站建设.视频监控.遥感测绘.FTP.VPN.企业OA. ...
- 外网访问群晖NAS VMM搭建Openwrt的admin界面
偶然在网上看到很多的帖子使用群晖搭建openwrt搭建旁路由,心血来潮体验了一把,记录一下自己的搭建的整个过程,并最终实现外网访问Openwrt的admin界面. 本人使用的群晖nas DS220+, ...
- 从零开始搭建自己的网站可外网访问从购买服务器开始
从零开始搭建一个自己的网站 1.购买云服务器 2.进入云服务器修改文件 3.上传html文件 4.外网访问 5. 其他 5. 申请及绑定绑定域名 1.购买云服务器 想要自己搭建的网页可以被别人看到,不 ...
- 如何设置搭建内网共享服务器?并实现外网访问?
在工作中,有时需要两台不同系统的电脑在同一个路由器下访问共享文件夹进行数据共享,这从本质上说就是在同一个局域网下设备之间的互通互联,这时候我们可以通过搭建一个内网文件共享服务器来实现此功能 ,比如常见 ...
最新文章
- 清华张悠慧:AI时代,「图灵完备」之后,「类脑计算完备」如何设计?
- AtCoder AGC037D Sorting a Grid (二分图匹配)
- Potplayer使用必看
- 远控免杀专题(23)-SharpShooter免杀
- 二十年后我发明了保姆机器人作文_机器人保姆我的发明作文450字
- abaqus失效单元删除_abaqus单元删除的一般方法
- cf修复服务器,CF:“卡顿”问题终于得到重视!新版本宣布修复,玩家这下开心了...
- C++安全方向(三):3.8 openssl单项散列章节总结
- OpenCV+MFC显示图像
- 如何正确选用无线模块天线
- linux java目录 语法_Linux 文件和目录的属性
- 【毕业设计】基于单片机的智能饮水控制系统 - 物联网 嵌入式 stm32 c51
- 南阳oj 找球号(一)
- 凡诺php1.3收费版下载,fnqywz_php_v1.2
- Linux环境批量下载阿里云盘资源
- Java各版本发布时间
- ArcGIS的符号选择器(Symbol Selector)为空的解决办法
- 关于语言发育迟缓的孩子
- 《图解密码技术》笔记5:公钥密码-用公钥加密,用私钥解密
- 搭建Discuz论坛网站-最新版Discuz3.4