使用squid搭建代理服务器

使用squid可以搭建代理服务器,可以用于翻墙访问国外网站。这里讲解通过在校内服务器上搭建squid代理服务,用于校外通过校内的代理服务器下载文献。

1. 在校内服务器上安装squid软件,并启动squid服务。

使用root权限在学校内网中安装有CentOS7系统的服务器上安装squid软件:

yum install squid

再修改squid配置文件,以让所有其它IP地址的用户可以访问校内服务器:

perl -p -i -e 's/http_access deny all/http_access allow all/' /etc/squid/squid.conf

启动squid服务:

systemctl start squid.service

2. 将代理服务器的3128端口映射到外网Aliyun服务器上的31280端口

squid代理服务器使用的默认端口是3128。若此时将内网服务器的防火墙开放3128端口,则在个人电脑上代理设置上填写内网服务器的固定IP和3128端口(见本文第4部分),在个人电脑上的浏览器访问网络时,就是通过代理服务器来访问了。

若是国外服务器上做的代理,则防火墙开放3128端口,可以在国内访问国外代理服务器进行翻墙。

firewall-cmd --add-port=3128/tcp --permanent 
systemctl restart firewalld.service 

由于学校内网一般对外封闭了所有的端口,在校外依然是无法使用代理服务器的。因此,需要通过一个具有外网固定IP的服务器来进行中转。我这儿就使用了Aliyun上购买的一台具有固定IP的云服务器进行中转。中转时不需要校内的服务器开放防火墙3128端口。

中转的方法是使用ssh进行反向隧道连接,在内网服务器上输入反向隧道命令,将内网服务器的3128端口映射到Aliyun服务器的31280端口。这样当访问Aliyun服务器的31280端口时,就等同于在内网服务器上直接访问3128端口了。

ssh -f -N -R 31280:localhost:3128 chenlianfu@115.29.105.xxx

3. 在校外有固定IP的Aliyun服务器防火墙上开放31280端口的访问

使用root用户在Aliyun服务器上操作,开放防火墙31280端口,以利于个人电脑能访问Aliyun服务器的31280端口。

firewall-cmd --add-port=31280/tcp --permanent 
systemctl restart firewalld.service

4. 个人Windows10电脑上设置代理访问

按windows+x键,再按字母n,打开系统设置界面;点击网络和internet,再点击代理;在下半个页面的手动设置代理部分,打开使用代理服务器开关,然后在地址栏填写Aliyun服务器的IP地址115.29.105.xxx,在端口栏填写31280,最后点击保存。

然后打开浏览器,输入网址,即可通过校内的代理服务器访问网络。这时等同于在学校连接校园网后的网络访问。当用IE浏览器访问网址,若代理服务器没生效,IE浏览器会报告正在使用某个IP某个端口进行代理访问,代理不成功等信息。

成功后,示例访问文献https://doi.org/10.1016/j.molp.2020.05.005,若能查看文献全文和下载PDF全文,则表示成功。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据