LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 6215|回复: 6

用什么做代理上网呢?debian linux+win98

[复制链接]
发表于 2002-10-22 16:56:14 | 显示全部楼层 |阅读模式
是照这篇文章做就可以了吗?proxy ,还是用第三方软件?

:p
发表于 2002-10-22 18:26:52 | 显示全部楼层
听说squid很不错
发表于 2002-10-23 09:08:02 | 显示全部楼层
可以试试Kingate
发表于 2003-5-21 23:39:56 | 显示全部楼层

用squid作代理一(GPL)

近期,我看相当多的帖子,都提到了怎么样用squid作代理,大家讨论的很多。但是好象没有系统的实践。兄弟我就自己干起来啦!请兄弟们指教!
1.配置之我见。
     a,服务,b,工具。c,配置文件。d,日志。e,权限管理
  squid按照上面的划分:
    /etc/init.d/squid
    /usr/sbin/squid#当然还用其他的
    /etc/squid.conf
    /var/log/squid/
    /etc/squid.conf
这五个部分配置好了,当然没有问题啦:)
2。配置之循序渐进
    @@@服务的用法:
      /etc/init.d/squid start|restart|stop
       这个是服务的标准用法,不用多说。
    @@@工具的用法:常用的
       /usr/sbin/squid -k reconfigure|shutdown|check|rotate
     reconfigure 重读/etc/squid.conf,用在修改了配置文件后想立即生效;
     check 测试
     rotate 轮换日志文件
    @@@基本配置-----目标:能够代理上网
       cp /etc/squid.conf /etc/squid.conf.self
       vi /etc/squid.conf
       # 注意:在默认的下面添加自己的配置就可以,建议不要直接去修改原来的行!!!
       http_port 8000 #代理端口
       cache_mem  32 MB #一般来说是你的内存的1/3到1/2
       http_access allow all#这个使所有人可以代理上网---《基本的权限管理部分
    在客户端浏览器里用上代理,应该可以了吧!恭喜
    @@@进一步的配置-----目标:性能提高一点总是好的
       cache_swap_low 90
       cache_swap_high 95
        缓冲存储的阀值:高于95立即调整,实际上提高了磁盘性能
        reference_age 3 weeks
        缓冲对象存储期限:当存储的对象达到期限后,删除。一般就3 weeks
        maximum_object_size 2048 KB
        存储对象的大小阀值:大于她的不存储
        prefer_direct off
        直接奥父代理获取缓冲,不直接到网站获取
    @@@多重代理----目标:直接拿别人的代理来用,我又没有什么错
         cache_peer proxy.x.x.x sibling|parent port icp_port [options]
       例子:cache_peer 61.139.106.2  parent 8000 3130 proxy-only
                         父代理<--------类型) 父端口 icp 通讯端口  参数
             cache_peer 202.109.61.163 sibling 3128 3130 proxy-only
                         兄弟代理<-------类型)  
    这个的作用大家肯定知道。就是设置多重代理,比如,你自己的代理不能上外国的。就 找个能上外国的,加上就是了。这样以你机子为代理的客户都能上外国的了。呵呵!! !还可以设置多个。速度快啊!。。
    @@@日志管理
      /var/log/squid/access.log|store.log|cache.log#默认可以不改啦
   分别在/etc/squid.conf
           cache_access_log
            cache_log
             cache_store_log
日志都是会无限增长的。squid提供轮换机制,设定基数,就可以轮换啦。比如基数为3则access.log0 access.log1 access.log2 循环。其他一样。
调整轮换基数:
       logfile_rotate 3
   实际上你可以用工具手工轮换/usr/sbin/squid -k rotate
     @@@权限管理
          最后就是权限管理啦。squid允许你管理很多权限。比如
        什么ip|hostname|domain可以用代理,可以使用那些port,那些网站|ip|domain直接访问,不用代理.。。。。。。
     注意一个原则:最后匹配。即只匹配最后的权限控 制
          acl name type value
这个就是基本的语法。
@@@@@@@@@@@@@@@@@@@acl name src ip/network ip/network ...
比如:acl mynet src 192.168.1.0/255.255.255.0
      acl myreject src 210.41.114.0/255.255.255.0 192.168.1.5/24
    第一行,定义了一个网络
   第二行,定义了一个网络,一个ip#即mask方式就是网络,cidr方式就是单个ip
      http_access allow mynet
      http_access deny myreject
     分配权限给定义的name
@@@@@@@@@@@@@@@@@@@@acl name dst ip/network ip/network ...
      限制访问(黄色。。。)或者其他网络或网站主机
    和上面的差不多。
