当前位置:首页 > CN2资讯 > 正文内容

squid 透明代理,反向代理,acl访问控制

3天前CN2资讯

squid 的三种代理方式:1普通代理;2透明代理  3反向代理;


cleint(192.168.1.20)----> eth0(192.168.1.10)|  squid   |eth1(1.1.1.254)  ---->server(1.1.1.1)



1.普通代理;squid是代替内网 访问外网;  缓存:加快内网的访问速度;

  服务器端配置:ip 1.1.1.1

关闭防火墙和selinux  

[root@server ~]# /etc/init.d/iptables stop

iptables: Setting chains to policy ACCEPT: nat filter      [  OK  ]

iptables: Flushing firewall rules:                         [  OK  ]

iptables: Unloading modules:                               [  OK  ]

[root@server ~]# setenforce 0

yum install -y httpd

echo "1.1.1.1web" >/var/www/html/index.html

本机测试:

[root@server ~]# elinks --dump 1.1.1.1

   1.1.1.1web//本机测试成功;


  squid代理端的配置:

[root@localhost log]# vim /etc/squid/squid.conf

#http_access deny all  //拒绝所有

http_access allow all//允许所有的人使用本机的代理


[root@localhost log]# /etc/init.d/squid restart

Stopping squid:                                            [FAILED]

Starting squid: .                                          [  OK  ]


[root@localhost log]# lsof -i :3128

COMMAND  PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

squid   3406 squid   14u  IPv6  18682      0t0  TCP *:squid (LISTEN)


客户端的配置:

 在浏览器中制定代理和端口即可;




2.透明代理:客户端不需要制定浏览器ip地址和端口;

前提条件:{1.代理服务器也是内网的防火墙,}

客户端的配置:

把代理服务器做为client的默认网关; 

route add -net default gw 192.168.1.10   


squid的配置:

vim /etc/squid/squid.conf

http_port 3128 transparent//修改代理方式为透明代理;

[root@localhost /]# /etc/init.d/squid restart

Stopping squid: ................                           [  OK  ]

Starting squid: .                                          [  OK  ]


//添加一条防火墙策略进行端口转发

[root@localhost /]# iptables -t nat -A PREROUTING -i eth0 -s 192.168.1.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128

[root@localhost /]# iptables -t nat -L

Chain PREROUTING (policy ACCEPT)

target     prot opt source               destination

REDIRECT   tcp  --  192.168.1.0/24       anywhere            tcp dpt:http redir ports 3128


Chain POSTROUTING (policy ACCEPT)

target     prot opt source               destination


Chain OUTPUT (policy ACCEPT)

target     prot opt source               destination








3.反向代理:代替外网访问内网 ,缓存加快外网的访问速度(可以实现多个web服务器来提供服务);


squid端的配置:

http_port 80 vhost

cache_peer 192.168.1.20 parent 80 0 originserver



就这么简单就实现了:反向代理;剩下的在服务段配置httpd即可;

客户端访问squid就OK了;






4.反向代理+虚拟主机(基于域名):

要求:互联网上的客户端www.haha.com的时候访问的服务器/www

                      bbs.haha.com的时候访问的服务器/bbs



服务器端用虚拟主机来实现:

vim /etc/httpd/conf.d/VirtualHost.conf

NameVirtualHost 192.168.1.20:80

<VirtualHost 192.168.1.20:80>

    ServerAdmin [email protected]

    DocumentRoot /www

    ServerName www.haha.com

    ErrorLog logs/www-error_log

   CustomLog logs/www-access_log common

</VirtualHost>

<VirtualHost 192.168.1.20:80>

    ServerAdmin [email protected]

    DocumentRoot /bbs

    ServerName   bbs.haha.com

    ErrorLog logs/bbs-error_log

    CustomLog logs/bbs-access_log common

</VirtualHost>



在服务器端本机测试:

vim  /etc/hosts    //添加静态解析

192.168.1.20    www.haha.com

192.168.1.20    bbs.haha.com


[root@localhost conf.d]# elinks --dump www.haha.com

   192.168.1.20:www

[root@localhost conf.d]# elinks --dump bbs.haha.com

   192.168.1.20:bbs

//测试成功!


配置反向代理服务器:

vim /etc/squid/squid.conf



http_port 80 vhost

cache_peer 192.168.1.20 parent 80 0 originserver name=www

cache_peer 192.168.1.20 parent 80 0 originserver name=bbs

cache_peer_domain www www.haha.com

cache_peer_domain bbs bbs.haha.com



