ubuntu使用squid搭建代理


  1. 安装squid
//检查是否安装squid
which squid
//
apt update
sudo apt install squid
  1. 配置squid的配置文件squid.conf
//备份squid默认配置文件
cp /etc/squid/squid.conf squid.conf.bak
//修改squid.conf
vi squid.conf

因为我第一次安装后,又把squid给卸载了,不知道改动了什么地方,再次安装squid的时候,/etc下没有自动生成squid.conf,所以又去根据squid的版本,又去squid官网找的默认配置,改为如下:

http_port 8128  #端口号
cache_mgr  xxx@gmail.com  #Squid 崩溃时邮件发送地址
# http_access deny all
cache_dir null /tmp
#配置用户名密码,避免被盗用,后面会生成passwords文件
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
  1. :wq保存,然后检查配置文件语法是否正确
//检查语法:
squid -k parse
//若不报错,刚说明配置无误

//第一次启动前初始化缓存:
squid -z
//此命令创建了16个一级子目录

我这里遇到两个错误:
1.WARNING: Could not determine this machines public hostname. Please configure one or set ""visible_hostname"".
在squid.conf配置文件中添加:

visible_hostname squid.packet-pushers.net

2.Squid cache directory not been initialized
好像是squid的缓存目录还没有没有初始化

//重启squid,自动创建缓存目录
sudo service squid restart
  1. 创建刚才配置文件中配置的密码,使用htpasswd来创建passwords文件,htpasswd命令在软件包apache2-utils中。
sudo apt install apache2-utils

//生成password文件 这里的路径和squid.conf中配置的路径一致
sudo htpasswd -c -d /etc/squid/passwords 自定义用户名  

//然后输入两次至少8位的密码,还要保证生成的passwords文件是可读的
sudo chmod o+r /etc/squid/passwords

  1. 启动服务
// 开机启动
systemctl enable squid.service

sudo service squid start
//重启服务
squid restart

//关闭服务
squid stop
  1. 查询端口状态
netstat -tnl

//查看3128端口是否开启
netstat -tnl | grep 3128
  1. 查看squid访问日志
tail -f /var/log/squid/access.log

注意:如果配置文件配置错误,修改后squid需要重新读取配置文件,然后重启squid

squid -k parse
squid -k reconfig

squid restart

参考博客
官方配置文件api
squid中文指南


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM