squide代理
2016-01-25 14:08
459 查看
搭建squid服务器
普通代理 : 客户端必须在浏览器里指定代理服务器的ip地址和代 理服务使用的端口号,才能够通过代理服务器访问 公网
mount /dev/cdrom /mnt
rpm -ivh /mnt/Packages/squid-3.1.10-19.el6_4.x86_64.rpm
默认只代替私网网段主机上网
vim /etc/squid/squid.conf
http_port 3128
cache_dir ufs /var/spool/squid 100 16 256
cache_mem 8 MB
:wq
service squid restart
访问日志 /var/log/squid/access.log
------------------------------------------------------------------
透明代理 : 客户端不需要在浏览器里指定 代理服务器的ip地址和代理服务使用的端口号;必须把网关指向代理服务器的内网接口的ip地址。
vim /etc/squid/squid.conf
http_port 3128 transparent
:wq
service squid restart
service iptables start
iptables -t filter -F
iptables -t nat -A PREROUTING -s 192.168.4.0/24 -i eth0 -p tcp --dport 80 -j REDIRECT --to-ports 3128
service iptables save
客户端配置 route add default gw 192.168.4.5
cache_dir 100M 95M
5M
90%
95%
74 refresh_pattern ^ftp: 1440 20% 10080
75 refresh_pattern ^gopher: 1440 0% 1440
76 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
77 refresh_pattern . 0 20% 4320
-----------------------------------------------------------------
反向代理 代替公网用户访问私有网络
给内网网站编写网页文件
echo aaaa > /var/www/htm./a6.html
service iptables stop
vim /etc/squid/squid.conf
#http_access deny all
http_access allow all
http_port 80 vhost
cache_peer 192.168.4.6 parent 80 0 originserver
#cache_peer 192.168.4.7 parent 80 0 originserver
:wq
service squid restart
客户端访问 http://1.1.1.1/a6.html
vim /etc/hosts
1.1.1.1 www.tarena.com www
1.1.1.1 bbs.tarena.com bbs
:wq
--------------------------------------------------
内网网站服务器是基于域名的虚拟主机
123 mkdir /wwwdir /bbsdir
126 echo wwwpage > /wwwdir/index.html
127 echo bbspage > /bbsdir/index.html
[root@pc6 html]# tail -15 /etc/httpd/conf/httpd.conf
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /wwwdir
ServerName www.tarena.com
ErrorLog logs/www.tarena.com-error_log
CustomLog logs/www.tarena.com-access_log common
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /bbsdir
ServerName bbs.tarena.com
ErrorLog logs/bbs.tarena.com-error_log
CustomLog logs/bbs.tarena.com-access_log common
</VirtualHost>
[root@pc6 html]#
129 service httpd restart
客户在访问不同主机名时出现不同的页面内容
vim /etc/hosts
1.1.1.1 www.tarena.com www
1.1.1.1 bbs.tarena.com bbs
:wq
访问 http://www.tarena.com http://bbs.tarena.com
-----------------------------------------------------------------
内网网站服务 机基于端口的虚拟主机
/wwwdir 80
/bbsdir 8080
vim httpd.conf
<VirtualHost *:80>
DocumentRoot /wwwdir
ErrorLog logs/www.tarena.com-error_log
CustomLog logs/www.tarena.com-access_log common
</VirtualHost>
listen 8080
<VirtualHost *:8080>
DocumentRoot /bbsdir
ErrorLog logs/bbs.tarena.com-error_log
CustomLog logs/bbs.tarena.com-access_log common
</VirtualHost>
service httpd restart
代理服务器的配置
vim squid.conf
http_port 80 vhost
cache_peer 192.168.4.6 parent 80 0 originserver name=www
cache_peer 192.168.4.6 parent 8080 0 originserver name=bbs
cache_peer_domain www www.tarena.com
cache_peer_domain bbs bbs.tarena.com
:wq
rm -rf /var/spool/squid/*
service squid stop
service squid start
客户端在访问代理时 可以访问到对应的网页文件
cat /etc/hosts
1.1.1.1 www.tarena.com www
1.1.1.1 bbs.tarena.com bbs
http://1.1.1.1 http://www.tarena.com -> /wwwdir 80 http://bbs.tarena.com -> /bbsdir 8080
------------------------------------------------------------------
普通代理
透明代理
反向代理
------------------------------------------------------------------
ACL访问控制列表(透明代理)
限制客户端可以通过自己访问什么样的网络资源。
定义acl (squid.conf)
acl 名称 类型 值
src 源地址dst 目标地址port 目标端口
dstdomain 目标域
time 访问时间
maxconn 最大并发连接
url_regex 目标URL地址
urlpath_regex 整个目标URL路径
acl LAN1 src 192.168.1.0/24
acl PC1 src 192.168.1.66/32
acl Blk _ Domain dstdomain .qq.com .kaixin001.com
acl Work _Hours time MTWHF 08:30-17:30
acl Max20_Conn maxconn 20
acl Blk_URL url_regex -i ^rtsp:// ^mms://
acl Blk_Words urlpath_regex -i sex adult
acl RealFile urlpath_regex -i \.rmvb$ \.rm$ \.mp3$
调用acl
http_access allow/deny acl名称列表
http_access deny LAN1 Blk_URL
http_access deny LAN1 Blk_Words
http_access deny PC1 RealFilehttp_access deny PC1 Max20_Connhttp_access allow LAN1 Work_Hours
普通代理 : 客户端必须在浏览器里指定代理服务器的ip地址和代 理服务使用的端口号,才能够通过代理服务器访问 公网
mount /dev/cdrom /mnt
rpm -ivh /mnt/Packages/squid-3.1.10-19.el6_4.x86_64.rpm
默认只代替私网网段主机上网
vim /etc/squid/squid.conf
http_port 3128
cache_dir ufs /var/spool/squid 100 16 256
cache_mem 8 MB
:wq
service squid restart
访问日志 /var/log/squid/access.log
------------------------------------------------------------------
透明代理 : 客户端不需要在浏览器里指定 代理服务器的ip地址和代理服务使用的端口号;必须把网关指向代理服务器的内网接口的ip地址。
vim /etc/squid/squid.conf
http_port 3128 transparent
:wq
service squid restart
service iptables start
iptables -t filter -F
iptables -t nat -A PREROUTING -s 192.168.4.0/24 -i eth0 -p tcp --dport 80 -j REDIRECT --to-ports 3128
service iptables save
客户端配置 route add default gw 192.168.4.5
cache_dir 100M 95M
5M
90%
95%
74 refresh_pattern ^ftp: 1440 20% 10080
75 refresh_pattern ^gopher: 1440 0% 1440
76 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
77 refresh_pattern . 0 20% 4320
-----------------------------------------------------------------
反向代理 代替公网用户访问私有网络
给内网网站编写网页文件
echo aaaa > /var/www/htm./a6.html
service iptables stop
vim /etc/squid/squid.conf
#http_access deny all
http_access allow all
http_port 80 vhost
cache_peer 192.168.4.6 parent 80 0 originserver
#cache_peer 192.168.4.7 parent 80 0 originserver
:wq
service squid restart
客户端访问 http://1.1.1.1/a6.html
vim /etc/hosts
1.1.1.1 www.tarena.com www
1.1.1.1 bbs.tarena.com bbs
:wq
--------------------------------------------------
内网网站服务器是基于域名的虚拟主机
123 mkdir /wwwdir /bbsdir
126 echo wwwpage > /wwwdir/index.html
127 echo bbspage > /bbsdir/index.html
[root@pc6 html]# tail -15 /etc/httpd/conf/httpd.conf
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /wwwdir
ServerName www.tarena.com
ErrorLog logs/www.tarena.com-error_log
CustomLog logs/www.tarena.com-access_log common
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /bbsdir
ServerName bbs.tarena.com
ErrorLog logs/bbs.tarena.com-error_log
CustomLog logs/bbs.tarena.com-access_log common
</VirtualHost>
[root@pc6 html]#
129 service httpd restart
客户在访问不同主机名时出现不同的页面内容
vim /etc/hosts
1.1.1.1 www.tarena.com www
1.1.1.1 bbs.tarena.com bbs
:wq
访问 http://www.tarena.com http://bbs.tarena.com
-----------------------------------------------------------------
内网网站服务 机基于端口的虚拟主机
/wwwdir 80
/bbsdir 8080
vim httpd.conf
<VirtualHost *:80>
DocumentRoot /wwwdir
ErrorLog logs/www.tarena.com-error_log
CustomLog logs/www.tarena.com-access_log common
</VirtualHost>
listen 8080
<VirtualHost *:8080>
DocumentRoot /bbsdir
ErrorLog logs/bbs.tarena.com-error_log
CustomLog logs/bbs.tarena.com-access_log common
</VirtualHost>
service httpd restart
代理服务器的配置
vim squid.conf
http_port 80 vhost
cache_peer 192.168.4.6 parent 80 0 originserver name=www
cache_peer 192.168.4.6 parent 8080 0 originserver name=bbs
cache_peer_domain www www.tarena.com
cache_peer_domain bbs bbs.tarena.com
:wq
rm -rf /var/spool/squid/*
service squid stop
service squid start
客户端在访问代理时 可以访问到对应的网页文件
cat /etc/hosts
1.1.1.1 www.tarena.com www
1.1.1.1 bbs.tarena.com bbs
http://1.1.1.1 http://www.tarena.com -> /wwwdir 80 http://bbs.tarena.com -> /bbsdir 8080
------------------------------------------------------------------
普通代理
透明代理
反向代理
------------------------------------------------------------------
ACL访问控制列表(透明代理)
限制客户端可以通过自己访问什么样的网络资源。
定义acl (squid.conf)
acl 名称 类型 值
src 源地址dst 目标地址port 目标端口
dstdomain 目标域
time 访问时间
maxconn 最大并发连接
url_regex 目标URL地址
urlpath_regex 整个目标URL路径
acl LAN1 src 192.168.1.0/24
acl PC1 src 192.168.1.66/32
acl Blk _ Domain dstdomain .qq.com .kaixin001.com
acl Work _Hours time MTWHF 08:30-17:30
acl Max20_Conn maxconn 20
acl Blk_URL url_regex -i ^rtsp:// ^mms://
acl Blk_Words urlpath_regex -i sex adult
acl RealFile urlpath_regex -i \.rmvb$ \.rm$ \.mp3$
调用acl
http_access allow/deny acl名称列表
http_access deny LAN1 Blk_URL
http_access deny LAN1 Blk_Words
http_access deny PC1 RealFilehttp_access deny PC1 Max20_Connhttp_access allow LAN1 Work_Hours
相关文章推荐
- 小心服务器内存居高不下的元凶--WebAPI服务
- Android Manifest 用法
- Android学习笔记(二九):嵌入浏览器
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 运维入门
- 小白观察:微软释放出其基于 Chromium 的 Edge 浏览器
- 利用开源软件打造自己的全功能远程工具
- dns。dhcp,ftp
- Linux5.9无人值守安装
- 数据中心和云未来的十二大趋势
- 用vsftp快速搭建ftp服务器
- Linux快速构建apache web服务器
- 服务器监控策略浅谈
- 如何降低服务器采购成本 原理分析
- 建议的服务器分区办法
- 服务器托管六大优势分析
- 浏览器 cookie 限制
- Erlang实现的一个Web服务器代码实例