zoukankan      html  css  js  c++  java
  • Linux squid 安装配置

    linux 代理软件 squid
    查看是否安装squid  
    以上信息表明,本机是已经安装了此软件了
    如果没有显示说明没有安装,则可以使用yum工具来安装
     
    安装完软件后我们接着开始配置squid代理服务器的配置文件squid.conf
     
    目前的squid的配置文件内容也不多,该配置的就那几项,所以我们是给出主要的内容进行详解。
    1.http_port 3128
    默认的代理端口是3128,也可以自己自定义代理端口号,如80,8080等。
    如果使用的是HTTPS,则使用80端口号。
    2.cache_mem  64(bytes)
    该条目是squid服务器的缓存大小,可以手动更改服务器的缓存大小理想值。
    3.cache_dir /var/spool/squid
    该条目是指缓存存放路径。
    4.cache_access_log  /var/log/squid/access.log   
    日志文件存放处,如果没有自己创建一个,注意权限。
    5.dns_nameservers 192.168.0.1
    指定一个DNS服务器

    接下来是访问控制列表:

    ACL 元素
    你可以把他当作是一个变量,用来定义需要控制的内容
    如:acl  haha  192.168.0.0/24  可以理解为 haha=192.168.0.0/24 
    以后haha就是192.168.0.0/24拉。。

    http_access 访问控制列表
    用它来控制变量是允许通过还是拒绝通过拉。。
    如:http_access  allow  haha  允许前面定义的haha(192.168.0.0/24)网段通过
    http_access  deny  haha  拒绝前面定义的haha(192.168.0.0/24)网段通过

    访问控制的高级功能

    你需要拒绝访问某些IP、域名,采用一下操作 

    Acl  deny_ip    dst   192.168.0.1/32
    Acl  deny_name   dstdomain  -i    www.example.com  这是针对单个域名的

    拒绝访问的IP和域名网站数量多等。可以在文件/etc/squid/deny_ip中存放拒绝的IP地址,在文件/etc/squid/deny_dns中存放拒绝访问的域名,操作如下

    Acl  deny_ip   dst  “/etc/squid/deny_ip”
    Acl  deny_dns  dstdomain  -l  “/etc/squid/deny_dns”
    http_access  deny  deny_ip
    http_access  deny  deny_dns

    如在/etc/squid/deny_ip的内容是:
    192.168.0.1/32
    111.1.1.1/32
    10.10.1.0/26
    ……..

    拒绝的客户带有特定包含字符的URL,可以采取以下操作。
    Acl  deny_url  url_regex  -i  example.com
    http_access  deny  deny_url

    禁止客户机下载*.mp3、*.exe、*.zip和*.rar类 型文件
    acl deny_file  urlpath_regex -i  .mp3$ .exe$ .zip$ .rar$
    http_access deny deny_file

    禁止192.168.2.0这 个子网所有的客户机在周一到周五的9:00到18:00上网
    acl workstation src 192.168.2.0/24
    acl worktime time MTWHF 9:00-18:00
    http_access deny workstation worktime
    这些操作可以灵活控制受控制主机范围内的访问活动。
    阻止某一内容的条目,最好放在允许条目前面,提高执行效率。

    接下来是配置一个透明的代理功能。
    在配置文件里添加这样一条:
    http_port 3128 transparent 
    我们直接就把80端口的访问全部重定向到3128端口就可以了
    Iptables –t nat –A PREROUTING – p  tcp  -s 192.168.0.0/24  --dport 80 –mstate –state NEW,ESTABLISHED,RELATED –j REDIRECT –to-port 3128
    接着修改sysctl.conf文件,使得系统具有转发包的功能
    Vim /etc/sysctl.conf
    Net.ipv4.ip forward = 1  把原来为0的修改成1,这样以后每次开机重启都具有包转发功能
    上面改完后还不能立即应用到系统,我们需要更改已经在内存上加载的包转发模块。
    Echo 1 >/pro/sys/net/ipv4/ip_forward
    重启squid 就可以了
    Service squid restart


    Squid 无法启动原因

    可以以下命令查看原因
    Squid –X –d1 –N 

    上次通过它查看到已经有一个squid进程在运行,我KILL它,重启就可以了。

    还有查看var/log/squid/下面三个文件的大小,最好不要超过2G

    修改配置文件中的cache_dir

    Df 注意查看各个磁盘的情况。
  • 相关阅读:
    Matlab曲面拟合和插值
    插值(scipy.interpolate)
    坐标系旋转后的点坐标、坐标点旋转后的点坐标
    halcon相机标定及图像矫正
    别再问我们用什么画图的了!问就是excalidraw
    Windows下如何玩转火热的go-zero
    我用go-zero开发了第一个线上项目
    Java基础差,需要怎么补
    2019-给你六个建议
    简说Java线程的那几个启动方式
  • 原文地址:https://www.cnblogs.com/wala-wo/p/5119297.html
Copyright © 2011-2022 走看看