经典的情形是内部人员尝试连接到您的;`公有(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.;
--------------------------------------------------------------------------------
推荐阅读
- 在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.不使
