咳咳,如果一个网站,因为访问的人多反应慢怎么办? 如果自己的公司内部想把一些网站禁止访问,做控制怎么办?好好学学squid代理服务器吧 他都可以做到。
squid 代理服务器)
正向代理
安转包:
rpm -ivh squid-2.6.STABLE21-6.el5.i386.rpm
卸载包
rpm -e squid
启动服务
service squid restart
#如果启动失败就把自己的主机名字该进vim /etc/squid/squid.conf去
visible_hostname
visible hostname 用户名
可以找 squid 中文指南写的很详细
netstat -anplt |grep squid 查看squid 监听那个端口
cd /etc/init.d/ 这里都是脚本
/etc/init.d/httpd start 启动httpd
service httpd start 一样的
---------------------------------------------------------------
主配置文件
vim /etc/squid/squid.conf
缓存目录
cd /var/spool/squid/
------------------------
Squid 主要组成部分
服务名:squid
主程序:/usr/sbin/squid
配置目录:/etc/squid
主配文件:/etc/squid/squid.conf
监听tcp端口号:3128
默认访问日志文件:/var/log/squid/access.log
5.squid 常用配置选项(/etc/squid/squid.conf)
http_port 3128 (还可以只监听一个一个ip http_port 192.168.0.1:3128)
cache_mem 64MB#缓存占内存大小
maximum_object_size 4096KB#最大缓存块
reply_body_max_size 1024000 allow all #限定下载文件大小
access_log /var/log/squid/access.log #访问日志存放的文件
visible_hostname proxy.test.xom #可见的主机名
cache_dir ufs /var/spool/squid 100 16 256
usf:缓存数据的存储格式
/var/spool/squid 缓存目录
100 : 缓存目录占磁盘空间大小M)
16 :缓存空间一级子目录个数
256 :缓存空间二级子目录个数
cache_mgr webmaster@test.com #定义管理员邮箱
http_access deny all #访问控制
-----------------------------
正向代理服务器
vim /etc/squid/squid.conf
http_port 3128
#access_log /var/log/squid/access.log
http_access allow all 把这里设置成允许
主机 作两个地址 一个是外网 一个内网 http_access allow all 把这里设置成允许
客户端 设置好内网 设置好后 在网页上-编辑-收选项-高级-网络-设置
访问 intelnet 的地址
---------------------
透明代理
透明代理缓冲服务器的配置:
vim /etc/squid/squid.conf
1 http_port 3128 transparent
b.添加iptables规则:
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to 3128
客户端
查看路由
route -n
添加路由网关
route add default gw 192.168.1.2
----------------------------
透明代理的访问控制 !代表取反 匹配是顺序匹配 数字名称不性
定义acl列表
acl 列表名称 列表类型 列表内容 …
针对acl列表进行限制
http_access allow或deny 列表名……
拒绝某个ip地址
acl dy_ip src 192.168.1.103/32
http_access deny dy_ip
拒绝某个网段
acl dy_ip src 192.168.1.0/24
acl dy_ip src 192.168.1.0/24 192.168.10.0/24
acl dy_ip src 192.168.1.0-192.168.10.0/24
http_access deny dy_ip
---------------
通过文件拒绝某个ip的访问
acl guests src “/etc/squid/guest”
http_access deny guest
/etc/squid/guests内容
192.168.1.131
----------------
拒绝端口号
acl d_p port 80
acl d_p port 1-1024
http_access deny d_p
-----------------
允许域名为uplooking.com域访问本地代理服务器 其实就是域名解析的IP 还是限制IP)
acl permitted_domain src uplooking.com
http_access allow permitted_domain
------------------
拒绝访那个一个网站
acl B dstdomain www.squid-cache.org
http_access deny B

