装squid

yum install -y squid

安装httpd(用于后面生成密码文件)

yum install -y httpd  或者 yum install httpd-tools -y

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

vim /etc/squid/squid.conf

修改/添加以下信息

http_port 3128
# 监听端口号,可以按需修改
# http_port 0.0.0.0:3128 #这样写会同时监听ipv6和ipv4的端口 #以下内容一般加在文末
cache_mem 128 MB #内存中的缓存大小
maximum_object_size 16 MB #最大被缓存文件大小,这个配合下面的cache_dir使用,只作用于缓存到磁盘的文件。
cache_dir ufs /var/spool/squid 100 16 256
#缓存文件夹,默认是只在内存中进行缓存的。这里指定缓存大小为100M,第一层子目录为16个,第二层为256。
access_log /var/log/squid/access.log #定义访问日志路径
visible_hostname www.test.com #随意填写一个域名
cache_mgr airoot@qq.com #随意写一个邮箱

  1、如果不需要带用户认证,只需启用这条即可(安全性很差)

http_access allow all   

  2、带用户认证配置(这里通过ncsa认证模块来为我们的squid添加认证)

htpasswd -c /etc/squid/passwd airoot       #创建一个密码文件名为passwd,账号名为airoot的密码文件
# 回车之后提示输入密码,在此这里我设置的密码为 321654
# 注意密码不要超过8位 

  2.1 验证密码文件

/usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
# 输入 用户名 密码
airoot 321654
# 提示OK说明成功,ERR是有问题,请检查一下之前步骤
OK
# 测试完成,crtl + c 打断

  2.2 配置文件 

#注释以下内容:
# http_access deny !Safe_ports
# http_access deny CONNECT !SSL_ports
# http_access deny to_localhost
# http_access allow localnet
# http_access deny all #在代码后添加验证和安全相关命令
acl OverConnLimit maxconn 16 #定义每个IP最大允许16个连接,防止攻击 auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd      #选择的认证方式为basic,定义认证程序路径和密码文件路径。
auth_param basic children 5         #认证程序的进程数
auth_param basic realm airoot's Squid Server        #客户端在使用代理时,输入密码时弹出来的提示框中的描述文字
auth_param basic credentialsttl 5 hours     #认证有效时间
acl auth_user proxy_auth REQUIRED     #定义认证的用户
http_access deny OverConnLimit #超出之前设定的连接数则拒绝
http_access allow auth_user     #允许认证的用户访问
http_access deny all     #拒绝所有其它访问 #题外话
# acl auth_user proxy_auth REQUIRED 等于 acl authenticated proxy_auth REQUIRED
# http_access allow auth_user 等于 http_access allow authenticated

初始化Squid

squid -z

启动命令与开机自启

# 启动
systemctl start squid.service
# 停止
systemctl stop squid.service
# 重启
systemctl restart squid.service #设置开机自启
systemctl enable squid.service

 OpenVPN客户端代理连接

http-proxy x.x.x.x 8080 stdin basic   #因为之前定义了basic验证

 上面的的身份认证示例将会导致OpenVPN提示从标准输入界面输入一对用户名/密码,如果你希望将这些用户凭据放入一个文件中来代替上述输入操作,请使用一个文件名来替换语句中的stdin,该文件的第1行应该放置用户名,第2行放置密码。

附带/etc/squid/squid.conf完整配置文件

最新文章

  1. JS验证输入网址
  2. B1/B2签证拒签
  3. ASP.NET MVC 5 默认模板的JS和CSS 是怎么加载的?
  4. 配置Tomcat数据源
  5. Jquery LigerUI框架学习(一)
  6. CentOS环境下Java开发环境的搭建
  7. TortoiseGit无法勾选Load Putty Key,该选项为灰色的解决办法
  8. php学习日志(3)-echo&print
  9. 请帮我看看这个页面,红色部份如何改才能保存到ACCess数据库中
  10. Python对文件的操作(转)
  11. MYSQL 维护表的常用 5 方法
  12. 已知直线上的两点 A(x1, y1), B(x2, y2) 和另外一点 C(x0, y0),求C点到直线的距离。
  13. [ext4]06 磁盘布局 - 特殊inode
  14. JavaScript系列----一切皆是对象
  15. jmeter用Firefox录制https协议证书问题解决
  16. 【算法导论】单源最短路径之Bellman-Ford算法
  17. VC++ 使用attributes定义接口
  18. Py之zip方法【转载】
  19. ueditor自定义额外参数
  20. cmd命令关闭占用程序的端口

热门文章

  1. 赵雅智:service_bindService生命周期
  2. oracle卸载清除注册表(彻底卸载)
  3. Job for vsftpd.service failed because the control process exited with error code
  4. 升级openssh基于openssl
  5. shell脚本死循环判断nginx日志reqest_time时间大于3秒是否增加,若增加发送相关日志信息到开发人员
  6. ASP.NET#命名空间"System.Data"中不存在类型或命名空间名称"Linq"(是否缺少程序集引用?)
  7. FastJSON使用案例(fastjson-1.1.28.jar)
  8. 【jQuery】JQuery-ui autocomplete与strtus2结合使用
  9. Python学习笔记011——内置函数exec()
  10. pcurl 学习 http文件下载及写入空设备文件实例