Centos 7安装Squid代理服务及构建传统代理
发表于:2025-02-22 作者:千家信息网编辑
千家信息网最后更新 2025年02月22日,博文大纲一、Squid服务概述二、安装及运行控制一、Squid服务概述作为应用层的代理服务软件,Squid主要提供缓存加速、应用层过滤控制的功能。1、代理的工作机制当客户机通过代理来请求Web页面时,
千家信息网最后更新 2025年02月22日Centos 7安装Squid代理服务及构建传统代理
博文大纲
一、Squid服务概述
二、安装及运行控制
一、Squid服务概述
作为应用层的代理服务软件,Squid主要提供缓存加速、应用层过滤控制的功能。
1、代理的工作机制
当客户机通过代理来请求Web页面时,指定的代理服务器会先检查自己的缓存,如果缓存中已经有客户机需要的页面,则直接将缓存中的页面内容反馈给客户机;如果缓存中没有客户机要访问的页面,则由代理服务器向Internet发送访问请求,获得返回的Web页面以后,将网页数据保存到缓存中并发送给客户机,如下图所示:
由于客户机的web访问请求实际上是squid代理服务器来代替完成的,从而可以隐藏了用户的真实IP地址,起到一定的保护作用。另一方面,squid也可以针对要访问的目标、客户机的地址、访问的时间段进行过滤控制。
2、代理的基本类型
传统代理:也就是普通的代理服务,需要我们客户端在浏览器、聊天工具等一些程序中设置代理服务器的地址和端口,然后才能使用代理来访问网络,这种方式相比较而言比较麻烦,因为客户机还需手动指定代理服务器,所以一般用于Internet环境。
- 透明代理:与传统代理实现的功能是一样的,区别在于客户机不需要手动指定代理服务器的地址和端口,而是通过默认路由、防火墙策略将web访问重定向,实际上仍然交给代理服务器来处理,重定向的过程完全是由squid服务器进行的,所以对于客户机来说,甚至不知道自己使用了squid代理服务,因此呢,我们称之为透明模式。
透明代理多用于局域网环境,如在Linux网关中启用透明代理后,局域网主机无须进行额外设置就能享受更好的上网速度。
二、安装及运行控制
所需设备:
- Windows客户端一台;IP地址:192.168.100.102
- linux客户端一台;IP地址:192.168.100.10
- squid服务器一台; IP地址:192.168.100.20
- web服务器一台;IP地址:192.168.100.30
所需的镜像请访问:https://pan.baidu.com/s/1-3jN_z-JqWg2X1Bpz0SHUw
提取码:ysxn
1、安装httpd
[root@centos03 ~]# yum -y install httpd [root@centos03 ~]# cd /var/www/html/ [root@centos03 html]# ls -a. .. [root@centos03 html]# echo "www.accp.com" > index.html [root@centos03 ~]# systemctl start httpd [root@centos03 ~]# systemctl enable httpd
2、安装linux命令行客户机
[root@centos01 ~]# yum -y install elinks [root@centos01 ~]# elinks http://192.168.100.30
3、编译安装Squid
[root@centos02 ~]# mount /dev/cdrom /mnt/ [root@centos02 ~]# tar zxvf /mnt/squid-3.4.6.tar.gz -C /usr/src/ [root@centos02 squid-3.4.6]# ./configure --prefix=/usr/local/squid --sysconfdir=/etc --enable-linux-netfilter --enable-async-io=240 --enable-default-err-language-Simplify_Chinese --disable-poll --enable-epoll --enable-gnuregex [root@centos02 squid-3.4.6]# make && make install
上述配置项的具体作用如下:
- --prefix=/usr/local/squid :指定安装目录;
- --sysconfdir=/etc :单独将配置文件修改到其他目录;
- --enable-linux-netfilter:使用内核过滤;
- --enable-async-io=值:异步I/O,提升存储性能;
- --enable-default-err-language=Simplify_Chinese :错误信息显示语言;
- --disable-poll 与--enable-epoll:关闭默认使用poll模式,开启epoll模式提提升性能;
- --enable-gunregex:使用GUN正则表达式;
更多的配置项可以参考"./configure --help";
安装完成后,创建链接文件、创建用户和组
[root@centos02 ~]# ln -s /usr/local/squid/sbin/* /usr/local/sbin/[root@centos02 ~]# useradd -M -s /sbin/nologin squid [root@centos02 ~]# chown -R squid:squid /usr/local/squid/var/
4、修改squid主配置文件
[root@centos02 ~]# vim /etc/squid.conf 54 http_access allow all 60 http_port 3128 61 cache_effective_user squid 62 cache_effective_group squid 63 reply_body_max_size 10 MB 68 coredump_dir /usr/local/squid/var/cache/squid [root@centos02 ~]# squid -k parse
5、创建squid管理服务脚本
[root@centos02 ~]# vim /etc/init.d/squid #!/bin/bash# chkconfig: 35 90 25# config file:/etc/squid.conf# pidfile: /usr/local/squid/var/run/squid.pid# Description: Squid - Internet object cache.PID="/usr/local/squid/var/run/squid.pid"CONF="/etc/squid.conf"CMD="/usr/local/squid/sbin/squid"case "$1" in start) netstat -anpt | grep squid &> /dev/null if [ $? -eq 0 ] then echo "squid is running" else echo "正在启动squid..." $CMD fi;; stop) $CMD -k kill &> /dev/null rm -rf $PID &> /dev/null echo "正在关闭squid...";; status) [ -f $PID ] &> /dev/null if [ $? -eq 0 ] then netstat -anpt | grep squid else echo "Squid is not running." fi;; restart) $0 stop &> /dev/null echo "正在关闭squid..." $0 start &> /dev/null echo "正在启动squid...";;reload) $CMD -k reconfigure;;check) $CMD -k parse;;*) echo "用法: $0 {start|stop|restart|reload|check|status}"exit 1;;esac[root@centos02 ~]# chmod +x /etc/init.d/squid [root@centos02 ~]# chkconfig --add squid [root@centos02 ~]# chkconfig --level 35 squid on [root@centos02 ~]# /etc/init.d/squid start 正在启动squid...
现在基于传统代理的squid代理服务器已经配置完成了
6、Linux客户端命令行使用代理服务器
[root@centos01 ~]# vim /etc/profileHTTP_PROXY=http://192.168.100.20:3128 HTTPS_PROXY=http://192.168.100.20:3128 FTP_PROXY=http://192.168.100.20:3128 NO_PROXY=192.168.10.,192.168.20. export HTTP_PROXY HTTPS_PROXY FTP_PROXY NO_PROXY [root@centos01 ~]# source /etc/profile [root@centos01 ~]# elinks http://192.168.100.30 [root@centos03 ~]# tail -f /var/log/httpd/access_log 192.168.100.20 - - [18/Nov/2019:04:38:40 +0800] "GET / HTTP/1.1" 200 13 "-" "ELinks/0.12pre6 (textmode; Linux; 80x18-2)"
7、Windows客户机使用代理服务器
1)网卡更换成同一块网卡
2)配置同网段IP地址
3)配置代理服务器IP地址和端口号
4)访问192.168.100.30测试是否成功
5)网站服务器追踪squid代理服务器的访问日志文件
[root@centos03 ~]# tail -f /var/log/httpd/access_log 192.168.100.20 - - [18/Nov/2019:04:38:40 +0800] "GET / HTTP/1.1" 200 13 "-" "ELinks/0.12pre6 (textmode; Linux; 80x18-2)"192.168.100.20 - - [18/Nov/2019:05:18:03 +0800] "GET /favicon.ico HTTP/1.1" 404 209 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)"
透明代理将在下一篇博文详细配置,尽情期待!!!
------ 本文至此结束,感谢阅读 ------
代理
服务
客户
服务器
客户机
地址
配置
缓存
正在
页面
客户端
文件
控制
代理服务
传统
模式
作用
功能
命令
实际
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
一站式网络技术推广排名靠前
电脑网络技术要多快
袁阔成评书软件开发
软件开发文档背景图ins
陕西公安警官学院网络安全专业
指战员网络安全排查
网上外卖系统数据库
送产权的服务器
乐陵软件开发怎么样
腾讯安全管家 服务器
心电图软件开发
软件开发 的错误
2021网络安全审查法
保存的数据库点进去是灰色的
桃江租房软件开发
国家网络安全宣传周全国开展
科技企业包括互联网
广州多益网络技术
数据库怎么挖到目标
数据库主密钥怎么创建
肇庆pc软件开发报价
根据司法厅网络安全要求
excel实时显示服务器数据库
邮箱收件服务器是干嘛的
hp服务器引导盘安装
矿车服务器
影之刃3换服务器
360天擎服务器同步
中国网络安全教育法
智慧网络技术有哪几种