首页 > 编程知识 正文

http代理服务器搭建,代理服务器

时间:2023-05-04 21:24:42 阅读:127168 作者:2833

Squid主要提供缓存加速、APP应用层过滤控制功能。

另一方面,机制1 .可以代替客户端向网站请求数据,隐藏用户的真实IP地址。

2 .将获取的网页数据(静态Web元素)保存在缓存中发送到客户端,以便下次请求相同数据时能够快速响应。

二、Squid代理类型传统代理:

对于internet,必须在客户端上指定代理服务器的地址和端口。

透明代理:

客户端不需要指定代理服务器的地址和端口,而是通过默认路由、防火墙策略将Web访问重定向到代理服务器进行处理。

反向代理:

如果请求的资源缓存在Squid反向代理服务器上,则将请求的资源直接返回给客户端。 否则,反向代理服务器向后台WEB服务器请求资源,并将请求的响应返回给客户端,同时本地缓存该响应,以便下一个请求者使用。

三.实验环境构建安装Squid服务

(1)关闭防火墙

systemctlstopfirewalldsystemctldisablefirewalldsetenforce0(2)编译安装Squid

yum-yinstallgccgcc-cmaketarzxvfsquid-3.5.28.tar.gz-c/opt/CD/opt/squid-3.5.5.28./configure -。 --enable-Linux-t proxy--enable-async-io=100 (-- enable-underscore--enable-poll - enable-gnuregexmakemakeinstallln-s/usr/local/squid/s跳跃的羊/* /usr/local/s跳跃的羊/#squid是环境变量useradd-m 创建属于usr/local/squid/var/#组(3)并修改squid配置文件的squid所有者

----56插入56行----http_access allow all#放在http_access deny all之前,任何客户端都可以访问代理服务http _ accessdenyallhttp _ porory 默认端口号为3128----61在第61行中插入----cache_effective_user squid#,否则开始添加cache_effective_group squid# 帐户基本组----68修改68行----68指定core dump _ dir/usr/local/squid/var/cache/squid

(4) Squid的运行控制

#检查配置文件语法是否正确squid -k parse#启动squidsquid-z#-z选项初始化缓存目录squid#启动squid服务netstat-anpt|grep '

vim /etc/init.d/squid #! /跳的羊/bash # chkconfig 336023459025 PID='/usr/local/squid/var/run/squid.PID ' conf='/etc/squid.conf ; stop $ cmd-k kill/dev/null RM-RF $ PID/dev/null; satus((-f$PID )/dev/nullif ) $? -eq0 ) then netstat-natp|grepsquidelseecho ' squidisnotrunning ' fi; restart ) $0 stop /dev/null echo '正在关闭squid . ' $ 0start/dev/nullecho '正在启动squid . '

;; reload) $CMD -k reconfigure ;; check) $CMD -k parse ;; *) echo "用法:$0{start|stop|status|reload|check|restart}" ;;esac

2345是默认自启动级别,如是-代表任何级别都不自启动;90是启动优先级,25是停止优先级,优先级范围是0-100,数字越大,优先级越低。

chmod +x /etc/init.d/squidchkconfig --add squidchkconfig --level 35 squid on

构建传统代理服务器

vim /etc/squid.conf http_access allow allhttp_access deny allhttp_port 3128cache_effective_user squidcache_effective_group squid--63行--插入cache_mem 64 MB#指定缓存功能所使用的内存空间大小,便于保持访问较频繁的WEB对象,容量最好为4的倍数,单位为MB,建议设为物理内存的1/4reply_body_max_size 10 MB#允许用户下载的最大文件大小,以字节为单位,当下载超过指定大小的Web对象时,浏览器的报错页面中会出现“请求或访问太大”的提示默认设置0表示不进行限制maximum_object_size 4096 KB#允许保存到缓存空间的最大对象大小,以KB为单位,超过大小限制的文件将不被缓存,而是直接转发给用户service squid restart 或者 systemctl restart squid

生产环境中还需要修改防火墙规则

iptables -Fiptables -I INPUT -p tcp --dport 3128 -j ACCEPT

客户机的代理配置

打开浏览器,工具–>Internet选项–>连接–>局域网设置–>开启代理服务器(地址:Squid服务器IP地址,端口:3128)


注意:访问的wb服务器需要带有HTTP服务

查看 Squid 访问日志的新增记录

tail -f /usr/local/squid/var/logs/access.log


构建透明代理服务器
(1)网址设置

Squid服务器:双网卡,内网ens33:192.168.90.10 外网ens36:12.0.0.1Web 服务器:12.0.0.12客户机:192.168.90.100

(2)Squid服务器配置

vim /etc/squid.confhttp_access allow allhttp_access deny all----60行修改----修改添加提供内网服务的IP地址,和支持透明代理选项 transparenthttp_port 192.168.126.10:3128 transparentsystemctl restart squid


(3)开启路由转发,实现本机中不同网段的地址转发

echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.confsysctl -p修改防火墙规则iptables -Fiptables -t nat -Fiptables -t nat -I PREROUTING -i ens33 -s 192.168.90.0/24 -p tcp --dport 126 -j REDIRECT --to 3128#用于转发http协议iptables -t nat -I PREROUTING -i ens33 -s 192.168.90.0/24 -p tcp --dport 443 -j REDIRECT --to 3128#用于转发https协议iptables -I INPUT -p tcp --dport 3128 -j ACCEPT

(4)Web服务器配置

yum install -y httpdsystemctl start httpd

关闭客户机的浏览器之前设置的代理服务器的功能后访问 http://12.0.0.12

四、ACL访问控制

在配置文件 squid.conf 中,ACL 访问控制通过以下两个步骤来实现:
(1)使用 acl 配置项定义需要控制的条件;
(2)通过 http_access 配置项对已定义的列表做“允许”或“拒绝”访问的控制。

1、定义访问控制列表

格式:acl 列表名称 列表类型 列表内容 …vim /etc/squid.conf......acl localhost src 192.168.90.10/32 #源地址为 192.168.90.10acl MYLAN src 192.168.90.0/24 192.168.1.0/24#客户机网段acl destionhost dst 192.168.90.13/32#目标地址为 192.168.90.13acl MC20 maxconn 20#最大并发连接 20acl PORT port 21#目标端口 21acl DMBLOCK dstdomain .qq.com#目标域,匹配域内所有站点acl BURL url_regex -i ^rtsp:// ^emule://#以 rtsp://、emule:// 开头的 URL,-i表示忽略大小写acl PURL urlpath_regex -i .mp3$ .mp4$ .rmvb$#以 .mp3、.mp4、.rmvb 结尾的 URL 路径acl WORKTIME time MTWHF 08:30-17:30#时间为周一至周五 8:30~17:30,“MTWHF”为每个星期的英文首字母

2、启动对象列表管理

mkdir /etc/squidvim /etc/squid/dest.list192.168.90.20 #配置允许或者拒绝的ip地址,是web服务器的地址192.168.1.0/24

注意:做ACL要记得配置代理

vim /etc/squid.conf......acl destionhost dst "/etc/squid/dest.list"#调用指定文件中的列表内容......http_access deny(或allow) destionhost#注意,如果是拒绝列表,需要放在http_access allow all前面 service squid reload #重载一下配置

五、Squid 日志分析

1、安装图像处理软件包

yum install -y pcre-devel gd gd-develmkdir /usr/local/sargtar zxvf sarg-2.3.7.tar.gz -C /opt/ cd /opt/sarg-2.3.7./configure --prefix=/usr/local/sarg --sysconfdir=/etc/sarg --enable-extraprotectionmake && make install./configure --prefix=/usr/local/sarg–sysconfdir=/etc/sarg #配置文件目录,默认是/usr/loca/etc–enable-extraprotection #额外安全防护

2、修改配置文件

vim /etc/sarg/sarg.conf --7行--取消注释access_log /usr/local/squid/var/logs/access.log#指定访问日志文件--25行--取消注释title "Squid User Access Reports"#网页标题--120行--取消注释output_dir /var/www/html/sarg#报告输出目录--178行--取消注释user_ip no#使用用户名显示--184行--取消注释,修改topuser_sort_field connect reverse#top排序中,指定连接次数采用降序排列,升序是normal--190行--取消注释,修改user_sort_field connect reverse#对于用户访问记录,连接次数按降序排序--206行--取消注释,修改exclude_hosts /usr/local/sarg/noreport#指定不计入排序的站点列表的文件--257行--取消注释overwrite_report no#同名同日期的日志是否覆盖--289行--取消注释,修改mail_utility mailq.postfix#发送邮件报告命令--434行--取消注释,修改charset UTF-8#指定字符集UTF-8--518行--取消注释weekdays 0-6#top排行的星期周期--525行--取消注释hours 0-23#top排行的时间周期--633行--取消注释www_document_root /var/www/html

3、启动验证

#添加不计入站点文件,添加的域名将不被显示在排序中touch /usr/local/sarg/noreportln -s /usr/local/sarg/跳跃的羊/sarg /usr/local/跳跃的羊sarg --help运行sarg#启动一次记录


六、Squid 反向代理

如果 Squid 反向代理服务器中缓存了该请求的资源,则将该请求的资源直接返回给客户端;否则反向代理服务器将向后台的 Web服务器请求资源,然后将请求的应答返回给客户端,同时也将该应答缓存在本地,供下一个请求者使用。

1、工作机制

缓存网页对象,减少重复请求将互联网请求轮训或按权重分配到内网Web服务器代理用户请求,避免用户直接访问Web服务器,提高安全


2、修改配置文件

vim /etc/squid.conf......--60行--修改,插入http_port 192.168.90.10:80 accel vhost vportcache_peer 192.168.90.20 parent 80 0 no-query originserver round-ro跳跃的羊 max_conn=30 weight=1 name=web1cache_peer 192.168.90.40 parent 80 0 no-query originserver round-ro跳跃的羊 max_conn=30 weight=1 name=web2cache_peer_domain web1 web2 www.benet.com#表示对www.chenwei.com的请求,squid向192.168.126.11和192.168.126.12的80端口发出请求


3、后端wb服务器设置

yum install -y httpdsystemctl start httpdwb1配置:echo "this is benet" >> /var/www/html/index.htmlwb2配置:echo "this is accp" >> /var/www/html/index.html

4、客户机的域名映射配置

修改 C:WindowsSystem32driversetchosts 文件192.168.126.10 www.chenwei.com

5、客户机的代理配置

打开浏览器,工具–>Internet选项–>连接–>局域网设置–>开启代理服务器(地址:Squid服务器IP地址,端口:80)

客户机访问www.benet.com,然后刷新


版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。