配置Squid透明代理服务器,使局域网内客户机通过代理服务器上网

系统:CentOS 5.5 主机名:cdn.abc.com外网IP:192.168.21.160 eth0内网IP:192.168.237.160 eth1安装Squid软件,配置透明代理服务器,使内部网段192.168.237.0/24内的客户机通过代理服务器192.168.21.160访问外网并且做以下策略限制1、禁止所有客户机访问www.abc.com域名2、禁止IP地址为192.168.237.131的客户机访问外网3、禁止所有用户访问IP地址为192.168.237.129的网站4、禁止所有用户访问域名中包含有163.com的网站5、禁止192.168.237.0/24这个网段所有的客户机在周一到周五的18:00-21:00上网6、禁止客户机下载*.mp3、*.exe、*.zip和*.rar类型的文件系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容©版权所有,转载请注明出处及原文链接安装前准备:1、关闭SELinuxvi /etc/selinux/config#SELINUX=enforcing #注释掉#SELINUXTYPE=targeted #注释掉SELINUX=disabled #增加:wq 保存,关闭。shutdown -r now重启系统2、设置防火墙端口转发规则iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128 #开启端口转发功能,把内网eth1的80端口转发到外网eth0的3128端口iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE #开启外网eth0的NAT网络地址转换功能service iptables save #保存规则/etc/init.d/iptables restart #重启防火墙3、修改主机的路由模式vi /etc/sysctl.confnet.ipv4.ip_forward = 1 #0为关闭,1为开启路由 使用sysctl -p 命令查看===========================================================================安装开始1、安装Squidyum install squid #安装(Squid 2.6)service squid start #启动service squid restart #重启chkconfig squid on #设置开机启动2、配置Squid cp /etc/squid/squid.conf /etc/squid/squid.confbak #备份vi /etc/squid/squid.conf #编辑文件http_port 3128 transparentcache_mem 128 MBcache_dir ufs /var/spool/squid 4096 16 256cache_effective_user squid #设置用户cache_effective_group squid #设置用户组access_log /var/log/squid/access.log #设置访问日志文件cache_log /var/log/squid/cache.log #设置缓存日志文件cache_store_log /var/log/squid/store.log #设置缓存记录文件visible_hostname cdn.abc.com #设置squid服务器主机名cache_mgr [email protected] all src 0.0.0.0/0.0.0.0 #设置访问控制列表,默认开启http_access allow allacl client dstdomain -i www.abc.com #找到TAG: acl标签,在其最后添加下面内容http_access deny client #禁止所有客户机访问www.abc.com域名acl client131 src 192.168.237.131 #禁止IP地址为192.168.237.131的客户机访问外网http_access deny client131acl client129 dst 192.168.237.129 #禁止所有用户访问IP地址为192.168.237.129的网站http_access deny client129acl client163 url_regex -i 163.com #禁止所有用户访问域名中包含有163.com的网站http_access deny client163acl clientdate src 192.168.237.0/255.255.255.0 #禁止这个网段所有的客户机在周一到周五的18:00-21:00上网acl worktime time MTWHF 18:00-21:00http_access deny clientdate worktimeacl clientxiazai urlpath_regex -i \.mp3$ \.exe$ \.zip$ \.rar$http_access deny clientxiazai #禁止客户机下载*.mp3、*.exe、*.zip和*.rar类型的文件service squid stop #停止/usr/sbin/squid -z #初始化cache缓存目录service squid start #启动service squid restart #重启备注:访问控制应用实例acl clientall src 192.168.237.0/255.255.255.0 #禁止192.168.237.0这个子网里所有的客户机上网http_access deny clientallacl urlsex url_regex -i sex #禁止用户访问域名包含有sex关键字的URLhttp_access deny urlsexacl client132 src 192.168.237.132 #限制IP地址为192.168.237.132的客户机并发最大连接数为5acl conn5 maxconn 5http_access deny client132 conn5====================================================================客户机设置:

打开客户机的本地连接设置IP:192.168.237.130 (同一个网段的ip都可以)子网掩码:255.255.255.0网关:192.168.237.160 (Squid代理服务器的内网eth1地址)DNS:8.8.8.8备用DNS:8.8.4.4配置完成,现在内部网段192.168.237.0/24内的客户机可以通过代理服务器192.168.21.160访问外网了。