系统: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、关闭SELinux
vi /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.conf
net.ipv4.ip_forward = 1 #0为关闭,1为开启路由 使用sysctl -p 命令查看
===========================================================================
安装开始
1、安装Squid
yum 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 transparent
cache_mem 128 MB
cache_dir ufs /var/spool/squid 4096 16 256
cache_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 lingvven@163.com
acl all src 0.0.0.0/0.0.0.0 #设置访问控制列表,默认开启
http_access allow all
acl 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 client131
acl client129 dst 192.168.237.129 #禁止所有用户访问IP地址为192.168.237.129的网站
http_access deny client129
acl client163 url_regex -i 163.com #禁止所有用户访问域名中包含有163.com的网站
http_access deny client163
acl clientdate src 192.168.237.0/255.255.255.0 #禁止这个网段所有的客户机在周一到周五的18:00-21:00上网
acl worktime time MTWHF 18:00-21:00
http_access deny clientdate worktime
acl 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 #重启
备注:访问控制应用实例
系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容©版权所有,转载请注明出处及原文链接
acl clientall src 192.168.237.0/255.255.255.0 #禁止192.168.237.0这个子网里所有的客户机上网
http_access deny clientall
acl urlsex url_regex -i sex #禁止用户访问域名包含有sex关键字的URL
http_access deny urlsex
acl client132 src 192.168.237.132 #限制IP地址为192.168.237.132的客户机并发最大连接数为5
acl conn5 maxconn 5
http_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访问外网了。
» 转载请注明来源:系统运维 » 配置Squid透明代理服务器,使局域网内客户机通过代理服务器上网
写得很详细哦,多谢呵呵
比较 好
学习一下~~~~~~~~~·
不错!!
如果再配合DHCP就完美了