原创-在Debian 5.0下的使用源代码安装Squid笔记
2009-03-31 22:02
821 查看
作者:何祖彬[RobinHe] Mail:zubin.he@gmail.com
Skype ID : pto_robin QQ : 57623579
始于2009年3月31日 PM
版本号:Debian-Squid-V1.0-20090331, 2009年3月31日首版
转载请注明出处,谢谢!
本文中难免有不足、遗漏、错别字和句子不通之处,如发现、或者有更新改变之处,请与我联系以及时修正和完善!
系统环境 : Debian GNU/Linux 5.0
使用Squid做成透时代理,让局域网内的用户只能浏览白名单里面的网站。
参考资料:
Squid中文权威指南 : http://blog.s135.com/book/squid/index.html
一,下载并安装squid:
squid的官方网站:www.squid-cache.org
我下载的是3.0的stable13版:
xx:~#cd /usr/local/src
xx:/usr/local/src# wget http://www.squid-cache.org/Versions/v3/3.0/squid-3.0.STABLE13.tar.gz
解压缩:
xx:/usr/local/src# tar -zxvf squid-3.0.STABLE13.tar.gz
xx:/usr/local/src# cd squid-3.0.STABLE13
xx:/usr/local/src/squid-3.0.STABLE13# ./configure –enable-icmp –localstatedir=/mnt/hdb1/squid-cache –prefix=/usr/local/squid
–enable-icmp : icmp支持,暂时没用,以后用时就不要再重新编译安装。
–localstatedir=/mnt/hdb1/squid-cache : 把cache和log文件夹,即数据目录放到空间比较大的硬盘上,因为做为proxy,需要足够的空间存入这些数据以及log。
–prefix=/usr/local/squid : 把squid安装到/usr/local/squid这个目录下。
xx:/usr/local/src/squid-3.0.STABLE13#make
xx:/usr/local/src/squid-3.0.STABLE13#make install
二,配置Squid
a,增加一个squid的用户,以便让squid来运行squid服务,以方便标识:
xx:/usr/local/src/squid-3.0.STABLE13#adduser squid
xx:/mnt/hdb1/squid-cache# cd /usr/local/squid/
#更改cache和log的权限,以便让squid用户对这些目录有扫行权限。
xx:/mnt/hdb1/squid-cache# chown squid:squid /mnt/hdb1/squid-cache -Rf
#初始化squid的cache
xx:/mnt/hdb1# /usr/local/squid/sbin/squid -z
2009/03/31 16:56:09| Creating Swap Directories
2009/03/31 16:56:09| Making directories in /mnt/hdb1/squid-cache/cache/00
2009/03/31 16:56:09| Making directories in /mnt/hdb1/squid-cache/cache/01
2009/03/31 16:56:09| Making directories in /mnt/hdb1/squid-cache/cache/02
2009/03/31 16:56:09| Making directories in /mnt/hdb1/squid-cache/cache/03
2009/03/31 16:56:09| Making directories in /mnt/hdb1/squid-cache/cache/04
2009/03/31 16:56:09| Making directories in /mnt/hdb1/squid-cache/cache/05
2009/03/31 16:56:09| Making directories in /mnt/hdb1/squid-cache/cache/06
2009/03/31 16:56:09| Making directories in /mnt/hdb1/squid-cache/cache/07
2009/03/31 16:56:09| Making directories in /mnt/hdb1/squid-cache/cache/08
2009/03/31 16:56:10| Making directories in /mnt/hdb1/squid-cache/cache/09
2009/03/31 16:56:10| Making directories in /mnt/hdb1/squid-cache/cache/0A
2009/03/31 16:56:10| Making directories in /mnt/hdb1/squid-cache/cache/0B
2009/03/31 16:56:10| Making directories in /mnt/hdb1/squid-cache/cache/0C
2009/03/31 16:56:10| Making directories in /mnt/hdb1/squid-cache/cache/0D
2009/03/31 16:56:10| Making directories in /mnt/hdb1/squid-cache/cache/0E
2009/03/31 16:56:10| Making directories in /mnt/hdb1/squid-cache/cache/0F
b,更改相关参数:
xx:pt:/usr/local/squid# vi etc/squid.conf
找到:
# cache_effective_user nobody
改成:
cache_effective_user squid
即设置运行squid的用户名。以便对上面的cache和log有完全的权限。
保存退出。
c,在配置文件中配置自已需要的内容:
找到这一行 :
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
我们可以在这一行下面,在:
http_access deny all
这一行上面编写规则。
要求:只开放内网用户可以使用这个proxy服务,并且只允许访问公司规定访问的网站:
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
# Example rule allowing access from your local networks.
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
#http_access allow localnet
acl sitelist dstdomain .nba.com .baidu.com #只将sitelist表定义为nba.com和baidu.com域名
http_access deny !sitelist #禁提除sitelist里面以外的域名,请注意"!”
acl ptolan src 192.168.0.0/24
http_access allow ptolan
# And finally deny all other access to this proxy
http_access deny all
注意:根据squid指南中的:
域名ACL有点深奥,因为相对于匹配域名和子域有点微妙的差别。当ACL域名以"."开头,squid将它作为通配符,它匹配在该域的任何主机名,甚至域名自身。相反的,如果ACL域名不以"."开头,squid使用精确的字符串比较,主机名同样必须被严格检查。
我少了域名前面的".",让我伤了好久的脑筋和时间。幸亏回头认真看了手册。
d,启动和停止squid服务:
启动:xx:~# /usr/local/squid/sbin/squid
停止:xx:~# /usr/local/squid/sbin/squid -k shutdown
三,研究透明代理的做法,结合路由器,最好在客户端不做改变就可以实现屏蔽。
http_port 60128 transparent
iptables
iptables -t nat -A PREROUTING -i eth0 -s 192.168.0.0/24 -p tcp -j REDIRECT --to-port 60128
…未完待续…
Skype ID : pto_robin QQ : 57623579
始于2009年3月31日 PM
版本号:Debian-Squid-V1.0-20090331, 2009年3月31日首版
转载请注明出处,谢谢!
本文中难免有不足、遗漏、错别字和句子不通之处,如发现、或者有更新改变之处,请与我联系以及时修正和完善!
系统环境 : Debian GNU/Linux 5.0
使用Squid做成透时代理,让局域网内的用户只能浏览白名单里面的网站。
参考资料:
Squid中文权威指南 : http://blog.s135.com/book/squid/index.html
一,下载并安装squid:
squid的官方网站:www.squid-cache.org
我下载的是3.0的stable13版:
xx:~#cd /usr/local/src
xx:/usr/local/src# wget http://www.squid-cache.org/Versions/v3/3.0/squid-3.0.STABLE13.tar.gz
解压缩:
xx:/usr/local/src# tar -zxvf squid-3.0.STABLE13.tar.gz
xx:/usr/local/src# cd squid-3.0.STABLE13
xx:/usr/local/src/squid-3.0.STABLE13# ./configure –enable-icmp –localstatedir=/mnt/hdb1/squid-cache –prefix=/usr/local/squid
–enable-icmp : icmp支持,暂时没用,以后用时就不要再重新编译安装。
–localstatedir=/mnt/hdb1/squid-cache : 把cache和log文件夹,即数据目录放到空间比较大的硬盘上,因为做为proxy,需要足够的空间存入这些数据以及log。
–prefix=/usr/local/squid : 把squid安装到/usr/local/squid这个目录下。
xx:/usr/local/src/squid-3.0.STABLE13#make
xx:/usr/local/src/squid-3.0.STABLE13#make install
二,配置Squid
a,增加一个squid的用户,以便让squid来运行squid服务,以方便标识:
xx:/usr/local/src/squid-3.0.STABLE13#adduser squid
xx:/mnt/hdb1/squid-cache# cd /usr/local/squid/
#更改cache和log的权限,以便让squid用户对这些目录有扫行权限。
xx:/mnt/hdb1/squid-cache# chown squid:squid /mnt/hdb1/squid-cache -Rf
#初始化squid的cache
xx:/mnt/hdb1# /usr/local/squid/sbin/squid -z
2009/03/31 16:56:09| Creating Swap Directories
2009/03/31 16:56:09| Making directories in /mnt/hdb1/squid-cache/cache/00
2009/03/31 16:56:09| Making directories in /mnt/hdb1/squid-cache/cache/01
2009/03/31 16:56:09| Making directories in /mnt/hdb1/squid-cache/cache/02
2009/03/31 16:56:09| Making directories in /mnt/hdb1/squid-cache/cache/03
2009/03/31 16:56:09| Making directories in /mnt/hdb1/squid-cache/cache/04
2009/03/31 16:56:09| Making directories in /mnt/hdb1/squid-cache/cache/05
2009/03/31 16:56:09| Making directories in /mnt/hdb1/squid-cache/cache/06
2009/03/31 16:56:09| Making directories in /mnt/hdb1/squid-cache/cache/07
2009/03/31 16:56:09| Making directories in /mnt/hdb1/squid-cache/cache/08
2009/03/31 16:56:10| Making directories in /mnt/hdb1/squid-cache/cache/09
2009/03/31 16:56:10| Making directories in /mnt/hdb1/squid-cache/cache/0A
2009/03/31 16:56:10| Making directories in /mnt/hdb1/squid-cache/cache/0B
2009/03/31 16:56:10| Making directories in /mnt/hdb1/squid-cache/cache/0C
2009/03/31 16:56:10| Making directories in /mnt/hdb1/squid-cache/cache/0D
2009/03/31 16:56:10| Making directories in /mnt/hdb1/squid-cache/cache/0E
2009/03/31 16:56:10| Making directories in /mnt/hdb1/squid-cache/cache/0F
b,更改相关参数:
xx:pt:/usr/local/squid# vi etc/squid.conf
找到:
# cache_effective_user nobody
改成:
cache_effective_user squid
即设置运行squid的用户名。以便对上面的cache和log有完全的权限。
保存退出。
c,在配置文件中配置自已需要的内容:
找到这一行 :
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
我们可以在这一行下面,在:
http_access deny all
这一行上面编写规则。
要求:只开放内网用户可以使用这个proxy服务,并且只允许访问公司规定访问的网站:
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
# Example rule allowing access from your local networks.
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
#http_access allow localnet
acl sitelist dstdomain .nba.com .baidu.com #只将sitelist表定义为nba.com和baidu.com域名
http_access deny !sitelist #禁提除sitelist里面以外的域名,请注意"!”
acl ptolan src 192.168.0.0/24
http_access allow ptolan
# And finally deny all other access to this proxy
http_access deny all
注意:根据squid指南中的:
域名ACL有点深奥,因为相对于匹配域名和子域有点微妙的差别。当ACL域名以"."开头,squid将它作为通配符,它匹配在该域的任何主机名,甚至域名自身。相反的,如果ACL域名不以"."开头,squid使用精确的字符串比较,主机名同样必须被严格检查。
我少了域名前面的".",让我伤了好久的脑筋和时间。幸亏回头认真看了手册。
d,启动和停止squid服务:
启动:xx:~# /usr/local/squid/sbin/squid
停止:xx:~# /usr/local/squid/sbin/squid -k shutdown
三,研究透明代理的做法,结合路由器,最好在客户端不做改变就可以实现屏蔽。
http_port 60128 transparent
iptables
iptables -t nat -A PREROUTING -i eth0 -s 192.168.0.0/24 -p tcp -j REDIRECT --to-port 60128
…未完待续…
相关文章推荐
- 原创-在Debian 5.0下的使用源代码安装Squid笔记(第二版)
- 原创-在Debian 5.0下的使用源代码安装LAMP笔记[完整版,带HTTPS]
- 原创-在Debian 5.0下的使用源代码安装LAMP笔记[完整版]
- 原创-在Debian 5.0下的使用源代码安装LAMP笔记[完整版]
- 在Debian 5.0下源代码安装openwebmail 2.53笔记
- debian安装及使用笔记
- 原创 在Debian 4.0 rc3 上安装Subversion 1.5笔记
- PHP学习笔记(3)----phpmyadmin的安装与使用[原创]
- PHP学习笔记(3)----phpmyadmin的安装与使用[原创]
- 使用U盘安装Debian Linux笔记
- Debian/Ubuntu包安装工具APT的使用
- Git安装使用笔记 [转]
- [原创]java WEB学习笔记66:Struts2 学习之路--Struts的CRUD操作( 查看 / 删除/ 添加) 使用 paramsPrepareParamsStack 重构代码 ,PrepareInterceptor拦截器,paramsPrepareParamsStack 拦截器栈
- sqlite3安装使用---笔记
- Eclipse中SVN的安装步骤(两种)和使用方法<非原创>
- 笔记:使用WDS批量安装win10,附有Enterprise无人值守应答文件
- C-kermit8.0在Redhat 9.0上的安装与使用(原创完整版)