当前位置:首页 > CN2资讯 > 正文内容

Squid 3.1.0.16 配置透明代理和普通代理功能squid透明代理原理

1天前CN2资讯
2010-2-26 16:27 Squid 3.1.0.16 Install:
配置为普通代理(需要客户端在浏览器里设置服务器地址,端口)
1. install: shell#wget  ftp:///pub/packages/info-systems/www/squid/squid-3.1.0.16.tar.gz
shell#gzip -dc squid-3.1.0.16.tar.gz  | tar xvf -
shell#ulimit -n
1024
shell#./configure --prefix=/usr/local/squid --sysconfdir=/etc --enable-arp-acl --enable-linux-netfilter --enable-auth="basic" --enable-underscore 可选的编译配置: #--sysconfdir=/etc 配置squid.conf 安装到/etc下
#--enable-storeio=ufs,null 使用的文件系统通常是默认的ufs,不过如果想要做一个不缓存任何文件的代理服 务器,就需要加上null文件系统。
#--enable-arp-acl 设置客户端可以通过MAC地址进行管理,防止IP欺骗
#--enable-err-languages="Simplify_Chinese"
#--enable-default-err-languages="Simplify_Chinese" 编入使用简体中文的错误信息
#--enable-underscore 允许URL中出现下划线,默认URL带下划线是非法地址
#--enable-linux-netfilter 使用透明代理功能
shell#make
shell#make install 2. configure: shell# useradd squid  #增加一个默认用户
shell# chown -R squid.squid /var/squid
shell# vi /etc/squid.conf http_port 192.168.2.1:3128 #设置客户端使用的代理服务器地址
cache_mgr [email protected]    #设置管理员信箱,便于错误信息接收
cache_dir ufs /var/squid 1024 16 256 # 缓存保存目录,ufs为存储机制,1024表示1024M空间,16表示一级目录树的数量为16,256表示二级目录树的数量为256,如果L1和L2的值比较小,那么使用squid -z创建交换目录的过程,会执行更快。这样,假如你的cache文件确实小,你也许该减少L1和L2目录的数量。
cache_mem 32MB   #设置cache使用的内存,不要设置太大
cache_swap_low 90  #如果磁盘缓存使用率低于90%就不会删除cache
cache_swap_high 95  #如果磁盘缓存使用率高于95%则删除cache
#如果不想squid使用缓存,可以设置cache_dir null /tmp
cache_effective_user squid #可以用root来运行squid,设置cache_effective_user告诉squid用root执行完特别权限任务后切换到哪个用户,推荐建立一个新用户squid,cache_effective_user不能设置为root,否则不能启动squid
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即可
visible_hostname 192.168.2.1   #设置squid主机名,如果squid不能自动发现它的主机名,这个设置非常有用,而且也能协助用户在出现故障的时候发现源头
client_netmask 255.255.255.255   #告诉squid,每个用户请求的IP都当做独立主机处理
dns_nameservers 10.155.3.250   #设置DNS服务器地址 3.运行squid
shell# squid -z #产生缓存目录
shell# ./squid
shell# netstat -an|grep 3128
# netstat -an|grep 3128
tcp        0      0 10.155.30.202:3128          0.0.0.0:*                   LISTEN     
到目前为止,一个简单的squid代理服务器即完成! 4.问题 [root@localhost sbin]# ./squid
2010/02/22 16:43:55| http(s)_port: missing Port: 192.168.2.1
FATAL: Bungled squid.conf line 64: http_port 192.168.2.1 3128
Squid Cache (Version 3.1.0.16): Terminated abnormally.
CPU Usage: 0.008 seconds = 0.004 user + 0.004 sys
Maximum Resident Size: 0 KB
Page faults with physical i/o: 0 解决:
shell# vi /etc/squid.conf 将http_port 192.168.2.1 3128改成http_port 192.168.2.1:3128 [root@localhost sbin]# ./squid
FATAL: Bungled squid.conf line 71: cache_dir ufs /var/squid
Squid Cache (Version 3.1.0.16): Terminated abnormally.
CPU Usage: 0.009 seconds = 0.005 user + 0.004 sys
Maximum Resident Size: 0 KB
Page faults with physical i/o: 0 解决:
cache_dir ufs /var/squid 改成:cache_dir ufs /var/squid 1024 16 256
[root@localhost sbin]# ./squid
2010/02/22 16:51:38| WARNING: No units on 'cache_mem 32M', assuming 32.00 bytes
WARNING: Cannot write log file: /var/log/squid/cache.log
/var/log/squid/cache.log: Permission denied
         messages will be sent to 'stderr'.
解决: 将cache_mem 32M 改为cache_mem 32 MB, 并且给/var/log/squid增加权限为777
shell# ./squid -z
2010/02/22 17:31:33| Creating Swap Directories
2010/02/22 17:31:33| /var/squid exists
FATAL: Failed to make swap directory /var/squid/00: (13) Permission denied 解决:
因为squid.conf 缺少cache_effective_user,在squid.conf里增加cache_effective_user squid
不能使用root,否则会出错 useradd squid
chown -R squid.squid /var/squid
然后再运行squid -z ./squid -z
2010/02/22 17:43:36| Creating Swap Directories
2010/02/22 17:43:36| /var/squid exists
2010/02/22 17:43:36| Making directories in /var/squid/00
2010/02/22 17:43:36| Making directories in /var/squid/01
2010/02/22 17:43:36| Making directories in /var/squid/02
2010/02/22 17:43:36| Making directories in /var/squid/03
2010/02/22 17:43:36| Making directories in /var/squid/04
2010/02/22 17:43:36| Making directories in /var/squid/05
2010/02/22 17:43:36| Making directories in /var/squid/06
2010/02/22 17:43:36| Making directories in /var/squid/07
2010/02/22 17:43:36| Making directories in /var/squid/08
2010/02/22 17:43:37| Making directories in /var/squid/09
2010/02/22 17:43:37| Making directories in /var/squid/0A
2010/02/22 17:43:37| Making directories in /var/squid/0B
2010/02/22 17:43:37| Making directories in /var/squid/0C
2010/02/22 17:43:37| Making directories in /var/squid/0D
2010/02/22 17:43:37| Making directories in /var/squid/0E
2010/02/22 17:43:37| Making directories in /var/squid/0F 配置为透明代理(客户机不需要做任何设置) 1.安装步骤同上
2.设置开启Linux IP转发功能
shell# echo 1 > /proc/sys/net/ipv4/ip_forward
3.编辑/etc/squid.conf,修改或增加以下选项:
http_port 192.168.2.1:3128 transparent
4.配置iptables
shell# iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-ports 3128 #把80端口的包全部转向3128端口
shell# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE #动态地址转换
shell# service iptables save
5.打开客户端,不要在IE里做任何设置即可上网 调试: 1.在squid服务器上通过tcpdump 监控客户端发起或者受到的数据包:
shell# tcpdump -n -i eth1 port 80    
参考网站: http://wiki.ubuntu.org.cn/Squid%E9%85%8D%E7%BD%AE%E8%AF%A6%E8%A7%A3 squid 权威中文指南: http:///pangj/squid/ http://www.oschina.net/p/squid squid faq: http://www.comfsm.fm/computing/squid/FAQ.html#toc11
启动时查看信息输出
./squid -N -d1 看到Ready to serve reques信息输出表示服务器启动正常,可以使用代理功能               将LINUX 设置为网关 Linux Server
Eth0: 10.155.30.202 255.255.255.0 10.155.30.254 连接外部玩了过
Eth1: 192.168.2.1 255.255.255.0 192.168.2.1 连接内网 如果测试成功,在内网客户机192.168.2.2上能够ping通192.168.2.1,192.168.30.254 配置: Linux: shell# echo 1 > /proc/sys/net/ipv4/ip_forward
shell# iptables -F
shell# iptables -X
shell# iptables -Z
shell# iptables -F -t nat
shell# iptables -X -t nat
shell# iptables -Z -t nat
shell# iptables -P INPUT        ACCEPT
shell# iptables -P OUTPUT       ACCEPT
shell# iptables -P FORWARD   ACCEPT
shell# iptables -t nat -P PREROUTING        ACCEPT
shell# iptables -t nat -P POSTROUTING      ACCEPT
shell# iptables -t nat -P OUTPUT                   ACCEPT
shell# iptables -t nat -A  POSTROUTING  -s  192.168.2.0/24  -o  eth0 -j  MASQUERADE           
shell# iptables -t nat -A  POSTROUTING  -s  192.168.20/24   -j  SNAT  --to  10.155.30.202 shell#route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
10.155.30.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
0.0.0.0         10.155.30.254   0.0.0.0         UG    0      0        0 eth0 如果没有默认路由,则增加一条默认路由:
route add -net 0.0.0.0 netmask 0.0.0.0 gateway 10.155.30.254
客户机: IP:192.168.2.2 255.255.255.0 192.168.2.1      
    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/32150.html

    分享给朋友:

    “Squid 3.1.0.16 配置透明代理和普通代理功能squid透明代理原理” 的相关文章

    最便宜的域名注册平台推荐与选择技巧

    在创建一个新网站时,域名是一个不可或缺的部分。众所周知,一个好的域名能够提升品牌形象,也让用户更容易记住。选择便宜的域名注册平台,可以让我们在网站建设的开销上更加省钱。这里有几个我认为特别值得关注的平台,可能会对你有帮助。 1.1 NameCheap的优势与价格分析 让我先谈谈NameCheap。说...

    解决Linode被封的问题与账户恢复策略分享

    Linode作为一款备受欢迎的美国VPS,其灵活性和服务质量吸引了众多用户。然而,基于我的经验,国内用户在使用Linode时常常面临被封的困扰。这不仅影响了使用体验,也对业务的持续性造成了影响。我想深入分析一下Linode被封的原因。 首先,Linode的全球网络状况在近年来遭遇了严峻挑战。随着越来...

    低价VPS: 如何选择最合适的虚拟私人服务器

    低价VPS概述 我们常常听到VPS这个词,它代表“虚拟私人服务器”。对于那些不太了解的人,VPS实际上是一种将一台物理服务器划分为多个虚拟服务器的技术。每个VPS都有独立的操作系统和存储空间,就像你在家里拥有一个独立的小房间一样。这样一来,你就能在不需要太多资金投入的情况下,拥有一台属于自己的服务器...

    AWS在日本的云计算市场发展与投资前景分析

    在讨论AWS在日本的市场背景时,我觉得日本的云计算市场是一个非常吸引人的话题。日本的经济科技发展水平相对较高,企业和政府机构对于云计算的接受度和需求不断增加。这种需求尤为体现于各个行业,比如金融、医疗、教育等。许多传统的行业正在努力向数字化转型,寻找更高效、可靠的解决方案。 2011年,AWS决定在...

    搬瓦工(BandwagonHOST)VPS服务器购买指南与套餐对比

    搬瓦工,大家熟悉的名字,实际上是BandwagonHOST的中文称呼。这家公司是加拿大IT7 Networks旗下的子公司,专注于提供VPS服务器主机服务,目标用户涵盖了全球多个国家和地区,包括美洲、欧洲和亚洲等地。对于那些需要稳定和高性能服务器的用户来说,搬瓦工绝对是一个值得考虑的选项。 说到搬瓦...

    深入了解韩国汽车市场2023:选择适合你的现代与起亚车型

    谈到韩国汽车市场,总是会让我想起它悠久的历史和令人惊叹的演变。从上世纪60年代开始,韩国的汽车产业就慢慢扎根。当时,汽车几乎是奢侈品。伴随政府的支持和投资,本土品牌逐渐崭露头角。到目前为止,韩国已成为全球第五大汽车制造国,现代与起亚等品牌在国内外市场上都有着不俗的表现。可以说,历史赋予了韩国汽车产业...