centos7 使用squid做正向代理并限制访问

由于工作需要,使用squid做正向代理,下面分享一些经验,有问题可以联系我沟通:

一.centos 7 安装squid

yum install -y squid

二.修改配置文件

vi /etc/squid/squid.conf

http_port 3128      //设置监听的IP与端口号

cache_mem 64 MB      //额外提供给squid使用的内存,squid的内存总占用为 X * 10+15+“cache_mem”,其中X为squid的cache占用的容量(以GB为单位),/比如下面的cache大小是100M,即0.1GB,则内存总占用为0.1*10+15+64=80M,推荐大小为物理内存的1/3-1/2或更多。

maximum_object_size 4 MB   //设置squid磁盘缓存最大文件,超过4M的文件不保存到硬盘

minimum_object_size 0 KB   //设置squid磁盘缓存最小文件

maximum_object_size_in_memory 4096 KB   //设置squid内存缓存最SER大文件,超过4M的文件不保存到内存

cache_dir ufs /var/spool/squid 100 16 256   //定义squid的cache存放路径 、cache目录容量(单位M)、一级缓存目录数量、二级缓存目录数量

logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %h" "%{User-Agent}>h" %Ss:%Sh        //log文件日志格式

access_log /var/log/squid/access.log combined  //log文件存放路径和日志格式

cache_log /var/log/squid/cache.log   //设置缓存日志

logfile_rotate 60   //log轮循 6

cache_swap_high 95  //cache目录使用量大于95%时,开始清理旧的cache

cache_swap_low 90   //cache目录清理到90%时停止。

acl localnet src 192.168.1.0/24  //定义本地网段

http_access allow localnet  //允许本地网段使用

http_access deny all  //拒绝所有

visible_hostname squid.david.dev  //主机名

cache_mgr [email protected]  //管理员邮箱

三,限制可访问的地址

配置文件中添加http_access deny !allow_url表示禁止非allow_erl的地址访问,allow_url为标识,可以随意更改名字;

将需要访问的地址添加到allow_url中,我用的是正则添加的acl allow_url url_regex -i teamviewer表示允许包含teamviewer的地址进行访问;

四.启动关闭

service start squid #启动squid 如果启动失败Failed to start Squid caching,请安装openssl  yum -y install openssl即可

service restart squid #重启squid

service stop squid #停止squid

 

你可能感兴趣的:(centos7 使用squid做正向代理并限制访问)