Linux配置成代理服务器

简介: 代理服务器(Proxy Server)是一种位于计算机网络中的中间服务器,它充当了客户端和目标服务器之间的中介,用于转发客户端请求并获取目标服务器的响应。代理服务器的主要功能包括以下几点:

什么是代理服务器

代理服务器(Proxy Server)是一种位于计算机网络中的中间服务器,它充当了客户端和目标服务器之间的中介,用于转发客户端请求并获取目标服务器的响应。代理服务器的主要功能包括以下几点:

1、 突破网站访问限制

对于个人用户而言,通过代理上网,能让我们访问到一些直接访问会比较慢或者被限制访问的网站,比如:访问教育网(中国教育和科研计算机网)的网站。

2、 提高访问速度

安装时,代理服务器会在本机硬盘上设置一个磁盘空间作为"缓存区",将代理用户从Internet(因特网)站点上接收的内容,下载一份保存起来,当下次再有用户访问同样的内容时,就会直接从缓存区调取内容,并传送给用户,而不再从Web服务器上进行查找和调取。代理服务器的这项"缓存"功能,可以大大地提高访问速度,同时也降低了通信费用,是一项非常重要的功能。

3、 隐藏真实IP,保护个人信息

上网者也可以通过代理服务器隐藏自己的真实IP,让自己避免遭受网络攻击。用户访问某些未知、不安全的网站,或者不想泄漏个人信息,可以通过访问代理服务器,然后再由代理服务器转发处理相互的信息,这样就不会泄漏用户的个人信息了。

4、 对内部网络用户进行权限和信息流量计费管理

通过代理服务器,网络管理员在提供Internet(因特网)服务时,可以容易地对内部网络用户进行"访问权限"和"信息流量计费"的管理。网络管理员,不但能够做到只允许被授权的局域网用户访问Internet(因特网),还能够控制这些用户在哪些时间、使用哪台计算机访问哪些类型的Internet(因特网)服务。

对于已经获准访问Internet(因特网)的用户,网络管理员还能够按照多种方式进行信息流量的计费管理,如:按照个人计费、按照部门所属计算机计费等,为网络管理带来了极大的方便。

5、 对进入内部网络的Internet(因特网)信息实施监控和过滤

为了避免那些与业务无关的信息进入内部网络浪费通信资费,各个机构对允许访问的内容往往有一些相应的规定。通过代理服务器,网络管理员不但可以采取过滤的方法简便地控制从Internet(因特网)流入内部网络的信息内容,还能对用户访问Internet(因特网)的情况进行实时监控和建立监查日志存档备查。

6、对用户进行分级管理,设置不同用户的访问权限

因为所有内部网的用户通过代理服务器访问外界时,只映射为一个IP地址,所以外界不能直接访问到内部网;同时可以设置IP地址过滤,限制内部网对外界的访问权限。可以通过限制封锁IP地址的方式,禁止某些用户、不法分子的访问,或者设置对某些网页的访问权限。

7、节省IP开销

代理服务器可以允许使用大量的伪IP地址,节约网上资源,即使用代理服务器可以减少对IP地址的需求。对于使用局域网方式接入Internet(因特网) ,如果为局域网内的每一个用户都申请一个IP地址,其费用可想而知。但是使用代理服务器后,只需要代理服务器上有一个合法的IP地址,至于局域网内的其他用户,可以使用"10...*"这样的私有IP地址,进行访问。如此可以节约大量的IP,降低网络的维护成本。

把Linux配置成代理服务器

开放的代理服务器

一、安装Squid

安装命令如下:

复制代码
yum install squid -y

二、修改配置文件

进入编辑模式:

复制代码
vim /etc/squid/squid.conf

然后把http_access deny all改为http_access allow all。下面的3128端口,如果已经被占用了的话,需要改一下。

【坑】如果你用的是阿里云服务器,记得同时去防火墙里把3128端口打开,不然访问不了。

三、启动Squid服务

启动命令:

复制代码
systemctl start squid

启动之后,查看系统有没有在监控3128端口,输入命令:

复制代码
netstat -ntl

其他相关命令:

复制代码
systemctl stop squid # 停止
service squid restart # 重启

四、关闭防火墙

关闭防火墙命令:

复制代码
systemctl stop firewalld

升级需要账号密码的代理服务器

一、安装httpd-tools

复制代码
yum install httpd-tools -y

**  二、创建用户与密码**

复制代码
htpasswd -c /etc/squid/passwd 你的代理用户名

会出现提示信息,让你输入密码与确认密码

三、squid.conf文件修改(/etc/squid/squid.conf)

复制代码
在#INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS下加入以下代码:
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
acl auth_user proxy_auth REQUIRED
http_access allow auth_user

**  四、启动或者重启squid**

复制代码
service squid restart

Linux系统使用代理服务器

临时通过代理访问

在另外的Linux机器上,打开对话框,输入:

复制代码
export http_proxy=http://192.168.13.114:3128

# curl -x http://<代理服务器地址>:<代理服务器端口> -U <用户名>:<密码> <目标URL>

curl -x http://192.168.13.114:3128 -U root:root https://blog.csdn.net

【注】192.168.13.114是我的代理服务器的ip。

当对话框关闭后,现在设置的代理就无效了。

Windows系统使用代理服务器

打开"开始"菜单,并点击"设置"图标。

在"设置"窗口中,选择"网络和互联网"。

在左侧导航栏中,点击"代理"。

在右侧的"代理服务器"部分,将"使用代理服务器"开关切换为打开状态。

在"地址"字段中输入代理服务器的 IP 地址或主机名,然后在"端口"字段中输入代理服务器的端口号。

如果您的代理服务器要求身份验证(用户名和密码),在使用浏览器的时候会出来弹窗让你输入: