澳门游戏平台大全 澳门十大电子游戏平台 【澳门十大电子游戏平台】squid代理服务器,Squid代理服务器安装

【澳门十大电子游戏平台】squid代理服务器,Squid代理服务器安装



Squid代理服务器安装,squid代理服务器

注意事项

  • 启动Squid必须关闭SElinux,否则会遇到各种问题
  • 实验用3.1版本的squid,高版本的squid会出现配置文件不兼容的问题,所以选择版本要注意了

注意事项
启动 Squid 必须关闭 SElinux ,否则会遇到各种问题 实验用 3.1 版本的 squid
,高版本的 squid 会…

**srcdomain**  
 源域名            格式:**acl ** name
 **srcdomain**  .domain.com 

**dstdomain ** 
目标域名         格式:**acl**  name ** dstdomain**  .domain.com


**port   **         
端口                格式:**acl**  name
 **port ** num | num1 - num2 

**proto **         
协议                格式:**acl ** name ** proto ** HTTP
FTP ...... 

**method**      
请求类型         格式:**acl
 **name** method**  GET POST ...... 

**maxconn**    
单一IP地址最大连接数       格式:**acl**  name ** maxconn**  num


**url_regex **   
URL匹配         格式:**acl **name** url_regex**  [-i]
^http://...... 

**time**            
时间段            格式:**acl
 **name ** time ** [day] [h1:m1-h2:m2] 
