Linux 2.4 NAT HOWTO( 七 )




经典的情形是内部人员尝试连接到您的;`公有(public)";网站伺服器 , 实际上是从公有地址(1.2.3.4);DNAT;到一个内部的机器(192.168.1.1)去 , 就像这样:;


#;iptables;-t;nat;-A;PREROUTING;-d;1.2.3.4;
-p;tcp;--dport;80;-j;DNAT;--to;192.168.1.1


一个方法是跑一台内部;DNS;伺服器 , 它知道您的公有网站的真正(内部);IP;地址 , 而将其它请求转传给外部的;DNS;伺服器 。换而言之 , 关於您网站伺服器的记录会正确地显示为内部;IP;地址 。;


而另一个方法是同时让这台;NAT;主机将该等连线之来源;IP;地址映对为它自己的地址 , 我们可以像如下那样做(假设;NAT;主机之内部;IP;地址为;192.168.1.250):;


#;iptables;-t;nat;-A;POSTROUTING;-d;192.168.1.1;-s;192.168.1.0/24;
-p;tcp;--dport;80;-j;SNAT;--to;192.168.1.250

因为;PREROUTING;规则是最先执行的 , 对内部网站伺服器而言 , 封包就已经被定向好了:我们可以内定好哪个为来源;IP;地址 。;



--------------------------------------------------------------------------------


--------------------------------------------------------------------------------

11.;感谢
首先感谢在我工作期间相信;netfilter;的构想并支持我的;WatchGuard;和;David;Bonn 。;


以及所有其他帮我指正;NAT;之不足的朋友 , 尤其是那些读过我的日记的 。;


Rusty.;


--------------------------------------------------------------------------------

推荐阅读