12.21 Squid代理服务器用户认证配置图文详解

前言

Squid是Linux系统中著名的开源代理服务器软件,本案例讨论如何使用Squid的用户认证功能,实现授权用户通过代理服务器连接互联网。关于Squid的基础配置,请参考我以前的文章 ,本文对Squid基础配置和原理不再赘述。

Squid代理服务器用户认证配置图文详解

图1 模拟实验环境

本案例的模拟实验环境如图1所示,客户端通过Squid代理访问Internet,同时加入用户认证环节,需要客户端提供授权用户的密码,才能够访问Internet,该功能提高了Squid的安全性和实用性。

模拟实验

模拟实验环节分为三部分:Squid服务器基础配置;client客户端配置;Squid服务器认证配置;client客户端验证效果

实验环境

  • CentOS7 Squid代理服务器 双网卡:WAN(192.168.10.88);LAN(172.16.0.1)
  • Windows7 client客户端 172.16.100.100

Squid服务器基础配置

Squid代理服务器用户认证配置图文详解

图2 双网卡

图2 配置Squid服务器双网卡,其中ifcfg-ens33模拟WAN口,属于外网网卡,ifcfg-ens36模拟LAN口,属于内网网卡。

Squid代理服务器用户认证配置图文详解

图3 WAN 网卡配置信息

图3 配置WAN网卡信息,注意这里要根据自己的网络环境配置,使该网卡能够连接互联网,我用的是桥接模式,连接接入物理网络,该网络使用192.168.10.0/24网段地址,网关192.168.10.1,DNS客户端10.20.0.233。大家根据自己的物理网络环境配置相应的IP、网关和DNS客户端。

Squid代理服务器用户认证配置图文详解

图4 LAN 网卡配置信息

图4 配置LAN网卡信息,这里自定义配置,模拟内网网段,设置为172.16.0.1。

Squid代理服务器用户认证配置图文详解

图5 测试网络连通性

图5 验证是否能上网,这一步很关键,模拟环境下,要保证代理服务器本身接入Internet,我以测试头条网站为例,能够ping通,表示可以上网。

Squid代理服务器用户认证配置图文详解

图6 安装Squid

图6 安装Squid服务,记住先配置本地YUM安装源(限于篇幅,配置过程略,参考文章: )

Squid代理服务器用户认证配置图文详解

图7 /etc/squid/squid.conf

Squid代理服务器用户认证配置图文详解

图8 /etc/squid/squid.conf

图7和图8中,修改Squid服务器的主配置文件:/etc/squid/squid.conf,Squid是通过访问控制列表来控制客户端访问的,这里需要注意到的是图7中,访问控制列表localnet中包含了172.16.*网段,图8中,这个访问控制列表是允许通过代理服务器上网的。默认情况下,出于安全考虑,我们要禁止所有客户端连接代理服务器,所以在图8中,我把http_access allow localnet部分注释掉,并保留http_access deny all,这样,所有的客户端都被禁止连接Internet了。

配置完毕后记得启动Squid服务:systemctl start squid。

client客户端配置

Squid代理服务器用户认证配置图文详解

图9 配置client IP地址

图9 配置client的IP地址,地址信息自定义,只要保证它处在172.16.0.0/16网段就可以了。

Squid代理服务器用户认证配置图文详解

图10 配置IE浏览器代理

图10 配置IE浏览器代理服务,地址栏填写Squid的LAN口IP,端口默认tcp 3128(该端口是Squid服务的默认启用端口)。

Squid代理服务器用户认证配置图文详解

图11 浏览器访问互联网

图11 验证下访问互联网的效果,我们可以看到访问被拒绝,说明我们的Squid初始化配置是成功的,默认屏蔽所有客户端联网。

Squid服务器认证配置

Squid的用户认证配置过程分为两个部分:建立用户密码文件和修改修改主配置文件。

Squid代理服务器用户认证配置图文详解

图12 创建用户密码文件

图12 通过htpasswd指令创建用户密码文件,从图中我们可以看到用户密码文件/etc/squid/passwd,初始用户名element。

Squid代理服务器用户认证配置图文详解

图13 /etc/squid/squid.conf

图13 修改主配置文件,第一行定义了认证的密码文件位置,第四行定义了访问控制列表authuser(名字自定义),第五行放行该列表(allow)。

配置完毕后重启squid服务:systemctl restart squid。

client客户端验证效果

Squid代理服务器用户认证配置图文详解

图14 输入用户名密码

图14 回到client,刷新刚才的网页,马上提示输入用户名和密码。

Squid代理服务器用户认证配置图文详解

图15 访问成功

图15 通过用户名密码认证后,访问互联网成功!

总结

Squid用户认证功能在Squid代理服务器架设中非常有用,可以保证授权用户访问互联网,提高了Squid服务器的安全性,方便管理员的日常维护。通过访问控制列表,可以完成Squid服务器的高级应用设置,本案例中只讲到了用户认证访问控制列表,我们还可以根据访问控制列表完成其它的用户上网行为限制。在以后的课程中,我们将逐步展开Squid服务器的高级应用,好了本讲到此结束,感谢大家的观看!


分享到:


相關文章: