2024年3月19日发(作者:)

先说说什么是NAT。

在传统的标准的TCP/IP通信过程中,所有的路由器仅仅是充当一个中间人的角色,也就是通常所说

的存储转发,路由器并不会对转发的数据包进行修改,更为确切的说,除了将源MAC地址换成自己的MAC

地址以外,路由器不会对转发的数据包做任何修改。NAT(Network Address Translation网络地址翻译)

就是出于某种特殊需要而对数据包的源ip地址、目的ip地址、源端口、目的端口进行改写的操作。

NAT分为SNAT(Source Network Address Translation)和

DNAT(Destination Network Address Translation)。顾名思义,SNAT就是源地址翻译,平时所说的

NAT就是指这个,它可以让一个局域网里的计算机来共享一个IP上网。DNAT就是目的地址翻译,平时

所说的端口映射就是它了,它可以让外部的计算机来访问局域网内的机器,比如,你在局域网内建了个

Web服务器,想让外面的用户来访问它,那NDAT就很有用了。

下面就说说在Windows下面如何实现SNAT和DNAT。

以Windows2003为例,我的外网IP为172.18.10.12(也是个内部IP,没办法,在学校的局域网里),

内部的局域网为192.168.100.0/24,其中一台机子为192.168.100.10,我在192.168.100.10这台

机子上建了一个Web服务器,端口是80,我现在是要让局域网内的机器全部上网,而且把

192.168.100.10映射到172.18.10.12这台机器的8080端口上去,以方便局域网外的用户来访问这

个Web服务器。

首先,172.18.10.12这台机器要有两个网卡,(其实一个也可以,不过这样会增加网络负担,而且安全

性也不好,就不多说单网卡的方法了,反正网卡又不贵,:))。其中一个连接外网,一个连接内网。而且,

要先禁用Windows自带的防火墙(那我想用Windows自带的防火墙怎么办?没事的,下面可以在NAT

上启用防火墙)。

打开控制面板中的“管理工具”-》“路由和远程访问”,在控制台的本地机上点右键启用路由和远程访

它会以向导的模式启动配置界面,点下一步,会有几个选项。我们选择“网络地址转换(NAT)”。

下一步,选择连接到Internet上的网卡,也就是外网网卡,在我这里就是“校园网”这个8139网卡。如

果想用防火墙的话,注意下边的防火墙选项也要选上(默认)。

下一步,选择你的连接到局域网的网卡,也就是内网网卡,我这里是个虚拟的网卡VMnet。

下一步,会问你要不要开启并配置DNS和DHCP服务,如果你的局域网用固定设置的IP的话,就选择不

使用,如图。