校外使用校园网访问外网

  • 一、所需材料
  • 二、原理
  • 三、实现内网穿透
    • 1、在云服务器上安装frp
    • 2、在校内主机上安装frp
    • 3、测试frp是否搭建成功
  • 四、校内主机实现代理服务器功能
    • 1、校内主机安装Squid软件
    • 2、修改校内主机frp客户端配置文件frpc.ini
  • 五、效果演示

写在前面:知网以及很多顶会期刊都是商业数据库,下载里面的文献是收费的;
而我们学校购买了这些服务,只要使用校园网就可以免费下载里面的文献;
校园网部署了防火墙,校外是无法使用校园网的,今天是21.12.25,学校快放寒假了,为了回到家也能下载期刊论文,在校园内先提前部署好。在此详细记录一种实现方法。

一、所需材料

在开始之前,以下教程需要用到的设备有:

  • 一台具备公网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[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这一步设置的),然后打开使用代理服务器的开关

然后打开浏览器,就可以成功访问校园网资源啦,也可以免费下载知网,顶会期刊的论文了。
如下图,知网会显示机构的名称,此时就可以免费下载论文了。

不用的时候记得到设置里面将使用代理服务器关掉,否则会影响网速。

校外使用校园网访问外网相关推荐

  1. 主机与虚拟机相互通信及虚拟机访问外网

    相互通信指的是:主机(host)和虚拟主机(Vhost)能相互访问,宿主机及同一个局域网中的其他计算机能够访问到虚拟机,虚拟机也能访问到网络中的其它机器(当然包括宿主机).在我们接触的应用中,最常见的 ...

  2. VMWare中CentOS7 设置固定IP且能够访问外网

    最近搭建kubernetes集群环境时遇到一个问题,CentOS7在重启后IP发生变化导致集群中etcd服务无法启动后集群环境变得不可用,针对这种情况,必须要对CentOS7设置固定IP且可以访问外网 ...

  3. linux内网机器访问外网代理设置squid

    linux内网机器访问外网代理设置squid 公司一般出于安全考虑, 在同一局域网中只有一台机器可以访问外网,运维进行了整体的限制, 但是在后面的工作中,需要在机器上安装一些软件,及命令,所以其他的机 ...

  4. Virtualbox设置虚拟机访问外网以及主机访问虚拟机

    2019独角兽企业重金招聘Python工程师标准>>> 由于以前都是用VMware,第一次使用VirtualBox,所以使用的一些功能记录一下. 现在主要想满足下面功能: 1.虚拟机 ...

  5. OpenStack创建网络和虚拟机、dhcp设备、虚拟路由器、虚拟机访问外网原理分析

    创建网络和虚拟机流程: 1.创建网络和子网 背后发生了什么: Neutron让控制节点上针对此子网的dhcp(虚拟设备)启动,用于给该子网下的实例分配ip 2.生成虚拟机 背后发生了什么: 用户通过G ...

  6. ubuntu 配置dns访问外网

    我新建了一个虚拟机后采用的net模式 一 先配置虚拟机ip使其能在局域网内通信 1.vmware 编辑->虚拟网络编辑器 可以看到网关.掩码等信息 可以看到我们配置的ip应该在192.168.1 ...

  7. 虚拟机配置自定义静态ip,并能访问外网

    1.虚拟机设置 依次点击,编辑-虚拟网络编辑器 选择VMnet8,(也可以自己添加一个) 将最下面的子网IP配置成自己想设置的静态ip段. VMnet信息里面选择NAT模式,并单机后面的NAT设置(这 ...

  8. 虚机中访问外网;NAT中的POSTROUTING是怎么搞的?

    看下docker中是怎么配置的网络 在虚机中访问外网:设定了qemu,在主机上添加路由:sudo iptables -t nat -I POSTROUTING -s 192.168.1.110 -j ...

  9. VMware创建Linux及局域网内独立访问IP和访问外网IP的配置

    好早之前有一篇是配置远程连接Linux和部署Tomcat的文章,但是并没有讲解如何配置IP的相关知识.最近公司在搞集群配置,我就先拿电脑上的VMware上的Linux做个测试,分享和总结一下经验吧,也 ...

最新文章

  1. 【AAAI2022】TLogic:时序知识图谱上可解释链接预测的时间逻辑规则
  2. 前端校招准备--HTTP相关面试题总结
  3. 组件通信 Provideinject
  4. PostgreSQL windows下安装出现问题的解决办法
  5. (*长期更新)软考网络工程师学习笔记——Section 9 应用层
  6. matlab采样频谱,Matlab对采样数据进行频谱分析
  7. 编写第二个页面:新闻阅读列表页面
  8. 力压华为小米!安兔兔1月安卓性能榜第一名是它!
  9. C语言和设计模式(之单件模式)
  10. 欧科云链OKLink:以太坊七日链上交易量上升30.67%
  11. ue4渲染速度太慢_技术汇丨如何在UE4中实现最佳性能和高质量视觉效果
  12. grpc+nginx架构部署指导
  13. 如何查找孔与轴配合的公差带表
  14. 在线富文本html编辑,html编辑器 - 经典富文本网页在线编辑器 - HtmlEditor
  15. 数据结构与算法介绍与学习路线
  16. Apereo CAS 5.0.X 配置数据库认证方式
  17. 小红书一个月快速涨十万粉的秘籍
  18. python构建一个计算列表中位数的函数_python学习之数据科学库
  19. ecshop ecmall shopex
  20. 优质项目管理从用户故事地图思维框架开始

热门文章

  1. 穿越派·派盘 + 思源笔记 = 私人笔记本
  2. git index.lock
  3. 数据架构与算法——C/C++实现冒泡排序(Bubble Sort)算法【建议收藏】
  4. 实现android wifi语音通话功能吗,Android下自写类似系统wifi管理功能的实现
  5. wps转ppt怎么转换?通过这些方法学会wps如何转换成ppt
  6. 传奇服务端:GOM GeeM2引擎更新时必须要修改哪些地方?
  7. EM78P468 义隆单片机 单键触控
  8. 计算机网络需要买什么电脑,教你如何自己配一台专门用来吃鸡的电脑
  9. Eric6中使用PYQT5在窗口显示图片
  10. 线性代数(五)特征值和特征向量