`
xitong
  • 浏览: 6188882 次
文章分类
社区版块
存档分类
最新评论

用实例配置 linux squid 代理服务器

 
阅读更多

27.1 squid概述

squid是linux下常见的代理服务器。Linux下代理服务器对硬件的要求不高,但是对内存的要求很高。代理服务器主要实现对一定的网络管理要求以及带宽要求的地方。

27.2 squid基本配置

27.2.1 squid安装与启动服务

rpm -q squid

squid-2.5.STABLE12-5.1

fc5 linux默认已经安装了squid代理服务器软件,如果没有安装的话,可以在光盘中找到该软件进行安装即可。

chkconfig squid on /*设为开机自启动*/

service squid start /*开启服务*/

27.2.2 squid配置

Squid只要做一些基本的配置就能够提供代理服务,这里只是提供最基本的配置方案,如果需要有更加精细的配置要求的话,需要对其访问控制列表进行修改。

用vi删除原有配置文件的内容,输入以下内容。

vi /etc/squid/squid.conf

#代理服务器的监听端口

http_port 192.168.1.1:8080

#内存缓冲区的大小

cache_mem 64 MB

#设置硬盘缓冲区最大4096MB,16个一级目录,256个二级目录。

cache_dir ufs /var/spool/squid 4096 16 256

#设定使用缓存的有效用户

cache_effective_user squid

#设定使用缓存的有效组

cache_effective_group squid

#定义dns服务器的地址

dns_nameservers 202.103.1.117

#设置访问日志文件

cache_access_log /var/log/squid/access.log

#设置缓存日志文件

cache_log /var/log/squid/cache.log

#设置网页缓存日志文件

cache_store_log /var/log/squid/store.log

#设置squid主机名称,一般为IP地址。

visible_hostname 192.168.1.1

#设置管理员email地址

cache_mgr abc@126.com

#访问控制列表

#允许所有

acl all src 0.0.0.0/0.0.0.0

#定义允许名称为all的http请求。

http_access allow all

27.2.3 初始化squid配置

1.创建缓冲区目录结构

在初次启动squid之前应建立硬盘缓冲区目录结构。

/usr/sbin/squid -z

2009/02/13 19:54:33| Creating Swap Directories

目录缓冲区地址/var/spool/squid

2.设置squid错误提示信息为中文

mv /etc/squid/errors /etc/squid/errors.bak

#创建快捷方式

in -s /usr/share/squid/errors/simplify_chinese /etc/squid/errors

/etc/init.d/squid reload或service squid reload

27.3 squid透明代理配置

27.3.1 squid透明代理介绍

透明代理就是nat与代理的结合,透明就是工作在这种方式下的客户机感觉不到代理服务器的存在,不需要在浏览器中进行设置。只需要把网关设为代理服务器以及配置正确的dns地址。

27.3.2 squid透明代理配置

Squid只要做一些基本的配置就能够提供代理服务,以下基本配置文件的内容是一样的,只需要在此基础上进行必要的修改。

vi /etc/squid/squid.conf

http_port 192.168.1.1:8080

cache_mem 64 MB

cache_dir ufs /var/spool/squid 4096 16 256

cache_effective_user squid

cache_effective_group squid

dns_nameservers 202.103.1.117

cache_access_log /var/log/squid/access.log

cache_log /var/log/squid/cache.log

cache_store_log /var/log/squid/store.log

visible_hostname 192.168.1.1

cache_mgr abc@126.com

#以下是透明代理的设置,不可少。

#定义代理服务器为virtual加速模式。

httpd_accel_host virtual

#要加速的端口

httpd_accel_port 80

#squid既是web请求加速器又是代理服务器

httpd_accel_with_proxy on

#代理服务器的缓存功能才能工作。

httpd_accel_uses_host_header on

acl all src 0.0.0.0/0.0.0.0

http_access allow all

27.3.3 配置iptables

将所有由eth0接口进入的web服务80端口的请求直接转发到8080口,由squid去处理。

iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080

27. 4 squid用户认证配置

27.4.1 squid认证介绍

squid本身不自带认证功能,需要由其它程序在进行认证。Squid就是可以实现没有经过认证的用户不能实现上网。

27.4.2 squid用户认证配置

基本配置文件都是相同的,只需要在此基础上进行修改。

vi /etc/squid/squid.conf

http_port 192.168.1.1:8080

cache_mem 64 MB

cache_dir ufs /var/spool/squid 4096 16 256

cache_effective_user squid

cache_effective_group squid

dns_nameservers 202.103.1.117

cache_access_log /var/log/squid/access.log

cache_log /var/log/squid/cache.log

cache_store_log /var/log/squid/store.log

visible_hostname 192.168.1.1

cache_mgr abc@126.com

#以下实现用户身份认证的语名

#设定认证程序路径,与认证程序密码。

auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd

#认证程序进程数

auth_param basic children 5

#用户认证后的有效时间,超过时间需要再次认证。

auth_param basic credentialsttl 2 hours

#显示验证框时的提示内容。

auth_param basic realm Example.com's Squid proxy-caching

#允许经过认证的用户访问

#acl 列表名称 列表类型 列表值

acl auth_user proxy_auth REQUIRED

http_access allow auth_user

27.4.3 建立帐户文件

可以利用apache的htpasswd程序来生成帐户文件

htpassed -c /etc/squid/passwd redhat

在第一次生成帐户文件的时候需要加入-c,以后就不需要了。

注:还需要对passwd文件设置其它用户可读权限。在配置过程中可以出现认证框,但是输入密码不行。经发现权限为600。root用户root组,配置文件中squid的用户为squid,造成不能读取密码。

chmod o+r /etc/squid/passed

27.4.4 客户端配置

基本配置与认证代理,只需要在IE中internet选项/连接/局域网设置/代理服务器中填入代理服务器的IP地址与端口即可。

透明代理,与正常的nat配置主网的方式一样,只要设置网关与dns即可,不需要设置IE。

27.4.5 验证

其它两上配置都成功验证,可以直接应用于实际环境中。

27.5 squid访问控制应用

27.5.1 禁止访问网络

1.禁止一台电脑上网

acl ip src 192.168.1.200

http_access deny ip

2.禁止192.168.1.0网段的电脑上网

acl ip src 192.168.1.0/255.255.255.0

http_access deny ip

27.5.2 禁止访问特定网站

1.禁止访问某IP地址

acl ip dst 192.168.1.200

http_access deny ip

说明:不能访问该目标IP地址的所有内容,包含网站。与上面的内容区别。

2.禁止访问某网站

acl ip dstdomain -i www.abc.com

http_access deny ip

说明:只是不能访问www.abc.com,下面的子页面还是可以访问的。

3.禁止访问含有某域名的网站

acl ip url_regex -i abc.com

http_access deny ip

说明:比上面的控制严格。

27.5.3 基于时间的访问控制

1.禁止某子网在周一至周五9:00到18:00(上班时间不能上网)

acl ip src 192.168.2.0/255.255.255.0

acl worktime time MTWHF 9:00-18:00

http_access deny ip worktime

说明:可以参考此规则进行变通。

2.禁止下载含有.rar、.mp3

acl ip urlpath_regex -i \.mp3$\.rar$

http_access deny ip


分享到:
评论

相关推荐

    在LINUX下用SQUID实现代理上网

    本文介绍了代理服务器的概念、作用、产生的原因以及工作原理。使用Linux下的Squid代理上网的原因。 Squid 安装、配置、一个Squid配置实例以及客户端的设置。

    Linux下架设代理服务器.doc

    提供用私有IP访问Internet的方法 IP地址是不可再生的宝贵资源,假如你只有有限的IP地址,但是需要提供整个组织的In ternet访问能力,那么,你可以通过使用代理服务器来实现这一点。 3.提高网络的安全性 这一点是很...

    squid命令 代理服务器守护进程

    向squid服务器发送指令 -s 启用syslog日志 -z 创建缓存目录 -C 不捕获致命信号 -D 不进行DNS参数测试 -N 以非守护进程模式运行 -X 强制进入完全调试模式 参考实例 创建缓存目录: [root@linuxcoo

    企业级Linux服务攻略

    10.4 客户端配置Linux客户端的使用 10.5 NFS排错 10.6 本章练习 10.7 字段汇总 第11章 NIS 11.1 NIS原理 11.1.1 NIS简介 11.1.2 NIS工作原理 11.1.3 NIS工作模式 11.2 NIS的安装 11.2.1 NIS所需软件 11.2.2 安装...

    Linux高性能服务器编程

    第4章 TCPIP通信案例:访问Internet上的Web服务器 4.1 实例总图 4.2 部署代理服务器 4.2.1 HTTP代理服务器的工作原理 4.2.2 部署squid代理服务器 4.3 使用tcpdump抓取传输数据包 4.4 访问DNS服务器 4.5 本地...

    集群好书《高性能Linux服务器构建实战》 试读章节下载

    由国内著名技术社区联合推荐的2012年IT技术力作:《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》,即将上架发行,此书从Web应用、数据备份与恢复、网络存储应用、运维监控与性能优化、集群高级应用等...

    LINUX操作系统(电子教案,参考答案)

    本章主要介绍了X Window以及它的配置,并且介绍了在KDE环境下汉化的基本思想,用实例来讲解了Linux汉化的基础知识。 第13章:网络的基本概念与设置。本章主要介绍了网络的基本概念,并在讲解这个概念的同时,讲解...

    Linux运维从入门到高级全套案例v3

    3.1. 1 构建NTP时间服务器 25 3.1. 2 构建DHCP服务器 27 ...5. 9 Squid缓存服务器配置 116 6. Linux下高并发系统内核优化 122 7. Nginx负载均衡机制及常见问题 124 8. Linux运维职业规划 127 9. Linux运维面试总结 127

    服务器web工具 php环境下

    php使用socket post数据到其它web服务器的方法C#使用PHP服务端的Web Service通信实例基于php在各种web服务器的运行模式详解Nginx + php 搭建 超性能 WEB 服务器Linux+Nginx+Php架设高性能WEB服务器Web服务器IIS6的...

    ftptop命令 显示服务器的连接状态

    与该功能相关的Linux命令:getty命令 – 用于设置终端机模式fping命令 – 检测主机是否存在route命令 – 显示并设置路由squid命令 – 代理服务器守护进程mesg命令 – 设置终端机的写入权限efax命令 – 收发传真min

    低清版 大型门户网站是这样炼成的.pdf

    1.2.3 cache服务器squid 18 1.2.4 带负载均衡的http服务器apache 19 1.2.5 支持集群功能的web服务器tomcat 21 1.2.6 开源数据库服务器之骄子mysql 23 1.2.7 功能强大的flv流媒体服务器red5 24 1.3 门户网站开发...

Global site tag (gtag.js) - Google Analytics