透明代理(Transparent;Proxying)
有时候 , 您或许想要每一个经过您的;Linux;主机的封包送至主机本身的一个程式去 。这就需要进行透明代理的动作了:一个代理就是一个位於您的网路和外部网路的程式 , 为彼此双方负起沟通的任务 。而所谓的透明 , 则是因为您的网路甚至无须知道在和一个代理对讲 , 当然了 , 除非代理不再工作了吧 。;
Squid;可以配置成这样的工作方式 , 这就是在过往的;Linux;版本中所谓的重导向(redirection)、或透明代理了 。;
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
3.;两种类型的;NAT
我将;NAT;分为两种不同的类型:;Source;NAT;(SNAT);与;Destination;NAT;(DNAT);
Source;NAT;就是您将改变第一个封包的来源地址:例如 , 您为传入的连线做;caching;的动作 。Source;NAT;永远会在封包传出网线之前就做好;post-routing;的动作 。封包伪装(Masquerading)就是一个;SNAT;特例 。;
Destination;NAT;就是您将改变第一个封包的目的地地址:例如您要为传出的连线做;caching;的动作 。Destination;NAT;永远会在封包从网线进入之後就马上做好;pre-routing;的动作 。Port;forwarding、负载分担、以及透明代理 , 都属於;DNAT 。;
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
4.;从;2.0;到;2.2;核心的快速转变
非常抱歉 , 假如您仍然忙於从;2.0(ipfwadm);到;2.2(ipchains);的转型的话 。不过 , 这也是个喜忧参半的消息啦 。;
首先 , 您可以轻易的一如往昔地使用;ipchains;和;ipfwadm 。要这样做的话 , 您需要将最新的;netfilter;套件中的;`ipchains.o";或;`ipfwadm.o";核心模组载入 。它们是相互排斥的(您应已获警告了) , 同时也不能和其它;netfilter;模组同时整合在一起 。;
一旦其中一个模组被载入 , 您就可以如常使用;ipchains;和;ipfwadm;了 , 但也有如下一些变化啦:;
用;ipchains;-M;-S , 或是;ipfwadm;-M;-s;作伪装逾时将不再有效 。因为逾时设定已经移至新的;NAT;架构中 , 所以这里也就没什麽所谓了 。;
在伪装列表中显示的;ini_seq、delte、和;previous_delta;栏位 , 将永远为零 。;
同时归零(zeroing)和列示记数器(counter)的;`-Z;-L";已无作用:记数器将不能再归零了 。;
Hacker;们仍要留意之处:;
您现在可以捆绑;61000-65095;之间的埠口 , 而无需理会您是否使用封包伪装技术 。在过去 , 封包伪装程式会把此值域内的所有东西捕获进来 , 所以其它程式就不可用之了 。;
至於(尚未成文之);getsockname;破解 , 在过去 , 透明代理程式可以找出那些不再有效连线之真正目的地 。;
至於(尚未成文之);bind-to-foreign-address;破解 , 同样尚未实作;这在过去用以完善透明代理的构想 。;
4.1;救命啊!我只想要封包伪装而已!;
没错 , 这也是大多数朋友之需 。如果您用;PPP;拨接获得的动态;IP;(如果您不了解的话 , 那您应该是了) , 您或许只想单纯告诉您的主机让所有来自您内部网路的封包 , 看起来如来自该;PPP;拨接主机一样 。;
#;Load;the;NAT;module;(this;pulls;in;all;the;others).
modprobe;iptable_nat
#;In;the;NAT;table;(-t;nat),;Append;a;rule;(-A);after;routing
#;(POSTROUTING);for;all;packets;going;out;ppp0;(-o;ppp0);which;says;to
#;MASQUERADE;the;connection;(-j;MASQUERADE).
iptables;-t;nat;-A;POSTROUTING;-o;ppp0;-j;MASQUERADE
#;Turn;on;IP;forwarding
echo;1;>;/proc/sys/net/ipv4/ip_forward
注:您这里并没做任何封包过滤:如要的话 , 请参考;Packet;Filtering;HOWTO:将;NAT;和封包过滤合并起来就是了 。;
推荐阅读
- 在Linux上自动建立帐号
- Linux IMP安装及相关问题集
- Linux系统备份
- Ramdisk:在linux下如何使用 RAM 作为虚拟硬盘?
- Linux 指令篇:起始管理--shutdown
- Linux 指令篇:DOS相容指令--mattrib
- Linux 指令篇:DOS相容指令--mcd
- Linux 指令篇:DOS相容指令--mcopy
- 关于bootsect.S Linux开机过程的分析
- Linux 网管 123 --- 第10章. 升级 Linux 及其他应用软体 -2.不使