@@@@@@@@@@@@@@@@@@@@acl name srcdomain|dstdomain domain1 domain2 ...
    使用域名进行权限分配
如:
          acl yellow    dstdomian  xxx168.com  sicau.edu.cn
  最后都要用http_access allow|deny 分配!
@@@@@@@@@@@@@@@@@@@@不通过代理访问的目标
          acl name dst|dstdomain ip|domian
          alway_direct name
    比如: acl sina dstdomian www.sina.com.cn
          always_direct sina
这样客户端直接访问sina,这个用在你自己内部地址服务器上,呵呵~!~~  
发表于 2003-5-22 01:22:20 | 显示全部楼层

squid代理服务器二(GPL)

通过上一节的设置,我想你已经能够用代理上网,聊天,下软件了这一节我们一起学习一些稍微深入的东西。
@@@@@多重代理(不知道这个说法对不对)
       squid支持多重代理。
cache_peer 用法详解

#  TAG: cache_peer
#        To specify other caches in a hierarchy, use the format:
#
#                cache_peer hostname type http_port icp_port
#
#        For example,
#
#        #                                        proxy  icp
#        #          hostname             type     port   port  options
#        #          -------------------- -------- ----- -----  -----------
#        cache_peer parent.foo.net       parent    3128  3130  [proxy-only]
#        cache_peer sib1.foo.net         sibling   3128  3130  [proxy-only]
#        cache_peer sib2.foo.net         sibling   3128  3130  [proxy-only]
#
#              type:  either 'parent', 'sibling', or 'multicast'.
#
#        proxy_port:  The port number where the cache listens for proxy
#                     requests.
#
#          icp_port:  Used for querying neighbor caches about
#                     objects.  To have a non-ICP neighbor
#                     specify '7' for the ICP port and make sure the
#                     neighbor machine has the UDP echo port
#                     enabled in its /etc/inetd.conf file.
#
#            options: proxy-only
#                     weight=n
#                     ttl=n
#                     no-query
#                     default
#                     round-robin
#                     multicast-responder
#                     closest-only
#                     no-digest
#                     no-netdb-exchange
#                     no-delay
#                     login=user:password
#                     connect-timeout=nn
#                     digest-url=url
#                     allow-miss
#
#                     use 'proxy-only' to specify that objects fetched
#                     from this cache should not be saved locally.
#
#                     use 'weight=n' to specify a weighted parent.
#                     The weight must be an integer.  The default weight
#                     is 1, larger weights are favored more.
#
#                     use 'ttl=n' to specify a IP multicast TTL to use
#                     when sending an ICP queries to this address.
#                     Only useful when sending to a multicast group.
#                     Because we don't accept ICP replies from random
#                     hosts, you must configure other group members as
#                     peers with the 'multicast-responder' option below.
#
#                     use 'no-query' to NOT send ICP queries to this
#                     neighbor.
#
#                     use 'default' if this is a parent cache which can
#                     be used as a "last-resort." You should probably
#                     only use 'default' in situations where you cannot
#                     use ICP with your parent cache(s).
#
#                     use 'round-robin' to define a set of parents which
#                     should be used in a round-robin fashion in the
#                     absence of any ICP queries.
#
#                     'multicast-responder' indicates that the named peer
#                     is a member of a multicast group.  ICP queries will
#                     not be sent directly to the peer, but ICP replies
#                     will be accepted from it.
#
#                     'closest-only' indicates that, for ICP_OP_MISS
#                     replies, we'll only forward CLOSEST_PARENT_MISSes
#                     and never FIRST_PARENT_MISSes.
#
#                     use 'no-digest' to NOT request cache digests from
#                     this neighbor.
#
#                     'no-netdb-exchange' disables requesting ICMP
#                     RTT database (NetDB) from the neighbor.
#
#                     use 'no-delay' to prevent access to this neighbor
#                     from influencing the delay pools.
#
#                     use 'login=user:password' if this is a personal/workgroup
#                     proxy and your parent requires proxy authentication.
#
#                     use 'connect-timeout=nn' to specify a peer
#                     specific connect timeout (also see the
#                     peer_connect_timeout directive)
#
#                     use 'digest-url=url' to tell Squid to fetch the cache
#                     digest (if digests are enabled) for this host from
#                     the specified URL rather than the Squid default
#                     location.
#
#                     use 'allow-miss' to disable Squid's use of only-if-cached
#                     when forwarding requests to siblings. This is primarily
#                     useful when icp_hit_stale is used by the sibling. To
#                     extensive use of this option may result in forwarding
#                     loops, and you should avoid having two-way peerings
#                     with this option. (for example to deny peer usage on
#                     requests from peer by denying cache_peer_access if the
#                     source is a peer)
#
#        NOTE: non-ICP neighbors must be specified as 'parent'.
#
#Default:
# none
cache_peer 61.139.106.2 parent 8000 3130 no-query no-netdb-exchange proxy-only
cache_peer 202.109.78.22 parent 3128 3130 no-query no-netdb-exchange proxy-only
cache_peer 202.105.138.19 parent 8080 3130 no-query no-netdb-exchange proxy-only
cache_peer 61.129.70.224 parent 80 3130 no-query no-netdb-exchange proxy-only
cache_peer 61.145.230.14 parent 8080 3130 no-query no-netdb-exchange proxy-only
cache_peer 61.145.231.69 parent 80 3130 no-query no-netdb-exchange proxy-only
----------------------------------------------------------------------
我们最常用的就是parent 类型 参数多为:no-query no-netdb-exchange proxy-only 即不需要向parent发出icp查询,不和parent交换管理信息,直接从parent cache取数据送到客户,而不在本地缓存~!~(提高速度)
还有一个参数不常用:round-robin,并行从个个parent取数据,如果你的parent都很近而且快,那么可以用这个参数,我没有用,因为个个parent速度不一样
反倒速度慢了。(最后不要滥用parent,因为受管制的)
-----------------------------------------------------------------------
                          直接访问某些站点
