博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
squid
阅读量:5058 次
发布时间:2019-06-12

本文共 3973 字,大约阅读时间需要 13 分钟。

一、Squid安装

   在下载squid-3.0.STABLE26

$ tar xzf squid-3.0.RELEASE26.tar.gz$ cd squid-3.0.RELEASE26$ ./configure --prefix=SquidDir --enable-async-io --enable-icmp  --enable-delay-pools --enable-useragent-log  --enable-htcp --enable-forw-via-db --enable-cache-digests$ make

 make的过程中可能出现错误

g++: 警告: 开关‘-fhuge-objects’不再被支持ntlm/auth_ntlm.cc: 在成员函数‘virtual void AuthNTLMUserRequest::module_start(void (*)(void*, char*), void*)’中:ntlm/auth_ntlm.cc:478:18: 错误: variable ‘ntlm_user’ set but not used [-Werror=unused-but-set-variable]ntlm/auth_ntlm.cc: 在成员函数‘virtual void AuthNTLMUserRequest::authenticate(HttpRequest*, ConnStateData::Pointer, http_hdr_type)’中:ntlm/auth_ntlm.cc:596:18: 错误: variable ‘ntlm_user’ set but not used [-Werror=unused-but-set-variable]cc1plus: all warnings being treated as errorsmake[2]: *** [ntlm/auth_ntlm.o] 错误 1make[2]:正在离开目录 `/home/happy/download/squid-3.0.STABLE26/src/auth'

解决方法:

修改Makefile、src/Makefile、src/auth/Makefile这3处文件,将所有的“-Werror”的字段去掉。重新编译。

 然后make install即可。

 

二、配置Squid

打开squid.conf并修改

#将默认http_port设置为要监听地址和端口号 http_port 3128 #添加访问控制 #Default: # http_access deny all # #Recommended minimum configuration: # # Only allow cachemgr access from localhost # 定义一个针对客户IP地址的ACL和访问规则,告诉squid允许来自这些地址的HTTP请求http_access allow all           # 定义主机名,主机名通过在终端输入hostname可以获得。 #  TAG: visible_hostname #Default: visible_hostname linux # 定义cache_dir #  TAG: cache_dir #Default:   cache_dir ufs /home/happy/software/squid/var/cache 100 16 256

 将/dir/squid/sbin添加到~/.bashrc中。source重新加载。

输入

$ squid parse

检查squid.conf是否有误,如果配置正确,看不到输出。

三、测试squid

在测试之前,先初始化cache

$ squid -z

 启动squid

$ squid -N -d1       //-N选项来保持squid在前台运行,-d1选项在标准错误里显示1级别的调试信息。2013/07/25 18:01:05| Squid is already running!  Process ID 19963 //后台运行 $ squid //squid -s选项会让Squid将重要的状态和警告信息写到syslogd //关掉squid $ squid -k shutdown

 四,设置透明代理 (如果不想设置,直接跳过即可)

     因为PC中暂时只有一个网卡,故先通过一个网卡设置,同时使用一个内网地址暂时代替外网地址(此为192.168.191.20)。

4.1)单网卡设置多个IP

$ sudo vim /etc/network/interfaces

初始配置如下:

auto loiface lo inet loopbackauto eth0iface eth0 inet dhcp

修改为

auto loiface lo inet loopbackauto eth0iface eth0 inet staticaddress 192.168.191.20netmask 255.255.255.0gateway 192.168.191.1auto eth0:0iface eth0:0 inet staticaddress 192.168.191.21netmask 255.255.255.0gateway 192.168.191.1

重启服务:

$ sudo /etc/init.d/networking restart$ ifconfigeth0      Link encap:以太网  硬件地址 00:21:9b:25:b4:f5            inet 地址:192.168.191.20  广播:192.168.191.255  掩码:255.255.255.0          inet6 地址: fe80::221:9bff:fe25:b4f5/64 Scope:Link          UP BROADCAST RUNNING MULTICAST  MTU:1500  跃点数:1          接收数据包:107194 错误:0 丢弃:0 过载:0 帧数:0          发送数据包:80550 错误:0 丢弃:0 过载:0 载波:0          碰撞:0 发送队列长度:1000           接收字节:81986996 (81.9 MB)  发送字节:10655753 (10.6 MB)          中断:42 基本地址:0xe000 eth0:0    Link encap:以太网  硬件地址 00:21:9b:25:b4:f5            inet 地址:192.168.191.21  广播:192.168.191.255  掩码:255.255.255.0          UP BROADCAST RUNNING MULTICAST  MTU:1500  跃点数:1          中断:42 基本地址:0xe000 lo        Link encap:本地环回            inet 地址:127.0.0.1  掩码:255.0.0.0          inet6 地址: ::1/128 Scope:Host          UP LOOPBACK RUNNING  MTU:16436  跃点数:1          接收数据包:77 错误:0 丢弃:0 过载:0 帧数:0          发送数据包:77 错误:0 丢弃:0 过载:0 载波:0          碰撞:0 发送队列长度:0           接收字节:5880 (5.8 KB)  发送字节:5880 (5.8 KB)

 4.2) 设置iptable

写一个脚本iptables.sh,开机后启动该脚本。

$ vim iptables.sh

在iptables.sh中写入如下内容:

#! /bin/bash # 开启filter表的INPPUT链、FORWARD链及OUTPUT链iptables -P INPUT ACCEPTiptables -P FORWARD ACCEPTiptables -P OUTPUT ACCEPT # 允许转发echo "1" > /proc/sys/net/ipv4/ip_forward iptables -A PREROUTING -p udp --dport 53 -j ACCEPT # 允许内网计算机与外部 DNS 服务器的转发iptables -A FORWARD -p udp --dport 53 -j ACCEPTiptables -A FORWARD -p tcp --dport 53 -j ACCEPT # NAT端口映射 iptables -t nat -A PREROUTING -s 192.168.191.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128iptables -t nat -A POSTROUTING -s 192.168.191.0/24 -o eth0 -j MASQUERADEiptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

添加可执行权限:

$ chmod o+x iptables.sh

 

 

 

 

转载于:https://www.cnblogs.com/hqjma/p/3214352.html

你可能感兴趣的文章
更改git仓库地址
查看>>
有标号DAG计数 [容斥原理 子集反演 组合数学 fft]
查看>>
Recipe 1.4. Reversing a String by Words or Characters
查看>>
Rule 1: Make Fewer HTTP Requests(Chapter 1 of High performance Web Sites)
查看>>
sql注入
查看>>
「破解」Xposed强
查看>>
Linux 平台下 MySQL 5.5 安装 说明 与 示例
查看>>
src与href的区别
查看>>
ABAP工作区,内表,标题行的定义和区别
查看>>
《xxx重大需求征集系统的》可用性和可修改性战术分析
查看>>
Python 中 创建类方法为什么要加self
查看>>
关于indexOf的使用
查看>>
【转】JS生成 UUID的四种方法
查看>>
英语单词
查看>>
centos6.8下安装matlab2009(图片转帖)
查看>>
Mongo自动备份
查看>>
求助大神!怎样批量删除数据库表中某个字段中同样的一段字符!
查看>>
VMWARE虚拟机无法访问的三种方法分析
查看>>
enq: SQ - contention
查看>>
cer证书签名验证
查看>>