传统代理服务器的配置:
实验拓扑:
安装前先下载squid这个安装包,这里我使用的是squid-3.4.6.tar.gz这个安装包!
首先解压安装包到/usr/src这个目录
tar zxf squid-3.4.6.tar.gz -C /usr/src
进入这个目录进行编译安装
cd /usr/src/squid-3.4.6
进行编译安装:
选择模块
./configure --prefix=/usr/local/squid \
--sysconfdir=/etc --enable-arp-acl \
--enable-linux-netfilter \
--enable-linux-tproxy \
--enable-async-io=100 \
--enable-err-language="simplify_chinese" \
--enable-underscore \
--enable-poll \
--enable-gnuregex
编译
make
编译安装
make install
编译安装完成后的优化.
useradd -M -s /sbin/nologin squid
chown -R
squid:squid /usr/local/squid/var/*
ln -s /usr/local/squid/sbin/* /usr/local/sbin/
编辑squid的配置文件
vim /etc/squid.conf
#更加详细的配置项可以参考/etc/squid.conf.documented文件
在http_port 3218下添加四行
reply_body_max_size 10 MB
http_access allow all
cache_effective_user squid
cache_effective_group squid
上边的两行是squid的程序用户,没有会启动不成功.
visible_hostname cjl.com
检查文件是否有语法错误:
squid -k parse
初始化缓存目录
squid -z
启动squid
squid
检查端口是否已经监听
netstat -utpln |grep 3128
编写防火墙规则:
iptables -I INPUT -p tcp --dport 3128 -j ACCEPT
/etc/init.d/iptables save
在客户机的IE上添加代理服务器地址:
打开网页测试是否能访问网站,我这里以百度为例!
在传统代理的基础上我们开始构建透明代理!
vim /etc/squid.conf
将http——port 3128改为下面的格式:
http_port 192.168.1.10:3128 transparent
:wq
编写iptables重定向规则:
iptables -t nat -I POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE
iptables -t nat -I PREROUTING -s 192.168.1.0/24 -i
eth1 -p tcp --dport 80 -j REDIRECT
--to-ports 3128
iptables -t nat -I PREROUTING -s 192.168.1.0/24 -i
eth1 -p tcp --dport 443 -j REDIRECT --to-ports
3128
/etc/init.d/iptables save
临时启用路由
sysctl -w net.ipv4.ip_forward=1
sysctl -p
取消掉代理
然后直接访问网站,网站随意!
构建ACL访问控制
构建访问的acl:
vim /etc/squid.conf
acl localhost src
127.0..0.1/255.255.255.255 #源地址为127.0.0.1
acl MYLAN src 192.168.1.0/24
#客户机地址段
acl to_localhost dst 127.0.0.0/8 #目标地址为127.0.0.0/8
acl MC20 maxconn 20 #最大并发连接20
acl BlackURL url_regex -i ^rtsp:// ^emule:///
#以rtsp://开头的url
acl MEDIAFILE urlpath_regex -i \.mp3$ \.mp4$
\.rmvb$ #以MP4,MP3,rmvb结尾的url
acl WORKTIME time MTWHF 08:30-17:30
#时间周一至周五8:30-17:30
构建黑名单:
mkdir /etc/squid
cd /etc/squid
vim ipblock.list
#建立ip地址黑名单
61.135.167.36
123.123.123.123
:wq
vim dmblock.list #建立目标地域黑名单
.qq.com
.msn.com
.weixin.com
:wq
vim /etc/squid.conf #编辑调用文件
acl IPBLOCK dst "/etc/squid/ipblock.list"
acl DMBLOCK dstdomain "/etc/squid/dmblock.list"
:wq
设置访问权限:
vim /etc/squid.conf
http_access deny MYLAN MEDIAFILE
#禁止下载MP4,MP3等文件!
http_access deny MYLAN IPBLOCK
#禁止访问黑名单中的地址。
http_access deny MYLAN DMBLOCK
#禁止访问黑名单的地址域。
http_access deny MYLAN MC20 #客户机的最大并发连接20.
http_access deny MYLAN WORKTIME
#允许客户机在工作时间上网。
http_access deny all
#默认禁止所有客户机使用代理上网。