service squid restart




客户端的配置;

vim /etc/hosts

1.1.1.254       bbs.haha.com

1.1.1.254       www.haha.com


[root@server ~]# elinks --dump www.haha.com

   192.168.1.20:www

[root@server ~]# elinks --dump bbs.haha.com

   192.168.1.20:bbs


//测试成功!!




5.squid的ACL(访问控制)


acl     acl名称 类型 匹配的目标对象;


类型总结:

src  :  原地址 (是ip,网段,主机名)

        192.168.1.10/32   192.168.1.0/24  www.haha.com


dst    目标地址 (同上);


port     端口 25   


dstdomian 目标域 .baidu.com  

  

time 时间 MTWHFAS(周一到周五)  8:30-20:30


maxcoon 最大的并发连接数;

acl maxline   maxconn   50


url_regex     目标的URL地址   (可以用正则表达式);

acl  deny_url     url_regex    ^http://

http_access  deny   deny_acl


URLpath_regex “完整的url”

http://www.baidu.com/music/xxx.mp3


调用acl  (acl可以先定义后调用,但可以自定义不调用)

http_access   deny/allow   acl名称列表;



综合实践:

acl allow_ip src 192.168.1.0/24

acl deny_ip src 192.168.1.250/32

acl work_time time MTWHF 8:30-17:30

acl deny_qq  url_regex   qq

acl deny_mp3 url_regex mp3$

acl deny_domain dstdomain .taobao.com .

acl deny_url url_regex taobao jingdong


http_access deny deny_domain deny_url

http_access deny work_time deny_qq deny_mp3

http_access deny deny_ip

http_access allow allow_ip






    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/24676.html

    分享给朋友:

    “squid 透明代理,反向代理,acl访问控制” 的相关文章

    为小学生选择合适的VPS:安全、易用和高性价比的评测指南

    在这个数字化时代,网络安全受到越来越多人的重视。小朋友们在网络上探索新知识、与朋友沟通时,面对的不仅是丰富的学习资源,还有潜在的网络风险。此时,VPS(虚拟个人服务器)作为一个安全、稳定的网络环境,开始逐渐进入小学生的视野。家长和学校意识到,提供一个良好的网络环境,不仅能保护孩子免受不良信息的侵害,...

    选择合适的云服务器配置:1c1g与1c2g的优缺点分析

    云服务器的配置选项相当多,其中1c1g和1c2g经常被提及。这两种配置分别代表1个CPU核心和不同的内存容量。1c1g代表1GB内存,而1c2g则有2GB内存。从我个人的经验来看,这两种配置在实际使用中各有其独特的优势。 1c1g配置详解 1c1g的配置相对基础,1个CPU核心加上1GB内存,特别适...

    Oracle 免费VPS:轻松入门云计算的最佳选择

    在了解Oracle免费VPS之前,先来看看Oracle Cloud。这是甲骨文公司推出的一项云服务,提供了一系列强大的计算和存储资源。Oracle Cloud的最吸引人的部分是它的免费服务,给用户提供了机会,可以在没有经济负担的情况下体验云计算的强大功能。对于开发者、创业者或只是想进行一些小项目的用...

    全面了解Amazon CDN CloudFront:快速、安全的内容分发网络服务

    在互联网的快速发展中,内容分发网络(CDN)成为确保网站速度和性能的重要保证。CDN是通过在全球各地的多个服务器上缓存和分发内容,以最短的路径将数据传送给用户。这样做不仅加快了加载速度,还提高了用户体验。通过保存内容的副本在离用户更近的地点,CDN能够显著降低网络延迟。 而Amazon CloudF...

    自己搭建网站的全面指南:从目标定位到费用控制

    搭建自己的网站听起来可能有些复杂,但实际上,只要理清思路,完全可以实现。首先,明确你的目标和网站类型是关键的一步。是想建立一个个人博客,还是一个商业网站?这将直接影响你后续的选择和设计。例如,个人博客强调内容,商业网站则需要更多的功能性和用户友好性。所以在开始之前,先问问自己这个网站的核心目的是什么...

    低价CDN服务指南:如何选购与优化你的网站性能

    低价CDN服务概述 在当今互联网时代,CDN(内容分发网络)已经成为提高网站性能的重要工具。简单来说,CDN通过将网站内容缓存在不同地理位置的服务器上,帮助快速传输数据,减少用户等待时间。当我第一次接触CDN时,感觉它的工作原理就像一部精密的机器,把信息高效地分发到需要的地方。尤其是低价CDN,凭借...