linux环境squid普通代理搭建


Squid是一个缓存Internet 数据的软件,其接收用户的下载申请,并自动处理所下载的数据。当一个用户想要下载一个主页时,可以向Squid 发出一个申请,要Squid 代替其进行下载,然后Squid 连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid 把保存的备份立即传给用户,使用户觉得速度相当快。Squid 可以代理HTTP、FTP、GOPHER、SSL和WAIS等协议并且Squid 可以自动地进行处理,可以根据自己的需要设置Squid,使之过滤掉不想要的东西。

按照代理类型的不同,可以将Squid 代理分为正向代理和反向代理,正向代理中,根据实现方式的不同,又可以分为普通代理和透明代理。此处要介绍的是最简单的普通代理的安装配置方法。

1.安装

yum install -y squid

2.修改配置

vi /etc/squid/squid.conf

配置或添加局域网地址列表,如:

acl localnet src 0.0.0.0/23

修改配置:

http_access allow CONNECT !SSL_ports #允许除列表中的其他https端口连接

http_access allow all #允许所有地址的http连接

ps:如果本机的hostname非默认的localhost,需要在配置文件最后加上如下配置(否则启动会报错):

 visible_hostname hostname

hostname是指主机名,本机唯一的一个名字。
在这里插入图片描述
以上面图片为例,localhost.localdomain为主机名,但一般简写成localhost就可以啦!

3.初始化并重启

squid -z #初始化
service squid restart #重启

4.配置iptables

vi /etc/sysconfig/iptables #加上如下策略,squid的默认端口为3128,也可根据需要在配置文件中修改

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3128 -j ACCEPT
service iptables restart

5.验证

此时即已完成免认证的代理的搭建,可在其它设备上执行命令验证:

curl -x IP:3128 www.baidu.com
在这里插入图片描述

如上图所示,表示代理配置成功!

6.配置用户验证

1)修改配置文件

       # vi /etc/squid/squid.conf

        在配置文件中添加:

        auth_param basic program /usr/lib64/squid/ncsa_auth /etc/squid/squid_passwd

        auth_param basic children 5

        auth_param basic realm Squid proxy-caching web server

        auth_param basic credentialsttl 2 hours

        auth_param basic casesensitive off

        acl ncsa_users proxy_auth REQUIRED
        http_access allow ncsa_users

在这里插入图片描述
认证配置说明:

      auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid_passwd : 选择的认证方式为basic,认证程序路径和密码文件路径,指定密码文件和用来验证密码的程序
      auth_param basic children 5 : 鉴权进程的数量
      auth_param basic realm Squid proxy-caching web server : 用户输入用户名密码时看到的提示信息
      auth_param basic credentialsttl 2 hours : 用户名和密码的缓存时间,也就是说同一个用户名多久会调用 ncsa_auth 一次。
      auth_param basic casesensitive off : 用户名是否需要匹配大小写,on为区分,off为不区分
      acl ncsa_users proxy_auth REQUIRED : 所有成功鉴权的用户都归于 ncsa_users 组
      http_access allow ncsa_users : 允许 ncsa_users 组的用户使用 Proxy

2)配置用户

      # touch /etc/squid/squid_passwd

      # chown squid /etc/squid/squid_passwd

      # yum install httpd-tools

      # htpasswd /etc/squid/squid_passwd squiduser  #生成用户squiduser的密码文件

在这里插入图片描述

#service squid restart #重启

至此,已完成代理认证信息的配置!
完成代理认证信息的搭建,可在其它设备上执行命令验证:
curl -x <代理服务器地址:端口号> -U <用户名:密码> <目标URL>
例如:curl -x IP:3128 -U user:password http://www.baidu.com
在这里插入图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值