{channel.title!channel.name} - 楚淮公司周东林

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

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类型的文件


安装前准备:

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 #重启
备注:访问控制应用实例

 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访问外网了。


浏览.发表于:2016-10-13 14:40:39