首页 运维 正文
Squid+iptables代理配置

 2022-10-23    366  

Squid+iptables代理配置

  Squid代理服务器简介

Squid+iptables代理配置

  Squid是一种在Linux系统下使用的优秀的代理服务器软件。

  squid不仅可用在Linux系统上,还可以用在AIX、Digital Unix、FreeBSD、HP-UX、Irix、NetBSD、Nextstep、SCO和Solaris等系统上。

  Squid是一个缓存internet数据的一个软件,它接收用户的下载申请,并自动处理所下载的数据。也就是说,当一个用户象要下载一个主页时,它向Squid发出一个申请,要Squid替它下载,然后Squid 连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid把保存的备份立即传给用户,使用户觉得速度相当快。

  对于Web用户来说,Squid是一个高性能的代理缓存服务器,可以加快内部网浏览Internet的速度,提高客户机的访问命中率。Squid不仅支持HTTP协议,还支持FTP、gopher、SSL和WAIS等协议。

  实验环境:

  系统 redhat linux 5.4

  外网 eth0:192.168.0.1

  内网 eth1:192.168.1.254

  Squid Cache: Version 3.1.7

  RPM安装,这里就不说明了。

  修改配置文件

  [root@a~]#cat/etc/squid/squid.conf 

#p#

  配置文件说明

  定义acl访问控制元素:ip地址、端口

  aclmanagerprotocache_object 

  acllocalhostsrc127.0.0.1/32::1 

  aclto_localhostdst127.0.0.0/80.0.0.0/32::1 

  acllocalnetsrc10.0.0.0/8#RFC1918possibleinternalnetwork 

  acllocalnetsrc172.16.0.0/12#RFC1918possibleinternalnetwork 

  acllocalnetsrc192.168.0.0/16#RFC1918possibleinternalnetwork 

  acllocalnetsrcfc00::/7#RFC4193localprivatenetworkrange 

  acllocalnetsrcfe80::/10#RFC4291link-local(directlyplugged)machines 

  aclSSL_portsport443 

  aclSafe_portsport80#http 

  aclSafe_portsport21#ftp 

  aclSafe_portsport443#https 

  aclSafe_portsport70#gopher 

  aclSafe_portsport210#wais 

  aclSafe_portsport1025-65535#unregisteredports 

  aclSafe_portsport280#http-mgmt 

  aclSafe_portsport488#gss-http 

  aclSafe_portsport591#filemaker 

  aclSafe_portsport777#multilinghttp 

  aclCONNECTmethodCONNECT 

  aclworktimetime8:00-23:59//定义工作时间 

  aclworktimetime00:00-5:59 

  http_accessallowmynetwork!worktime//只允许非工作时间上网 

#p#

  访问控制设置

  http_accessallowmanagerlocalhost 

  http_accessdenymanager 

  #Denyrequeststocertainunsafeports 

  http_accessdeny!Safe_ports禁止非安全端口的访问 

  #DenyCONNECTtootherthansecureSSLports 

  http_accessdenyCONNECT!SSL_ports 

  http_accessallowlocalnet 

  http_accessallowlocalhost 

  #Andfinallydenyallotheraccesstothisproxy 

  http_accessallowall***一条http_access设置默认访问规则 

  #Squidnormallylistenstoport3128 

  http_port192.168.1.254:3128transparent代理服务器监听的地址及端口,transparent为透明代理模式 

  #Werecommendyoutouseatleastthefollowingline. 

  hierarchy_stoplistcgi-bin? 

  #Uncommentandadjustthefollowingtoaddadiskcachedirectory. 

  cache_dirufs/var/spool/squid10008128配置缓存文件的文件格式,缓存大小,缓存目录数 

  #Leavecoredumpsinthefirstcachedir 

  coredump_dir/var/spool/squid 

  #Addanyofyourownrefresh_patternentriesabovethese. 

  refresh_pattern^ftp:144020%10080 

  refresh_pattern^gopher:14400%1440 

  refresh_pattern-i(/cgi-bin/|\?)00%0 

  refresh_pattern.020%4320 

  visible_hostname192.168.1.254 

  cache_mem128MB//squid服务器占用内存大小 

  forwarded_foroff//不传递被代理地址 

  viaoff//不传递代理服务器信息 

  初始化squid代理服务器

  squid-z 

  开启路由功能,并将下面的命令写入/etc/rc.d/rc.local 文件,使其开机自动开启路由功能

  echo'1'>/proc/sys/net/ipv4/ip_forward 

#p#

  配置iptables防火墙

  自动将http请求转发到代理服务器上

  iptables-tnat-APREROUTING-ieth1-ptcp--dport80-jREDIRECT--to-ports3128 

  设置源地址映射

  iptables-tnat-APOSTROUTING-jSNAT--to-source192.168.1.254(外网地址) 

  iptables-PINPUTACCEPT 

  启动squid代理服务

  [root@a~]#servicesquidrestart 

  查看squid代理服务器缓存日志

  [root@a~]#tail-f/var/log/squid/access.log 

  个人感觉使用Squid+iptables缓存服务器之后网页访问速度有大幅度的加快。

原文链接:https://77isp.com/post/8324.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。