[![](https://images2015.cnblogs.com/blog/1124243/201703/1124243-20170320003831432-800454080.png)](http://jingyan.baidu.com/album/19192ad815430ee53e5707a7.html?picindex=11)
  1. 创建运行用户和组

    # groupadd
     squid

    # useradd
     -M  -s  /sbin/nologin  -g  squid  squid

    我们把缓存目录放在” /data/cache
    “中,所以要先建立目录

    # mkdir
    /data/cache -pv

    更改数据目录和安装目录的属组属主

    # chown
    squid:squid /data -R

    # chown
    squid:squid /usr/local/squid/ -R

    澳门十大电子游戏平台 1

  1. 然后试试只允许访问qq.com,拒绝其他所有域名

    acl
    deny_domain dstdomain .qq.com

    http_access
    deny !deny_domain

    http_access
    allow deny_domain

    只需把” ! ” 的位置变一下就好了,或者allow和deny换一下,之后重新读取配置文件

    是不是只能访问qq了呢,baidu和taobao都无法访问了

    澳门十大电子游戏平台 2

  1. 代理服务器的功能是代替网络用户去访问网络信息,并把获得的信息返回给用户,其工作步骤大致如下:

    (1) 客户机向代理服务器发起访问互联网的请求

    (2) 代理服务器收到请求后检查请求是否被允许,如果允许将会进行下一步处理,否则丢弃该请求。

    (3) 代理服务器先查找本地缓存中是否有客户机请求的数据,如果有则直接返回给客户端,否则继续下一步。

    (4) 如果没有找到数据缓存,则代替客户机在互联网上发起请求。

    (5) 接到请求回应后复制一份到缓存中,然后返回给客户机。

  2. 2

  1. Squid 的配置文件是 
    /etc/squid/squid.conf “
     ,我们先了解下各项配置的意义

    http_port
     [hostname:]port   
               设定服务监听的IP地址和端口,IP为可选项

    cache_mem        
      设置需要多少物理内存做代理服务器的缓存,默认8MB。如果服务器上还有其他服务在允许,建议不超过物理内存的三分之一 。还有一点需要注意的是数值和单位之间一定要有空格,否则你会遇到一个很纠结的问题,例如:cache_mem  512 MB
    ,
     512和MB之间一定要有空格

    minimum_object_size
        
         设置最小接收的对象的大小,小于该值就不被保存进缓存,默认为0KB,不限制

    maximum_object_澳门十大电子游戏平台,size
     
            设置最大接收对象的大小,大于该值不被保存,默认为4096KB

    cache_dir            
     设置磁盘缓存的位置和大小,格式为:cache_dir  aufs
     目录位置  大小(MB)  一级子目录数量  二级子目录数量 ,例如:cache_dir  aufs
     /data/cache  1024  16  256

    澳门十大电子游戏平台 3

  1. http_access来控制acl中定义的是拒绝还是允许,!可以取非值,比如我们不允许访问 qq.com ,在配置文件中添加如下:

    acl
    deny_domain dstdomain .qq.com

    http_access
    deny deny_domain

    http_access
    allow !deny_domain

    设置目标域名为 .qq.com,名为deny_domain
    ,拒绝deny_domain中的域名,允许非deny_domain中的域名,然后 squid -k
    rec
     来重新读取配置文件,停止squid服务会延迟30秒,等所有的连接关闭才关闭服务,如果不想等可以直接killall
    squid 
    暴力杀死进程

    下图为验证结果的截图,qq.com返回403的错误,而baidu.com返回200 OK

    澳门十大电子游戏平台 4

**# netstat
-anpt  |  grep squid** 

yum安装的直接 **service squid
start **就可以启动了 

下面贴出完整配置: 

**http_port
3128 transparent** 

**acl
manager proto cache_object** 

**acl
localhost src 127.0.0.1/32 ::1** 

**acl
to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1** 

**acl
localnet src 10.0.0.0/8     # RFC1918 possible internal network**


**acl
localnet src 172.16.0.0/12  # RFC1918 possible internal network**


**acl
localnet src 192.168.0.0/16 # RFC1918 possible internal network**


**acl
SSL_ports port 443** 

**acl
Safe_ports port 80 8080     # http** 

**acl
Safe_ports port 21          # ftp** 

**acl
Safe_ports port 443         # https** 

**acl
CONNECT method CONNECT** 

**http_access
allow manager localhost** 

**http_access
deny manager** 

**http_access
deny !Safe_ports** 

**http_access
deny CONNECT !SSL_ports** 

**http_access
allow localnet** 

**http_access
allow localhost** 

**http_access
allow all** 

**cache_effective_user
squid** 

**cache_effective_group
squid** 

**cache_dir
aufs /data/cache 1024 16 256** 

**cache_mem
64 MB** 

**hierarchy_stoplist
cgi-bin ?** 

**coredump_dir
/var/spool/squid** 

**refresh_pattern
^ftp:           1440    20%     10080** 

**refresh_pattern
^gopher:        1440    0%      1440** 

**refresh_pattern
-i (/cgi-bin/|\?) 0     0%      0** 

**refresh_pattern
\.(jpg|png|gif|mp3|xml) 1440    50%     2880    ignore-reload**


**refresh_pattern
.                       0       20%     4320** 

如果要关闭服务可以通过squid -k shutdown
来安全的退出服务,会有30秒的时间等待断掉所有连接。也可以直接squid -k
kill来直接关闭 

[![](https://images2015.cnblogs.com/blog/1124243/201703/1124243-20170320003829245-1153017801.png)](http://jingyan.baidu.com/album/19192ad815430ee53e5707a7.html?picindex=6)


[![](https://images2015.cnblogs.com/blog/1124243/201703/1124243-20170320003829713-1789152477.png)](http://jingyan.baidu.com/album/19192ad815430ee53e5707a7.html?picindex=7)
  1. cache_effective_user
     
               指定Squid进程和缓存使用的用户

    cache_effective_group  
           指定Squid进程和缓存使用的组

    dns_nameservers  
                    Squid所使用的DNS服务器,该选项会覆盖本地配置的DNS服务器。多个DNS服务器用空格隔开

    visible_hostname  
       
                指定运行Squid的主机名称

    cache_mgr       
                         指定Squid系统管理员的邮箱地址

    access_log      
                          该选项定义的文件记录客户端每一次HTTP或TCP请求的日志。

    cache_store_log  
                     记录哪些对象被被保存进缓存和被拒绝

    cache_log        
                         一般日志的记录位置

    debug_options    
                    定义一般日志的详细程度,ALL表示全方面,1-9表示级别:debug_options   ALL,1
    ,推荐默认值即可

    pid_filename      
                     
    指定保存pid文件的位置

    log_fqdn        
                          定义Squid记录客户端地址的方式,on 记录完整域名, off 记录IP地址,启用后会调用DNS解析,降低性能,推荐off

    acl              
                              重头戏,用于定义访问控制列表,可被http_access、icp_access等选项进行引用。用法是 acl
     **
    列表名称  列表类型  -i  **列表值,-i 为不区分大小写

    http_access      
                        定义是允许还是拒绝acl中定义的列表,用法:http_access  allow
    | deny  [!]aclname  … 
      ,!是非的意思

    澳门十大电子游戏平台 5

注意事项

  1. 接下来对配置文件稍作修改,然后把他启动起来。服务默认端口是” 3128 “,运行用户是nobody,我们设置用户为squid,缓存目录为/data/cache,物理内存缓存使用64 MB,之后执行建立缓存目录,停止后回车退出

    #  /usr/local/squid/sbin/squid
     -z

    接着就可以启动服务了,看看你的服务是否正常监听到3128端口呢?

    #  /usr/local/squid/sbin/squid

  1. 接下来就研究下 acl 和 http_access
    如设置访问控制,再看下 acl 的写法:

    acl     列表名称     列表类型     -i    
    列表值            名称自拟,-i 不区分大小写

    列表类型:

    src          
    源IP地址,客户端的IP地址    格式:acl  name
     src  ip/netmask

    dst          
    目的IP地址,访问的IP地址    格式:acl  name
     src  ip/netmask

    arp        
     客户端MAC地址                   格式:acl  name  arp  mac-addr

编译安装首先到官方网站下载源码包:**http://www.squid-cache.org/ **


接着就是编译的一套流程了,指定安装目录和配置文件路径和开启各选择 

**#
 tar  xf  squid.tar.bz2** 

**#
 cd  squid** 

**#
 ./configure  --prefix=/usr/local/squid  \** 

**--sysconfdir=/etc/squid
 --enable-gnuregex \** 

**--disable-carp
  --enable-async-io=240   \** 

**--with-pthreads
 --enable-storeio=ufs,aufs,diskd \** 

**--disable-wccp
 --enable-icmp  \** 

**--enable-kill-parent-hack
 \** 

**--enable-cachemgr-hostname=localhost
 \** 

**--enable-default-err-language=Simplify_Chinese
 \** 

**--with-maxfd=65535
 --enable-poll  \** 

**--enable-linux-netfilter
 --enable-large-cache-files \** 

**--disable-ident-lookups
 \** 

**--enable-default-hostsfile=/etc/hosts
 --with-dl \** 

**--with-large-files
 --enable-delay-pools \** 

**--enable-snmp
 --disable-internal-dns \** 

**--enable-underscore
 --enable-arp-acl  ** 

**#
 make  &&  make install** 

还有一项必须注意的是关闭SElinux,当初就是卡在SElinux上好长时间,不关闭的话无法启动服务。这里先临时关闭。永久关闭可以修改配置文件:**" /etc/selinux/config
"**,改为**SELINUX=disabled**,重启生效 

**# setenforce
0** 

软件源安装: 

**#
yum  install  squid** 

[![](https://images2015.cnblogs.com/blog/1124243/201703/1124243-20170320003827057-1979607822.png)](http://jingyan.baidu.com/album/19192ad815430ee53e5707a7.html?picindex=1)


[![](https://images2015.cnblogs.com/blog/1124243/201703/1124243-20170320003827495-2063317051.png)](http://jingyan.baidu.com/album/19192ad815430ee53e5707a7.html?picindex=2)
  • 启动Squid必须关闭SElinux,否则会遇到各种问题

  • 实验用3.1版本的squid,高版本的squid会出现配置文件不兼容的问题,所以选择版本要注意了

  1. 默认是允许代理所有网络的,需要在需要代理的主机上配置代理服务器的IP和端口号,Windows下:IE浏览器 –>
    Internet选项 –> 连接 –> 局域网设置 –> 设置代理服务器的IP和端口。Linux下可以直接使用 curl 命令进行测试,通过状态返回值来判定。使用 -x 选项为curl设置代理, -I 查看返回值,例如:

    #
     curl  -I -x  10.0.0.2:3128  www.xxxx.com  

    通过 10.0.0.2:3128
    来打开某某某网址

    澳门十大电子游戏平台 6

  1. 其他的acl控制就不过多演示了,道理都相同,只是控制类型和值得不同而已。感兴趣的话可以问度娘获取更多资源,请善于借助搜索引擎哦 o(^▽^)o

    END

  1. 配置透明代理:

    我们要为主机配置代理上网的话,就必须要去设置,这样很不利于控制和管理主机。比如我们限制了主机不能登QQ,不能访问某网址,或者只能访问某网址,结果这些主机都不设置代理上网,那功夫岂不是白费了。其实我们可以利用iptables和将代理服务器作为网关的方式让主机不知不觉中就使用代理上网,这就是Squid的透明代理。将主机发往网关数据包的目标地址端口转发到 3128 也就是Squid服务器的监听端口,这样就实现了主机不设置代理服务器也通过代理服务器上网

    修改配置文件:http_port  3128
     transparent

    打开内核路由转发功能

    # echo
    1 > /proc/sys/net/ipv4/ip_forward 

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

    其中 -i 指定的网卡接口为接收其他主机数据包的网卡。

    之后将其他主机的网关设置为代理服务器的IP。下图为用tcpdump抓到客户机发向80端口的包。

    澳门十大电子游戏平台 7

标签:,

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图