Centos 7.2 安装配置带用户认证的squid正向代理

2024-04-13 05:48

本文主要是介绍Centos 7.2 安装配置带用户认证的squid正向代理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

squid介绍

 Squid 是一个缓存 Internet 数据的软件,其接收用户的下载申请,并自动处理所下载的数据。当一个用户想要下载一个主页时,可以向 Squid 发出一个申请,要 Squid 代替其进行下载,然后 Squid 连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid 把保存的备份立即传给用户。
 按照代理类型的不同,可以将 Squid 代理分为正向代理和反向代理,正向代理中,根据实现方式的不同,又可以分为普通代理和透明代理。
普通代理:需要客户机在浏览器中指定代理服务器的地址、端口。
透明代理:适用于企业的网关主机(共享接入 Internet)中,客户机不需要指定代理服务器地址、端口等信息,代理服务器需要设置防火墙策略将客户机的 Web 访问数据转交给代理服务程序处理。
反向代理:是指以代理服务器来接受 Internet 上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 Internet 上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

一、代理服务器系统环境

[root@ecs-35f2 ~]# cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 

 

[root@ecs-35f2 ~]# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether fa:16:3e:49:29:b4 brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.181/24 brd 192.168.2.255 scope global dynamic eth0
       valid_lft 75669sec preferred_lft 75669sec
    inet6 fe80::f816:3eff:fe49:29b4/64 scope link 
       valid_lft forever preferred_lft forever

二、yum安装squid,这里使用基于web服务apache的htpasswd密码认证,所以也安装上httpd

[root@ecs-35f2 ~]# yum install -y squid

[root@ecs-35f2 ~]# yum install -y httpd

 

三、创建用户并设置密码,注意密码长度不要超过8位

[root@ecs-35f2 squid]# htpasswd -cd /etc/squid/passwords test #test是自己取得用户名
New password:   #输入两次相同的密码
Re-type new password: 
Adding password for user test

四、验证密码文件

[root@ecs-35f2 squid]# /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwords 
test qq..123
OK 

#显示OK就证明成功(用户名:test ,密码qq..123),按ctrl+c 终端退出

五、配置squid文件,打开默认安装路径 /etc/squid/squid.conf

[root@ecs-35f2 squid]# vim /etc/squid/squid.conf

 

这里我只放通可以使用代理的内网IP网段和端口号

 

因为规则是从上往下的,所以要在http_access deny all 拒绝所有这条规则上面添加认证用户配置,使用默认端口3128,也可以自己更改,等下客户端需要用到这个端口号。

添加注释:

#http_access allow localnet

添加:

auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwords
auth_param basic credentialsttl 5 hours
acl ncsa_users proxy_auth REQUIRED
http_access allow ncsa_users

去掉注释:

cache_dir ufs /var/spool/squid 100 16 256

 

保存退出

 

六、初始化squid

[root@ecs-35f2 ~]# squid -z

按ctrl+c 终端退出

 

七、开启squid并设置开机启动

[root@ecs-35f2 ~]# systemctl start squid.service 

 

[root@ecs-35f2 ~]# systemctl enable  squid.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/squid.service to /usr/lib/systemd/system/squid.service.

八、关闭防火墙,设置SELINUX=disabled

[root@ecs-35f2 ~]# systemctl stop firewalld

[root@ecs-35f2 ~]# cat /etc/selinux/config 


# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted 

九、客户端

Windows设置:

打开IE浏览器》Internet选项》连接》局域网设置》代理服务器(设置代理服务器的IP和端口,这里的代理服务器内网ip是192.168.2.181,默认端口3128。代理服务器是可以上公网的)

 

 

设置好如果点击上网就会弹出输入用户名和密码窗口,输入用户名和和密码即可上网。

 

查看IP

Linux客户端:

[root@ecs-5c78-0002 ~]# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether fa:16:3e:08:88:97 brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.34/24 brd 192.168.2.255 scope global dynamic eth0
       valid_lft 80590sec preferred_lft 80590sec
    inet6 fe80::f816:3eff:fe08:8897/64 scope link 
       valid_lft forever preferred_lft forever

 

设置

[root@ecs-5c78-0002 ~]# export http_proxy="test:qq..123@192.168.2.181:3128"

#export http_proxy="代理用户名:密码@代理服务器IP:端口"

注:停止使用代理的时候,要把改过的文件改成原样.尤其是如果使用了export http_proxy=""代理用户名:密码@代理服务器IP:端口"命令,
要在命令行输入: unset http_proxy ,去除环境变量.
因为export http_proxy=""代理用户名:密码@代理服务器IP:端口"这条命令的实质是把export后面的设置写进环境设置文件中

 

删除之后就异常

至此完成!

这篇关于Centos 7.2 安装配置带用户认证的squid正向代理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/899290

相关文章

Win安装MySQL8全过程

《Win安装MySQL8全过程》:本文主要介绍Win安装MySQL8全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Win安装mysql81、下载MySQL2、解压文件3、新建文件夹data,用于保存数据库数据文件4、在mysql根目录下新建文件my.ini

SpringBoot3.4配置校验新特性的用法详解

《SpringBoot3.4配置校验新特性的用法详解》SpringBoot3.4对配置校验支持进行了全面升级,这篇文章为大家详细介绍了一下它们的具体使用,文中的示例代码讲解详细,感兴趣的小伙伴可以参考... 目录基本用法示例定义配置类配置 application.yml注入使用嵌套对象与集合元素深度校验开发

Spring Security自定义身份认证的实现方法

《SpringSecurity自定义身份认证的实现方法》:本文主要介绍SpringSecurity自定义身份认证的实现方法,下面对SpringSecurity的这三种自定义身份认证进行详细讲解,... 目录1.内存身份认证(1)创建配置类(2)验证内存身份认证2.JDBC身份认证(1)数据准备 (2)配置依

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

SpringBoot UserAgentUtils获取用户浏览器的用法

《SpringBootUserAgentUtils获取用户浏览器的用法》UserAgentUtils是于处理用户代理(User-Agent)字符串的工具类,一般用于解析和处理浏览器、操作系统以及设备... 目录介绍效果图依赖封装客户端工具封装IP工具实体类获取设备信息入库介绍UserAgentUtils

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

如何为Yarn配置国内源的详细教程

《如何为Yarn配置国内源的详细教程》在使用Yarn进行项目开发时,由于网络原因,直接使用官方源可能会导致下载速度慢或连接失败,配置国内源可以显著提高包的下载速度和稳定性,本文将详细介绍如何为Yarn... 目录一、查询当前使用的镜像源二、设置国内源1. 设置为淘宝镜像源2. 设置为其他国内源三、还原为官方

最详细安装 PostgreSQL方法及常见问题解决

《最详细安装PostgreSQL方法及常见问题解决》:本文主要介绍最详细安装PostgreSQL方法及常见问题解决,介绍了在Windows系统上安装PostgreSQL及Linux系统上安装Po... 目录一、在 Windows 系统上安装 PostgreSQL1. 下载 PostgreSQL 安装包2.

Maven如何手动安装依赖到本地仓库

《Maven如何手动安装依赖到本地仓库》:本文主要介绍Maven如何手动安装依赖到本地仓库问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、下载依赖二、安装 JAR 文件到本地仓库三、验证安装四、在项目中使用该依赖1、注意事项2、额外提示总结一、下载依赖登

Mysql用户授权(GRANT)语法及示例解读

《Mysql用户授权(GRANT)语法及示例解读》:本文主要介绍Mysql用户授权(GRANT)语法及示例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql用户授权(GRANT)语法授予用户权限语法GRANT语句中的<权限类型>的使用WITH GRANT