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

相关文章

Jsoncpp的安装与使用方式

《Jsoncpp的安装与使用方式》JsonCpp是一个用于解析和生成JSON数据的C++库,它支持解析JSON文件或字符串到C++对象,以及将C++对象序列化回JSON格式,安装JsonCpp可以通过... 目录安装jsoncppJsoncpp的使用Value类构造函数检测保存的数据类型提取数据对json数

mac安装redis全过程

《mac安装redis全过程》文章内容主要介绍了如何从官网下载指定版本的Redis,以及如何在自定义目录下安装和启动Redis,还提到了如何修改Redis的密码和配置文件,以及使用RedisInsig... 目录MAC安装Redis安装启动redis 配置redis 常用命令总结mac安装redis官网下

最新版IDEA配置 Tomcat的详细过程

《最新版IDEA配置Tomcat的详细过程》本文介绍如何在IDEA中配置Tomcat服务器,并创建Web项目,首先检查Tomcat是否安装完成,然后在IDEA中创建Web项目并添加Web结构,接着,... 目录配置tomcat第一步,先给项目添加Web结构查看端口号配置tomcat    先检查自己的to

Servlet中配置和使用过滤器的步骤记录

《Servlet中配置和使用过滤器的步骤记录》:本文主要介绍在Servlet中配置和使用过滤器的方法,包括创建过滤器类、配置过滤器以及在Web应用中使用过滤器等步骤,文中通过代码介绍的非常详细,需... 目录创建过滤器类配置过滤器使用过滤器总结在Servlet中配置和使用过滤器主要包括创建过滤器类、配置过滤

如何安装 Ubuntu 24.04 LTS 桌面版或服务器? Ubuntu安装指南

《如何安装Ubuntu24.04LTS桌面版或服务器?Ubuntu安装指南》对于我们程序员来说,有一个好用的操作系统、好的编程环境也是很重要,如何安装Ubuntu24.04LTS桌面... Ubuntu 24.04 LTS,代号 Noble NumBAT,于 2024 年 4 月 25 日正式发布,引入了众

如何安装HWE内核? Ubuntu安装hwe内核解决硬件太新的问题

《如何安装HWE内核?Ubuntu安装hwe内核解决硬件太新的问题》今天的主角就是hwe内核(hardwareenablementkernel),一般安装的Ubuntu都是初始内核,不能很好地支... 对于追求系统稳定性,又想充分利用最新硬件特性的 Ubuntu 用户来说,HWEXBQgUbdlna(Har

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo

python中poetry安装依赖

《python中poetry安装依赖》本文主要介绍了Poetry工具及其在Python项目中的安装和使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随... 目录前言1. 为什么pip install poetry 会造成依赖冲突1.1 全局环境依赖混淆:1

windows端python版本管理工具pyenv-win安装使用

《windows端python版本管理工具pyenv-win安装使用》:本文主要介绍如何通过git方式下载和配置pyenv-win,包括下载、克隆仓库、配置环境变量等步骤,同时还详细介绍了如何使用... 目录pyenv-win 下载配置环境变量使用 pyenv-win 管理 python 版本一、安装 和

在Spring中配置Quartz的三种方式

《在Spring中配置Quartz的三种方式》SpringQuartz是一个任务调度框架,它允许我们定期执行特定的任务,在Spring中,我们可以通过多种方式来配置Quartz,包括使用​​@Sche... 目录介绍使用 ​​@Scheduled​​ 注解XML 配置Java 配置1. 创建Quartz配置