CentOS系统Squid反向代理

CentOS 联网后,执行运行yum进行安装

默认是squid3

yum install squid

安装完成后,默认squid并没有启动,但是服务中已经存在该服务,我们可以通过命令让其启动或者停止

serivce squid status //判断服务是否运行serivce squid start//启动squidservice squid stop//停止squid

安装后,squid并没有运行。

———————————————

squid用途:

1.缓存代理服务器:当代理站点多次请求同一个文件的时候,squid会从自身缓冲池中取数据,性能提高。可以实现局域网到互联网的互通。

2.安全:暴露给外界的地址信息是squid代理服务器的信息,如果收到网络攻击,本身服务不受影响。

3.访问策略:内置防火墙可以限制访问时间,下载附件大小。。等设置。

代理:

正向代理:通过代理服务器,内网访问外网

反向代理:通过代理服务器,外网访问内网

透明代理:不需要知道ip,port等信息,就自动通过代理完成,客户端根本不知道自己是通过代理形式上网。

使用squid需要修改配置文件

vi /etc/squid/squid.conf默认配置文件很臃肿,,在/etc/squid里有个squid.conf.bak 这个和squid.conf是一样的备份文件。

———————————–

环境如图:

squid 3 配置文件已经简化,很多网上配置都是2版本的,不使用的,看一下squid3的配置文件,这个是一个最简单的

把原来的squid.conf删除

rm squid.conf

创建squid.conf

vi squid.conf配置文件内容如下:

http_port 3128 #squid 运行端口,默认就是3128visible_hostname localhost.localdomain#squid所在机器的hostnameacl innet src 10.0.2.0/24#访问squid允许通过网关http_access allow innet#acl防火墙允许innet配置的网关内ip通过http_access deny all#拒绝其他网段访问常用命令如下:

service squid start#启动服务service squid stop#停止服务service squid restart#重启服务squid -k reconfigure#热部署配置文件/usr/local/squid/sbin/squid -z 初始化缓存空间/usr/local/squid/sbin/squid 启动/usr/local/squid/sbin/squid -k shutdown 停止/usr/local/squid/sbin/squid -k reconfigure 重新载入配置文件/usr/local/squid/sbin/squid -k rotate 轮循日志修改后启动即可。

设置浏览器为代理模式,通过我们设置好的代理去访问,这样squid代理服务器会自动转发请求信息。

设置好以后,我们就可以输入url地址进行网页访问了

如果你输入的ip地址不正确 那么squid将会报错

我们修改一下防火墙acl的网关地址

其实包括 管理员联系邮箱等信息都是可以配置的,更详细的设置信息可以自行Google

