Squid:是一个高性能的代理缓存服务器,可以加快内部浏览互联网速度(正/反向)、IP伪装“×××”提高网络的安全性,还可使用访问控制与访问权限清单来防止非法连接或者有威胁等站点。(代理服务器功能:代理、缓存、ACL(访问控制))。firefox插件:firebug
curl -I http://域名:可以体现出每个网站详细信息
分为三大分类:正向代理(客户端程序需指定代理服务器地址和端口),透明代理(客户端需要设置特定的网关),反向代理(负载均衡)
正向代理配置如下:
首先需要3台Linux系统虚拟机,一台客户机(192.168.4.11),一台squid代理服务器(内网192.168.4.5 | 公网1.0.0.254),一台web客户机(1.0.0.1)。实现192.168.4.0/24网络的所有主机可以通过squid代理服务器访问外部网络。
在1.0客户机配置:
yum -y install httpd
service httpd restart
chkconfig https on
netatst -anptu | grep 80
ech0 www192.168.4.11 > /var/www/html/index.html
在squid代理服务器配置:
yum -y install squid
cat /etc/squid/squid.conf
http_port : 3128 代理服务器端口
visible_hostname : 设置主机名称
cache_mem : 设置内存缓存大小(物理内存4/1即可)
cache_dir : ufs(储存格式) /vat/spool/squid 100(硬盘目录空间) 16(一级目录数) 256(二级目录数)
http_access : allow localnet(允许本机所有网络中的所有主机使用代理服务器) 访问控制限制
service squid restart chkconfig squid on
netstat -anptu | grep 3128
yum -y install httpd
service httpd restart
chkconfig https on
squid默认访问日志:/var/log/squid/access.log
httpd默认访问日志:/var/log/htppd/access.log
在4.11客户机配置:
yum -y install httpd
service httpd restart
chkconfig https on
以Firefox浏览器为例 在编辑--首选项--高级--网络--设置--手工配置代理添加squid代理地址(192.168.4.5)
在地址栏输入:http://1.0.0.1:/index.html 回车会看到1.0web页面信息。
也可以通过access.log日志访问查询。
透明代理配置如下:
在1.0客户机配置:
yum -y install httpd
service httpd restart
chkconfig https on
netatst -anptu | grep 80
route add default gw 1.0.0.254 设定指定网关
ech0 www192.168.4.11 > /var/www/html/index.html
在squid代理服务器配置:
yum -y install squid
cat /etc/squid/squid.conf
http_port : 3128 transparent(设置透明代理)代理服务器端口
visible_hostname : 设置主机名称
cache_mem : 设置内存缓存大小(物理内存4/1即可)
cache_dir : ufs(储存格式) /vat/spool/squid 100(硬盘目录空间) 16(一级目录数) 256(二级目录数)
http_access : allow localnet(允许本机所有网络中的所有主机使用代理服务器) 访问控制限制
cat /etc/sysctl.conf
net.ipv4.ip_forward = 1 开启路由功能
iptables -t nat -A PREROUTING -s 192.168.65.0/24 -i eth0 -p tcp --dport 80 -j REDIRECT --to-ports 3128 设置防火墙规则开启nat端口转发
service iptables save 保持防火墙规则
service squid restart 重启squid代理
在4.11客户机配置:
yum -y install httpd
service httpd restart
route add default gw 192.168.4.5 设定指定网关
elinks --dump http://1.0.0.1 回车会看到1.0web页面信息。
也可以通过access.log日志访问查询。
反向代理配置如下:
环境:首先需要4台Linux系统虚拟机,一台wed客户机(192.168.4.11),一台web客户机(192.168.4.22),一台squid代理服务器(内网192.168.4.5 | 公网1.0.0.254),一台客户机(1.0.0.1)。
在(4.11)和(4.22)客户机等同配置如下:
yum -y install httpd
service httpd restart
chkconfig httpd on
mkdir /var/www/html/web1
mkdir /var/www/html/web2
echo www.zhangsan.com > /var/www/html/web1/index.html
echo bbs.zhangsan.com > /var/www/html/web2/index.html
netstat -anptu | grep httpd
在squid代理服务器配置:
/etc/init.d/httpd stop 关闭httpd服务,避免端口冲突
vim /etc/squid/squid.conf
http_port : 80 vhost 设置反向代理
cahce_peer 192.168.4.11 parent 80 0 originserver name=www
cache_peer 192.168.4.22 parent 80 0 originserver name=bbs
service squid restart
在1.0客户机配置:
vim /etc/hosts
192.168.4.5 www.zhangsan.com bbs.zhangsan.com 通过hosts文件配置域名解析,将域名为squid服务器IP地址
elinks --aump http://www.zhangsan.com
elinks --dump http://bbs.zhangsan.com
根据以上反向代理配置ACL访问控制:
实现以下要求:
1)允许网段192.168.4.0/24在工作时间08:30至18:30通过代理访问外网
2) 192,168,4,11网段的主机在任何时间都不可以通过代理访问外网
在squid代理服务器配置:
vim /etc/squid/squid.conf
Work_Hours time MTWHF 08:30--18.30 定义工作时间
http_access allow LAN1 Work_Hours 允许该网段在工作时间访问代理
acl LAN1 src 192.168.4.0/24 定义网段
acl PC1 src 192.168.4.11/24 定义主机不可以访问代理
http_access allow PCI 允许主机
#acl all src 0.0.0.0/0.0.0.0 禁止所有网段
#http_access deny all 拒绝所有
service squid restart
在1.0客户机进行验证看能否在合适的时间内使用代理服务器。
转载于:https://blog.51cto.com/it1903/1763165