您的位置:首页 > 理论基础 > 计算机网络

liunx 系统下 squid 搭建HTTP 代理服务器

2017-08-30 14:26 435 查看
linux 下搭建http 代理服务器 利用squid

1.第一步安装Linux 系统 我用到的是16.06 的系统。

2.安装完成之后,打开命令窗口 ,如果权限不够先切换到root权限。

sudo apt-get install squid



如果出现上面这种情况,那么代表你的Linux中的下载库没有更新

3.执行 命令:sudo apt-get update 更新下载库,直到出现完成,代表库更新成功



4.重复第2步中的命令,会出现如下,其中会有选择,是否,y/n, 选择 y 就行了



5.检查是否安装成功squid ,命令:squid -v 查看版本以及编译参数,如果出现以下,代表安装成功



6.squid 默认的安装路径在etc\squid 文件夹下会有两个文件,清空squid.conf,在该文件夹下打开终端,使用命令sudo gedit squid.conf 删除就行了,将如下配置更换到 squid.conf

这里是直接可以用的,暂时不需要用户名密码的话


http_port 3218  #代理服务器端口
cache_mgr yddongvip@163.com #设置管理员信箱,便于错误信息接收
cache_mem 64 MB #设置cache使用的内存,不要设置太大
cache_dir ufs /var/spool/squid 4096 16 256   # 缓存保存目录,ufs为存储机制,1024表示1024M空间,16表示一级目录树的数量为16,256表示二级目录树的数量为256,如果L1和L2的值比较小,那么使用squid -z创建交换目录的过程,会执行更快。这样,假如你的cache文件确实小,你也许该减少L1和L2目录的数量
cache_access_log /var/log/squid/access.log  #设置日志文件路径,access.log包含了客户发起的请求记录,如果不想记录该日志,就指定路径为/dev/null
cache_log /var/log/squid/cache.log  #cache.log包含调试和状态信息,刚开始设置运行squid的时候必须关注
cache_store_log /var/log/squid/store.log    #store.log并不是都很有用,一般用来记录进入和离开缓存的每个目标的记录,如果不想记录,只要将路径设置为none即可
acl localnet src 192.168.198.0/254  #设置能访问的ip端
visible_hostname 192.168.198.14 #设置squid主机名,如果squid不能自动发现它的主机名,这个设置非常有用,而且也能协助用户在出现故障的时候发现源头
http_access allow all


7.将squid.conf文件修改之后,使用命令:squid -k parse ,出现如下,代表语法没有错误



8 squid –z 初始化缓存 命令:service squid start 启动squid,尽量将系统重启一下。

9.检查刚刚设置的squid端口是否开启,命令:netstat -nltp 出现3218代表成功



10.客服端的配置:

然后打开浏览器à工具à选项à连接à局域网设置à代理服务器

地址:192.168.198.14 端口:3128

一切搞定之后在浏览器输入http://www.google.cn即可访问,上网了easy吧!

在Squid服务器的管理中, 除了网段的允许这一个配置外, 设置用户名,密码的验证也是非常重要的管理访问的手段!Squid实现用户名密码,使用HTTPBasicAuth 的方式。 需要htpasswd工具来创建passwd文件 (安装Apache软件,此工具会附带安装,)

在Linux中输入htpasswd,会提示你要装什么软件,之后使用,apt-get install xxx,安装完成之后

生成用户名,命令: htpasswd -c /etc/squid/passwd proxy_username,会出现设置密码,输入两次密码即可

将下述代码添加到/etc/squid/squid.conf 中即配置实用验证的功能:

client_netmask 255.255.255.255
forwarded_for off
#以下配置是设置连接时需要用户名密码
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic realm My Proxy Caching Domain
acl normal proxy_auth REQUIRED
http_access allow normal
header_access X-Forwarded-For deny all
request_header_access From deny all
header_access Via deny all
http_access allow all


所有完成,重复第7步的操作,那么你的HHTP代理服务器搭好了, 即可实现为Squid代理服务器添加用户名密码验证的功能。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: