QQ在线服务: 风舞残阳风舞残阳 年满19岁年满19岁 小罗小罗 晴天晴天 心雨心雨 叮叮肉叮叮肉 小周小周 小童小童 小破孩小破孩 遥望当年遥望当年

用户导购指南

水货IBM笔记本电脑报价

行货IBM笔记本电脑报价

IBM服务器报价

IBM笔记本电脑配件报价

本周水货IBM笔记本电脑特价

IBM笔记本电脑驱动下载

水货IBM笔记本电脑验机流程

水货IBM笔记本电脑保修政策

IBM笔记本电脑FRU查询

IBM笔记本电脑常见问题

IBM笔记本电脑使用手册

笔记本电脑验机软件

论坛积分使用说明

水货IBM笔记本电脑异地购机流程

笔记本电脑购机经历及现场

贵宾申请入口

贵宾用户FTP入口

查看笔记本配置

水货APPLE苹果笔记本电脑报价

 
发新话题
打印

[linux教程] 如何在Linux中设置透明代理

如何在Linux中设置透明代理

如何在Linux中设置透明代理& q8 i9 _6 S, z4 E/ u
2006-06-01
6 s, P/ |4 L1 d9 P  [  @( y% s# }4 S9 U* a% i; J
$ ^) h" R; S7 I# F. U& r3 ]% o
1.什么是透明代理?
' V( G/ c' b0 n  如果你问:我如何才能使得用户的浏览器不需要任何代理设置就能使用我的Squidcache代理服务器上网?此时你就需要使用透明代理。透明代理让你的客户端不需设置任何代理,当包经过透时代理服务器时实际上被重定向到squid代理服务器的代理端口(如8080),即由本地代理服务器向外请求所需数据然后拷贝给客户端。
8 }4 Z6 W# v& k0 C! Z( R: m  2.我需要什么样的环境才能实现透明代理?
# ~+ D/ R6 f9 m2 e# ~! s5 P
- ^4 K% N# b0 j  B# Y/ i/ o& ~  a.客户端的windowsPC的网关必须设成Squid代理服务器,因为既然你的browser中没有任何代理设置,你要访问某个站点时,包必须经经过squid代理服务器才能被重定向,故这是最基本的条件。1 ~- P& X2 |6 j3 {3 a

. C- H/ o  z  C7 }" \/ [: q$ R+ z  b.客户端必须正确设置DNS服务器。因为既然现在不用设置任何代理。则DNS必须由browser来解析,也就是要由客户端的PC中TCP/IP中设置的DNS服务器来正确解析出某个站点的IP地址来。! Q4 o6 l3 w% a7 Q6 k

+ X  u9 {0 X& Y$ ~4 i# M+ \  c.服务器端可以安装squid代理服务器,1.xor2.x版本均可。% R6 n' `" O* I$ M; ]
1 i1 P6 v) n: A. n( k4 ~( L
  3.配置Squid代理,启动透明代理功能
8 [) K: C; R! e8 z, R* i, v- F
+ q$ J2 r( K+ O& `9 V3 {  Squid-2' h' S0 T! C: p6 f5 i% T! S

" d) R" Y3 z, _. H- o; P  加下面的行到你的/etc/squid/squid.conf中
% b2 O( T7 y; S1 `& `0 n* p- ^* c7 U& z0 ?7 n! l! g( h) t8 L
  http_port8080% }4 C. z' k$ [5 d/ p2 Y! ~8 e
  httpd_accel_hostvirtual: }& ^# W) D, \! g% Z* a3 L
  httpd_accel_port80
  V. y: N3 _, Q7 c  J8 q6 e# c: c, R  httpd_accel_with_proxyon
3 T2 ^4 Y2 [% j5 E5 S) E  httpd_accel_uses_host_headeron7 F4 r# M/ e. a$ Y" ^1 W

8 _+ e8 V- y% `* Y4 G5 a Squid-1.1
# e8 J7 G) {" r+ ^$ O, U$ K7 V8 R0 j4 p& {2 W  f
  加下面的行到/etc/squid.conf
& I; K, M- ]2 T5 B2 }
& O. l2 X6 I6 e# f$ Z" N& w7 R
$ q& D$ R8 ?/ ~0 H. ]3 l' @  http_port8080* I: X" r: b' z5 l
  httpd_accelvirtual80
5 r6 a! g0 n% ?' O- l1 f  httpd_accel_with_proxyon$ a' \4 F: c: z% ^
  httpd_accel_uses_host_headeron
# W4 b8 n2 F$ W, `+ l- l  k" N+ @, M  U7 s' ?
  4.重启动squid.用下面的命令:7 F8 V# t- ~0 N( ^# o  ~3 w* ]
# E# T" j; [9 a  ?. s( z/ ?( R" \0 K
    #/usr/sbin/squid-kreconfigure
: u6 b8 X. J7 d6 w4 {4 O: s7 U& z
& ~, ?3 M" o7 r  如提示内核不支持透明代理。则你需要重新编译内核,enable透明代理的支持。
) \. w, Q% I% i4 Y; t: i$ w
# |7 F7 j: |2 g4 B4 g  下面是你需要启动的内核项目:
$ A) h- [% u: M; u% K$ G
% h% Q; Q9 B' Y2 l  Networkfirewalls- O. g; J* ]1 w0 x; H
  []SocketFiltering3 Y/ ], @+ ]' D7 }. X
  Unixdomainsockets
$ p" ^: D+ b: t+ N! E3 O% ^+ y  TCP/IPnetworking
. o8 r9 G. O1 N  []IP:multicasting( i5 A; i/ I8 y" j
  []IP:advancedrouter
0 u% u8 I$ v) Y; t- o& u  []IP:kernellevelautoconfiguration# b" m' G% h) W, }7 h
  IP:firewalling
$ g, n! S4 l9 j- ?3 \' M; ~/ P- u  []IP:firewallpacketnetlinkdevice' ^! ?) g  z+ J/ f% F: @6 e' @
  IP:alwaysdefragment(requiredformasquerading)$ K5 m! t. i& l, \

% L2 ?6 U' f9 _) u& n  IP:transparentproxysupport
2 i0 ~4 m* B% r) x8 N! h0 }" M& J3 t8 X# L
. c0 Y4 X* A0 A) U
  5.下面的命令针对Linux2.2.x内核:( p- l; F) ?' N; m4 u

8 [! L: R0 C4 p5 Q  Q  #Acceptallonlookback
" K7 E3 }2 o6 j) E  /sbin/ipchains-Ainput-jACCEPT-ilo, s* [1 O( C; |" r+ {
  #AcceptmyownIP,topreventloops(repeatforeachinterface/alias)& s8 g# d3 W7 \: `( _
  /sbin/ipchains-Ainput-jACCEPT-ptcp-d192.168.11.1/3280
, k8 S, y8 x6 i9 X( H3 z' [, U  #Sendalltrafficdestinedtoport80toSquidonport809 g+ {3 L. \( f8 z( |' o" A
  /sbin/ipchains-Ainput-jREDIRECT8080-ptcp-s192.168.11.0/24-d0/080
1 H* r  Y( E' u& U- x6 ]2 |3 W2 x7 @5 C. L3 P, v. i' n

9 h6 |( J( ~9 F% n# k$ W2 w  下面的命令针对Linux2.0.x内核:
' M/ y9 M4 D( A% R: d- L' Q4 ~" }6 p, @. H# X
  #Acceptallonloopback
6 {* d& j( Q! a& u& H+ W" X  ipfwadm-I-aaccept-Wlo
4 Y, h; i4 q' e  #AcceptmyownIP,topreventloops(repeatforeachinterface/alias)
+ v: Q6 v7 a! q8 U: m$ x  ipfwadm-I-aaccept-Ptcp-D192.168.11.1/3280
+ R3 o& B( Q; w! {! Y7 f  #Sendalltrafficdestinedtoport80toSquidonport3128
; v9 W$ b7 N; \3 Y% a7 z8 F  ipfwadm-I-aaccept-Ptcp-S192.168.11.0/24-D0/080-r8080, f* @6 [! H9 E4 D8 G* B6 h/ j0 u/ ]
5 X, b7 `: s0 U9 a7 l% Q
  6.应注意的问题:
; s! @% ^9 {1 V+ w6 W  p& d1 k/ ~; g# n( n* M% L2 ~7 Q6 y& j
  a.这种透明代理只能针对http协议,不能针对FTP协议! y2 p( \' n3 X  V, r
  b.PC的默认网关应设成squid代理服务器
- `. P3 ]* a- Q5 u  c.防火墙重定向规则在其它的input规则的前面,注意顺序。
+ E$ g, v- E' \; i" r
: @- t$ k3 W2 R- d* q# ^* B  如:5 P3 E/ ~+ r6 \
. Y- L: h6 Z( w
    /etc/rc.d/rc.firewall:
" ?( a* R5 |. @. u; s( g/ k7 v/ X3 D  }) p; t2 |- o* u
4 v- O3 p- y/ `! F4 v3 J; s
#!/bin/sh0 p& H+ o3 a$ |, h' N
#rc.firewallLinuxkernelfirewallingrules
8 ?+ V/ `7 U0 c+ x7 LFW=/sbin/ipfwadm& C: L$ Y7 u4 I

; {$ z8 l0 C; o& }4 @6 l& B, B#Flushrules,fortestingpurposes
' [; n7 V1 n1 E- M; W" IforiinIOF#A#Ifweenabledaccountingtoo
  V2 V: n; q1 v8 v; ldo
( h' I; d1 n- N# p' p. h- i" |${FW}-$i-f$ d" \: f8 B/ j& ^
done
  Z# l7 d  b, K) i& D' i
: }# Y5 _( ~# {+ B- ?( l' u/ K#Defaultpolicies:2 j/ t8 a% h2 a1 x7 W
${FW}-I-prej#Incomingpolicy:reject(quickerror)
7 W  y+ s9 {1 _6 t' K' G! O${FW}-O-pacc#Outputpolicy:accept
1 u2 R; P5 c! y2 [${FW}-F-pden#Forwardingpolicy:deny
7 r7 V  z1 L: H+ a5 ]% t+ j& w& Q9 a# m/ G4 A) [6 d" a! r4 O
#InputRules:
# @& X3 P# a% y( r5 u* B$ m6 b  q" e5 [: }1 {
5 ~0 G8 Z' C1 u' G4 F0 m
#Loopback-interface(localaccess,eg,tolocalnameserver):9 }' c8 l7 H, i0 f
${FW}-I-aacc-Slocalhost/32-Dlocalhost/32
, {. t7 g$ r/ l2 R% ^
2 V4 y) i, h. D#LocalEthernet-interface:2 j, ]  @5 P# t

' m4 c) C1 I$ i: {$ T' G#RedirecttoSquidproxyserver:2 n) g6 @0 w8 E5 t% f7 i
${FW}-I-aacc-Ptcp-Ddefault/080-r8080
+ y# A+ U4 E/ L  P- S
; J6 o5 _7 J( x4 Y#Acceptpacketsfromlocalnetwork:
  Z7 p+ H4 ^5 m$ M, ]9 s1 K& W${FW}-I-aacc-Pall-Slocalnet/8-Ddefault/0-Weth0
" t4 ?7 }$ ^8 u6 w5 n! E3 z" i0 K$ e  i( \& A+ {
#Onlyrequiredforothertypesoftraffic(FTP,Telnet):
3 ?! `. \: Y) ?4 e  L' t0 n# ^% M/ e. e* @# ~
#Forwardlocalnetwithmasquerading(udpandtcp,noicmp!):
( t% a3 @( d7 y8 @( M+ r${FW}-F-am-Ptcp-Slocalnet/8-Ddefault/0
$ _/ Y3 v2 w7 l! R6 {${FW}-F-am-Pudp-Slocalnet/8-Ddefault/0
  c9 F: u7 b. O) f7 O; }
/ L  ~+ e1 l. ?9 t1 m; w( ?HerealltrafficfromthelocalLANwithanydestinationgetsredirectedtothe0 J+ P4 w+ f3 o- G  y4 |  O
localport8080.Rulescanbeviewedlikethis:( p2 F6 z" ?/ v- l( v8 c) [1 ]
7 E) ^, `* d- Q/ v. H- i
IPfirewallinputrules,defaultpolicy:reject
2 S4 o; F' T$ e* Rtypeprotsourcedestinationports2 _) x1 ?9 L3 ~
accall127.0.0.1127.0.0.1n/a7 r) a; F0 Z$ Y8 y# l
acc/rtcp10.0.0.0/80.0.0.0/0*-%26gt;80=%26gt;8080
" ^' q! @; P' n# `accall10.0.0.0/80.0.0.0/0n/a/ o" S: {2 E& O" ~; }7 X$ b
acctcp0.0.0.0/00.0.0.0/0*-%26gt;*
(※本文搜集自:重庆未来科技 http://www.wlkj.net 重庆IBM笔记本电脑、重庆IBM水货笔记本电脑、重庆苹果笔记本电脑、重庆IBM服务器专卖)

TOP

******请登陆论坛查看内容******

(※本文搜集自:重庆未来科技 http://www.wlkj.net 重庆IBM笔记本电脑、重庆IBM水货笔记本电脑、重庆苹果笔记本电脑、重庆IBM服务器专卖)
这是赤果果的灌水呐
What good would wings be
if you couldn't feel wind on your face

TOP

发新话题