北京pk10走势图福彩网:Linux上squid服务的配置

来源:百度文库 编辑:中财网 时间:2024/04/30 22:22:40

Linux上squid服务的配置

  代理服务器是目前网络中常见的服务器之一,它可以提供文件缓存.复制和地址过滤等服务,充分利用有限的出口带宽,加快内部主机的访问速度,也

  可以解决多用户需要同时访问外网,但共有IP地址不足的问题.同时可以作为一个防火墙,隔离内网与外网,并且能提供监控网络和记录传输信息的功能,加

  强局域网的安全性等.它的主要作用有以下几点...

  1.共享网络:它是代理服务器最主要的服务之一,内网的主机通过代理服务器可以同时访问外网,而不受公有IP地址数目的限制...

  2.加快访问速度,节约通信带宽:

  3.防止内部主机受到攻击:内部主机的访问是通过代理服务器完成的.在这个过程中,内部主机地址等信息不会发送到外部,这样外部攻击者就无法通

  过扫描对内部主机进行渗透,进而起到保护内部主机的作用...

  4.限制用户访问,完善网络管理:在代理服务器上设置相应的访问策略和访问权限.

  代理分为:普通代理. (标准的传统的代理服务器,需要客户机在浏览器中指定代理服务器的IP地址...)

  透明代理. (适用于企业的网关主机,共享接入Internet,客户机不需要指定代理服务器IP,端口等信息,需要设置防火墙策略将客户机的web访问

  数据转交给代理服务程序处理..)

  反向代理. (将客户机作为目的端,外网服务器作为客户端)

  Squid是Linux和Unix平台下最为流行的高性能免费应用层代理服务器,它具有权限管理灵活,性能高,效率快等特点.

  软件包名:squid

  服务名:squid

  主程序:/usr/sbin/squid

  主配置文件:/etc/squid/squid.conf

  默认监听端口:3128

  默认访问日志文件:/var/log/squid/access.log

  http_port IP:端口 (设置squid监听的IP地址和端口)

  cache_mem 指定使用多少物理内存作为高速缓存.如果这台服务器仅用于共享上网,没有其他服务,则可加大物理内存的1/2,但如果还有其他服务则

  cache_mem的大小不应超过物理内存的1/3.,否则会影响服务器的总体性能.

  cache_dir ufs /var/spool/squid 4096 16 256指定硬盘缓冲区的大小,其中ufs指的是缓冲的存储类型,一般为ufs,/var/spool/squid指硬盘缓冲存放的目录

  ,4096代表缓存空间最大为4096M,16代表squid可以在硬盘缓冲存放的目录下建立的第一级子目录的数目,缺省值为16,;256是可以建立第二级子目录的

  数目,缺省值256。

  cache_effective_user squid 设定使用缓存的有效用户.(系统默认)

  cache_effective_group squid 设定使用缓存的有效用户组(系统默认)

  dns_nameservers IP 为了使Squid能解析域名,必须告诉squid有效DNS服务器..

  cache_access_log 定义了访问记录日志文件的路径,该日志记录了用户访问Internet的详细信息,通过日志文件可以查看每台客户机上网的记录...所以大

  家不要干坏事的...

  cache_log 设置记录缓存的相关信息日志文件的路径...

  cache_store_log 定义了记录网页在缓存中调用情况日志文件的路径...

  visible_hostname 定义了运行squid的主机名称,当访问发生错误时,该选项的值会显示在错误提示网页中.建议输入主机的IP地址..

  cache_mgr 定义设置squid管理员的d E-mail地址,当访问发生错误时,该选项会显示在页面上.

  规则:我们还可以使用acl 定义squid访问控制列表.下面是其选项信息..

  src IP 源IP地址(客户机的IP地址).

  dst IP 目标地址(服务的器IP地址).

  scrdomain 源名称 (客户机所属的域).

  dstdomain 目标名称(服务器所属的域).

  time 一天中的某一时刻和一周内的某一天.

  url_regex URL规则的表达式

  urlpath_regex:URL-path 略去协议和主机名的URL规则表达式匹配.

  proxy_auth 通过外部程序进行用户认证.

  maxconn 单一IP最大连接数.

  time 语法.星期可以使用这些关键字M(Mondy),T(Tuesday)...

  时间段:某一时刻-另一时刻

  我们来模拟一个实验环境,squid代理服务器两网卡假设外网卡IP:192.168.0.195,内网卡IP:192.168.10.10,内网客户端IP:192.168.10.11,外网有个

  web服务器IP:192.168.0.197,在18:30-8:30不允许客户机访问外网,但是不下载以.rmvb和.mp3为结尾的文件,使用透明代理的方式,单个文件最大不能超

  过10M,代理端口为8080,错误提示显示的中文信息,管理员邮箱为root@test.com,内存大小64M,缓存目录1024M,必须有可见主机名

  好了就以这个信息,下面我们去配置Squid服务器...

  # yum -y install squid (我本机配置好yum源,直接就使用yum安装)

  # cd /etc/squid/

  # cp -p squid.conf squid.conf.bak(对文件进行备份)

  # vim squid.conf

  cache_mgr root@example.com

  http_port 192.168.10.10:8080 transparent

  error_directory /usr/share/squid/errors/Simply_Chinese

  visible_hostname station195.example.com

  cache_mem 64 MB

  reply_body_max_size 1024000000 allow all

  cache_dir ufs /var/spool/squid 1024

  acl mynetwork src 192.168.10.0/24

  acl worktime time 18:00-23:59

  acl worktime time 00:00-8:30

  http_access allow mynetwork !worktime

  acl nomp3 url_regex -i ^http.*\.mp3$

  acl normvb url_regex -i ^http.*\.rmvb$

  http_access allow mynetwork !nomp3

  http_access allow mynetwork !normvb

  #squid -z (初始化swqp目录)

  #squid -k parse (测试配置文件语法信息)

  #service squid restart (重启动服务)

  客户端的网关指向192.168.10.10

  squid server要开启路由功能....

  #vim /etc/sysctl.conf

  net.ipv4.ip_forward = 1 (将此项的值改为一,表示上网卡的时候要进行转发)

  #sysctl -p (单单修改完后不会立即生效,重新读取一下配置文件才生效..)

  #cat /proc/sys/net/ipv4/ip_forward (返回的值为1,证明我们已经开启路由功能了..)

  #iptables -t nat -A PREROUTING -i eth1 -s 192.168.10.0/24 -p tcp --dport 80 -j REDIRECT --to-ports 8080

  #service iptables save

  测试结果全部成功的,很晚了就不在这抓图了,大家可以模仿着做着试试,有疑问可以给我留言,欢迎共同交流...