标签:images logo 标准 百度 eve no-repeat bad bin enable
squid代理服务器squid是一种用来缓存Internet数据的软件。接受来自客户机需要下载的目标的请求并适当的处理这些请求。也就是说,如果一个客户端想要打开默认网站,它请求squid为它取得这个页面。squid随之连接到远程服务器并向这个页面发出请求。然后,squid显式地聚集数据到客户端机器,而且同时复制一份。当下一次有人需要同一页面时,squid可以简单的从磁盘中读到它,那样数据会立即传输到客户机上。
- 通过缓存方式为用户提供Web加速访问
- 对用户的Web访问请求进行过滤控制
1. 正向代理模式
1)标准正向代理模式
2)透明正向代理模式主要作用:
实现代理上网、隐藏用的真实访问信息以及对控制用户访问网站行为的访问控制列表(ACL)进行限制。
2. 反向代理模式
主要作用:
加快用户访问网站的速度,降低网站资源服务器的负载压力。
用户是否需要配置代理服务器的信息。若使用透明代理模式,则用户感知不到代理服务器的存在。
正向代理:对于原始服务器而言,就是客户端的代言人
反向代理:对于客户端而言,就像是原始服务器
1.正向代理的典型用途是为在防火墙内的局域网客户端提供访问Internet的途径。正向代理还可以使用缓冲特性减少网络使用率。
2.反向代理还可以为后端的多台服务器提供负载平衡,或为后端较慢的服务器提供缓冲服务。另外,反向代理还可以启用高级URL策略和管理技术,从而使处于不同web服务器系统的web页面同时存在于同一个URL空间下。
1.正向代理允许客户端通过它访问任意网站并且隐藏客户端自身,因此你必须采取安全措施以确保仅为经过授权的客户端提供服务。
2.反向代理对外都是透明的,访问者并不知道自己访问的是一个代理。
- 服务名:squid
- 主程序:/usr/sbin/squid
- 配置目录:/etc/squid
- 主配置文件:/etc/squid/squid.conf
- 监听tcp端口号:3128
- 默认访问日志文件:/var/log/squid/access.log
主机 | 操作系统 | IP地址 | 软件包 |
---|---|---|---|
squid代理服务器 | centos 7.3 | 192.168.96.10 | squid |
win7 客户端 | windows 7 | 192.168.96.11 | IE浏览器 |
yum install squid -y
在windows7系统中开启浏览器步骤:打开IE浏览器---》工具---》Internet选项--》连接---》局域网设置--填写代理服务器IP与端口信息
systemctl enable squid.service
systemctl start squid.service
netstat -tunlp | grep squid
vim /etc/squid/squid.conf
//2.添加以下acl规则
> acl client src 192.168.96.11
......
http_access allow client #允许client规则
http_access deny all #禁用其他所有规则
systemctl restart squid.service
vim /etc/squid/squid.conf
//2.添加以下acl规则
acl deny_keyword url_regex -i linux
......
http_access deny deng_keyword
systemctl restart squid.service
vim /etc/squid/squid.conf
//2.添加以下acl规则
acl deny_url dstdomain www.baidu.com
......
http_access deny deny_url
http_access allow all
systemctl restart squid.service
vim /etc/squid/squid.conf
//2.添加以下acl规则
> acl badfile urlpath_regex -i \.rar$ \.avi$
......
http_access deny badfile
http_access allow all
systemctl restart squid.service
特别提醒:这里只是简单的禁止下载规则,迅雷等还需要专业的用具进行控制
vim /etc/squid/squid.conf
//2.添加以下acl规则
> acl worktime time MYWHF 12:00-17:00
......
http_access allow worktime
systemctl restart squid.service
http_access deny all
vim /etc/squid/squid.conf
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm this is squid server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
acl auth_user proxy_auth REQUIREDhttp_access deny !auth_user
http_access allow auth_user
http_access deny all
**注释:**
第一行:选择的认证方式为basic,认证程序路径和密码文件路径。
第二行:认证程序的进程数
第三行:验证域的提醒字符串
第四行:认证有效时间
第五,六行:设置允许认证的用户访问
yum -y install httpd httpd-devel expect
htpasswd -c /etc/squid/passwd zhangsan
New password: //输入密码
Re-type new password: //再次确认密码
Adding password for user zhangsan
cat /etc/squid/passwd
//第一列是用户名,第二列是密码
zhangsan:$apr1$L7N/jRsc$RIj4ocdXk52/pJYwdUsUu/
squid -k parse
systemctl rsstart squid.service
vim /etc/squid/squid.conf
cache_mem 64M
cache_dir ufs /var/spool/squid 2000 16 256
systemctl restart squid.service
squid -z
正常企业应用时可以配合DHCP服务器进行使用,自动分配地址(网关指向squid服务器),这样客户机打开浏览器便会自动使用代理服务了。
//清空防火墙规则
iptables -F
iptables -t nat -F
//开启dns服务允许通过外网口
iptables -t nat -A POSTROUTING -p udp --dport 53 -o ens32 -j MASQUERADE
//开启路由转发
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
//立即生效
sysctl -p
vim /etc/squid/squid.conf
http_port 3128 transparent
cache_dir ufs /var/spool/squid 100 16 256
squid -k parse
squid -z
systemctl restart squid.service
//将内网用户对80端口的访问都转发到本机3128端口上
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
//
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -0 ens32 -j SNAT --to 192.168.96.170
//
service iptables save
vim /etc/squid/squid.conf
http_port IP:80 vhost
cache_peer 网站源服务器IP parent 80 0 originserver
systemctl restart squid
为了更友好和本地化显示公司内部规定信息
vim /etc/squid/errorpage.css
/* Page displayed title area */
#titles {
margin-left: 15px;
padding: 10px;
padding-left: 100px;
//ur(‘‘) 指向地址,替换为公司的logo路径地址即可
background: url(‘/squid-internal-static/icons/SN.png‘) no-repeat left;
}
......
vim /etc/squid/squid.conf
//主机名
visible_hostname squid.njxx.com
//管理员邮箱信息
cache_mgr admin@njxx.com
systemctl restart squid.service
标签:images logo 标准 百度 eve no-repeat bad bin enable
原文地址:http://blog.51cto.com/10316297/2147581