-----------------------------------------------------------------------
acl name dst value
acl name dstdomain value
always_direct allow name
比如校园服务器,离我们很近,但是用了parent代理后肯定慢,这个时候我们可以利用这个权限管理使客户直接访问她们,而不通过代理。
  acl camp dstdomain   xx.edu.cn
  acl vod  dst    192.168.2.5
  always_direct allow camp
  always_dirent allow vod
---------------------------------------------------------------------------
                            url过滤
------------------------------------------------------------------------
acl name url_regex url1 url2 ...
http_access deny name
这个主要是过滤不良信息。比如黄色,反动。。。。。
acl ho url_regex ^http://www.pku.edu.cn$     //这里是正则表达式
http_access deny ho
---------------------------------------------------------------------
                          访问时间限制
----------------------------------------------------------------------
这个要配合其他规则使用
acl name time day-abbrevs h1:m1-h2:m2
http_access allow name
acl outnet src 210.41.115.0/255.255.255.0
acl ok_outnet time MTWHF 00:00-24:00
http_access allow ok_outnet outnet
http_access deny ok_outnet
即:允许outnet这个域在星期一到星期五都能访问
注意:http_access allow ok_outnet outnet
                         时间    域
时间是英语星期的第一个字母
------------------------------------------------------------------------
                         拒绝缓冲某些数据
-------------------------------------------------------------------
no_cache deny name
比如:
acl yellow url_regex ^http://xxx.168.com$
no_cache deny yellow
拒绝缓冲这个网站的数据!
------------------------------------------------------------------------
                 别人能使用我作为parent》》??????
--------------------------------------------------------------------
icp_port 3130 //最好不要改
icp_access allow|deny  aclName
比如不允许
acl allno src 0.0.0.0./0.0.0.0
icp_access deny allno
---------------------------------------------------------------------
注意:acl 定义的name是全局的
也就是说不能重复定义一个name
比如:
    acl kkk  src 210.41.112.0/24
    acl kkk  url_regex ^sex$
这样就使kkk重复定义,不行的哟!
---------------------------------------------------------------------
小弟用到的差不多就这些~!~如有错误,请指教和交流~!~
最后写上第三篇,squid规划~!~
发表于 2003-5-22 01:41:48 | 显示全部楼层

squid代理服务器三(GPL)

--------------------------------------------------------------------------
                                  squid透明代理
-------------------------------------------------------------------------
理论上,透明代理需要nat router加squid
即:在nat router上将用户的80端口请求重定向到squid代理端口,这就要求:所有内部机子网关为nat router
修改/etc/squid。conf
httpd_accel_host virtual//虚拟http服务
httpd_accel_port 80//监听端口
httpd_accel_with_proxy on//采用proxy加速http
httpd_accel_uses_host_header on//加速http交换

至于nat router的信息可以参考这里!
http://www.linuxsir.cn/forum.php ... 9&highlight=nat
发表于 2003-5-22 08:39:45 | 显示全部楼层
你能不能说说具体的网络环境,需要用那台机器作代理?是linux还是win98?
我就遇到过很变态的网络环境,之能用win98作代理才可以上网。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表