您的位置:首页 > 运维架构 > 反向代理

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息