#acl all src 0.0.0.0/0.0.0.0 and http_access allow all选项定义了一个访问控制列表。详细情况参见和Squid软件#携带的文档。这里的访问控制列表允许所有对代理服务的访问,因为这里该代理是加速web服务器。acl all src 0.0.0.0/0.0.0.0#允许所有IP访问acl manager proto http#manager url协议为httpacl localhost src 127.0.0.1/255.255.255.255 #允午本机IPacl to_localhost dst 127.0.0.1#允午目的地址为本机IPacl Safe_ports port 80# 允许安全更新的端口为80acl CONNECT method CONNECT#请求方法以CONNECThttp_access allow all#允许所有人使用该代理.因为这里是代理加速web服务器http_reply_access allow all#允许所有客户端使用该代理acl OverConnLimit maxconn 16#限制每个IP最大允许16个连接,防止攻击http_access deny OverConnLimiticp_access deny all#禁止从邻居服务器缓冲内发送和接收ICP请求.miss_access allow all#允许直接更新请求ident_lookup_access deny all#禁止lookup检查DNShttp_port 8080 transparent#指定Squid监听浏览器客户请求的端口号。hierarchy_stoplist cgi-bin ?#用来强制某些特定的对象不被缓存,主要是处于安全的目的。acl QUERY urlpath_regex cgi-bin \?cache deny QUERYcache_mem 1 GB#这是一个优化选项,增加该内存值有利于缓存。应该注意的是:#一般来说如果系统有内存,设置该值为(n/)3M。现在是3G 所以这里1Gfqdncache_size 1024#FQDN 高速缓存大小maximum_object_size_in_memory 2 MB#允许最大的文件载入内存memory_replacement_policy heap LFUDA #动态使用最小的,移出内存cachecache_replacement_policy heap LFUDA#动态使用最小的,移出硬盘cachecache_dir ufs /home/cache 5000 32 512 #高速缓存目录 ufs 类型 使用的缓冲值最大允午1000MB空间,#32个一级目录,512个二级目录max_open_disk_fds 0#允许最大打开文件数量,0 无限制minimum_object_size 1 KB#允午最小文件请求体大小maximum_object_size 20 MB#允午最大文件请求体大小cache_swap_low 90#最小允许使用swap 90%cache_swap_high 95#最多允许使用swap 95%ipcache_size 2048# IP 地址高速缓存大小 2Mipcache_low 90#最小允许ipcache使用swap 90%ipcache_high 95#最大允许ipcache使用swap 90%access_log /var/log/squid/access.log squid#定义日志存放记录cache_log /var/log/squid/cache.log squidcache_store_log none#禁止store日志emulate_httpd_log on#将使Squid仿照Web服务器的格式创建访问记录。如果希望使用#Web访问记录分析程序,就需要设置这个参数。refresh_pattern . 0 20% 4320 override-expire override-lastmod reload-into-ims ignore-reload #更新cache规则acl buggy_server url_regex ^ http://#只允许http的请求broken_posts allow buggy_serveracl apache rep_header Server ^Apache#允许apache的编码broken_vary_encoding allow apacherequest_entities off#禁止非http的标分准请求,防止攻击header_access header allow all#允许所有的http报头relaxed_header_parser on#不严格分析http报头.client_lifetime 120 minute#最大客户连接时间 120分钟cache_mgr sky@test.com#指定当缓冲出现问题时向缓冲管理者发送告警信息的地址信息。cache_effective_user squid#这里以用户squid的身份Squid服务器cache_effective_group squidicp_port 0#指定Squid从邻居服务器缓冲内发送和接收ICP请求的端口号。#这里设置为0是因为这里配置Squid为内部Web服务器的加速器,#所以不需要使用邻居服务器的缓冲。0是禁用# cache_peer 设置允许更新缓存的主机,因是本机所以127.0.0.1cache_peer 127.0.0.1 parent 80 0 no-query default multicast-responder no-netdb-exchangecache_peer_domain 127.0.0.1hostname_aliases 127.0.0.1error_directory /usr/share/squid/errors/Simplify_Chinese#定义错误路径always_direct allow all# cache丢失或不存在是允许所有请求直接转发到原始服务器ignore_unknown_nameservers on#开反DNS查询,当域名地址不相同时候,禁止访问coredump_dir /var/log/squid#定义dump的目录max_filedesc 2048#最大打开的文件描述half_closed_clients off#使Squid在当read不再返回数据时立即关闭客户端的连接。#有时read不再返回数据是由于某些客户关闭TCP的发送数据#而仍然保持接收数据。而Squid分辨不出TCP半关闭和完全关闭。buffered_logs on #若打开选项“buffered_logs”可以稍稍提高加速某些对日志文件的写入,该选项主要是实现优化特性。#防止天涯盗链,转嫁给百度acl tianya referer_regex -i tianyahttp_access deny tianyadeny_info tianya#阻止baidu蜘蛛acl baidu req_header User-Agent Baiduspiderhttp_access deny baidu#限制同一IP客户端的最大连接数acl OverConnLimit maxconn 128http_access deny OverConnLimit#防止被人利用为HTTP代理,设置允许访问的IP地址acl myip dst 222.18.63.37http_access deny !myip#允许本地管理acl Manager proto cache_objectacl Localhost src 127.0.0.1 222.18.63.37http_access allow Manager Localhostcachemgr_passwd 53034338 allhttp_access deny Manager#仅仅允许80端口的代理acl all src 0.0.0.0/0.0.0.0acl Safe_ports port 80 # httphttp_access deny !Safe_portshttp_access allow all#Squid信息设置visible_hostname happy.swjtu.edu.cncache_mgr ooopic2008@qq.com#基本设置cache_effective_user squidcache_effective_group squidtcp_recv_bufsize 65535 bytes#2.6的反向代理加速配置cache_peer 127.0.0.1 parent 80 0 no-query originserver#错误文档error_directory /usr/local/squid/share/errors/Simplify_Chinese#单台使用,不使用该功能icp_port 0hierarchy_stoplist cgi-bin ?acl QUERY urlpath_regex cgi-bin \? .php .cgi .avi .wmv .rm .ram .mpg .mpeg .zip .execache deny QUERYacl apache rep_header Server ^Apachebroken_vary_encoding allow apacherefresh_pattern ^ftp:1440 20%10080refresh_pattern ^gopher:1440 0% 1440refresh_pattern .0 20%4320cache_store_log nonepid_filename /usr/local/squid/var/logs/squid.pidemulate_httpd_log onlogformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %<st "%{Referer}>h" "%{User-Agent}>h" %Ss:%Shcache_log /usr/local/squid/var/logs/cache.logaccess_log /usr/local/squid/var/logs/access.log combinedcoredump_dir /usr/local/squid/var/cachecache_dir ufs /usr/local/squid/var/cache 10000 16 256dns_children 32hosts_file /etc/hostscache_mem 400 MBcache_swap_low 90cache_swap_high 95maximum_object_size 32768 KBmaximum_object_size_in_memory 4096 KBemulate_httpd_log on#防止盗链acl picurl url_regex -i \.bmp$ \.png$ \.jpg$ \.gif$ \.jpeg$acl mystie1 referer_regex -i happy.swjtu.edu.cnhttp_access allow mystie1 picurlacl nullref referer_regex -i ^$http_access allow nullrefacl hasref referer_regex -i .+http_access deny hasref picurl

追寻爱情,然后发现,爱,从来就是一件千回百转的事。

CentOS系统Squid反向代理

相关文章:

你感兴趣的文章:

标签云: