Windows Server 2003 ICS或NAT 实现共享上网(未联网实验)

     共享上网,目前常见的网络连接共享可分为硬件与软件两种:硬件网络连接共享需要购买特殊的硬件设备,如IP分享器;软件网络连接共享是采用软件的方式共享连接,无须借助硬件设备,常用的方式有Proxy与NAT两种。

     其中,Proxy类的产品不但可以区隔Internet与局域网,在为Internet中的计算机提供网络连接共享时,还可以发挥保护局域网计算机的作用。这类产品的功能强大,但是价格也比较高。

     内置于Windows Server 2003中的NAT网络连接共享,基本上是可以满足中小企业的共享连接需求。它的简化版ICS(Internet Connection Sharing,Internet连接共享)更是以设置简单,功能实用等优点,深受众多家庭以及小型企业的欢迎。

     NAT使用简介

     为了解决IPv4地址空间不足的问题,IP地址被人为地划分为公用地址和私用地址两部分。

     公用地址用于Internet,可以在Internet中随意访问。因此,要在Internet上通信,必须使用由IANA分配的公用地址。

     专用地址是保留给组织内部私有网络使用的IP地址,可以被不同组织重复使用。专用地址包括:

     ◆10.0.0.0 子网掩码255.0.0.0

     ◆172.16.0.0 子网掩码255.240.0.0

     ◆192.168.0.0 子网掩码255.255.0.0

     由于专用地址只用于私有网络,不能用于Internet通信。因此,如果某个组织的内部网络使用专用地址,同时又需要与Internet进行通信,则必须将该专用地址转换为公用地址。

     NAT(Network Address Translation,网络地址转换)位于使用专用地址的内部网和使用公用地址的Internet之间。内部网的传出数据包通过NAT将其专用地址转换为公用地址。而来自Internet的传入数据包则由NAT将其公用地址转换为专用地址。使用NAT不仅能节约公用IP地址,并且大大降低了组织的Internet接入成本。同时,NAT可以将内部私有网络隐藏起来,起到了保护内部网络的作用。

     NAT的工作过程

     (1)NAT客户端需要与Internet通信,于是将数据包发给NAT服务器;

     (2)NAT服务器将数据包中的源端口号和专用IP地址转换为其自己的端口号和公用IP地址,然后将数据包发给Internet上的主机,同时将源端口号和专用IP地址与其自己的端口号和公用IP地址的映射关系记录下来,以便后续过程使用;

     (3)Internet上的主机将回应发送给NAT服务器的公用IP地址;

     (4)NAT服务器将所收到的数据包的目的端口号和公用IP地址根据映射关系转换为客户端的端口号和专用IP地址并转发给客户机。

     NAT与ICS的组件控制差异

     Windows Server 2003中的NAT包含有3个组件:

     ◆NAT转换组件:NAT的主要组件,用于转换局域网与Internet之间的数据包。

     ◆DHCP配置地址设置组件:用于分配私有IP地址给局域网中的其他计算机,无须设置也可以连接Internet.

     ◆DNS Proxy名称解析组件:用于为NAT服务器新增DNS功能,以便客户端指定NAT服务器为DNS服务器,进而简化局域网其他计算机的连接设置。

     NAT服务器的DNS Proxy ,事实上只是收集客户端的DNS请求,然后再请求Internet中的DNS解析,最后将结果返回给客户端而已,它本身并没有任何DNS记录。

     ICS虽然也有这3个组件,但是组件控制却不如NAT灵活方便。例如,NAT可以设置DHCP配置器地址设置组件,甚至能够禁用此组件;而ICS则没有这种控制功能,在启用ICS后,3个组件只能按默认值任务,不能单独设置、启用或禁用某一个组件。如果网络中已经设置了同DHCP服务器分配地址,但是由于不能禁用ICS内置的DHCP配置地址设置组件,于是两个DHCP服务器将会各自分配不同的IP地址,造成网络中IP地址分配混乱,影响网络通信以及访问。

     综上所述,ICS与NAT拥有同样的组件,但是两者在组件控制方面有着相当大的差距。NAT可以自由地设置各个组件,而ICS则只能按照默认值执行。

     Windows Server 2003中ICS各个组件的默认值:

     ◆NAT转换组件:启用状态。只能将网络连接共享给一个子网络。

     ◆DHCP配置地址设置组件:启用状态。为局域网中的其他计算机分配192.168.0.2-192.168.0.254区段的IP地址。

     ◆DNS Proxy名称解析组件:启用状态。只要客户端设置连接共享的计算机为DNS服务器,就可以使用DNS代理服务。

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     1、创建实验环境:

 

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     2、启动虚拟机,进行相应系统参数的设置:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     3、下面开始修改Team虚拟机的相关设置。在Server虚拟机的参数设置时我们可以看到我两块虚拟网卡的名称,这里我将VMnet4网段的虚拟机作为内部网络(LAN),将VMnet5网段的虚拟机作为外部网络(Internet),其他的大家看图就明白了:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     4、测试目前的连通情况,记得关闭防火墙。根据上面的配置可知:

     (1)In-Client-XP虚拟机ping得通Server虚拟机,但是ping不通Out-Client-XP虚拟机:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     (2)Server虚拟机ping得通In-Client-XP虚拟机和Out-Client-XP虚拟机:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     (3)Out-Client-XP虚拟机ping得通Server虚拟机,但是ping不通In-Client-XP虚拟机:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     5、下面我们开始在Server服务器上作ICS(Internet连接共享)的实验,使得内部虚拟机(In-Client-XP)通过共享Internet网卡可以访问外部虚拟机(Out-Client-XP),但是外部虚拟机默认还是不能访问内部网络的,这点大家看过NAT的工作原理应当明白。

     (1)在Internet网卡上启用ICS:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     (2)启用ICS后,默认会自动将我的LAN局域网网卡的IP设置为192.168.0.1,看了前面介绍的ICS就会明白,这些是默认的。这样,如果的局域网计算机想通过服务器共享上网,那么局域网内的计算机的IP就要设置与LAN网卡同一网段的IP(192.168.0这个网段),并且网关也要设置为192.168.0.1才行。

     但是这个设置是可以修改的,比如后面我把它设置为192.168.40这个网段,IP为192.168.40.41,因为前面的局域网是这样规划的,大家继续看会明白的:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     (3)我们可以看到Internet网卡目前已经处于共享的状态:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     (4)下面我们修改ICS默认给LAN网卡的配置,我们修改为IP:192.168.40.41,子网掩码:255.255.255.0,看图:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     (5)现在我们的内部计算机可以通过服务器共享的Internet网卡访问外部的虚拟机了,即In-Client-XP可以ping通Out-Client-XP虚拟机。这里我将前面ping的结果也保留在这,大家可以做个对比:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     (6)目前外部计算机是不能访问内部网络的,即Out-Client-XP虚拟机不能ping通In-Client-XP虚拟机:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     (7)下面我还是将LAN网卡的配置修改为ICS默认的设置,大家可以对比下这里的ICS与前面理论介绍的ICS,加深理解:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     (8)因为内部网络的网关IP变化了,变成192.168.0.1了,所以这里内部网络虚拟机不能访问外部网络了:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     (9)我将内部网络的虚拟机修改为自动获得IP地址,接下来就可以访问外部网络了,看图可以知道这个DHCP服务器是ICS的内部组件,自动分配192.168.0.2-192.168.0.254这段IP地址。大家看图,就不多说了:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     6、通过前面的介绍,大家只要简单的设置下,就可以完成共享上网的实验了,下面我再介绍下如何将内部网络的服务对外提供,使得外部计算机可以访问内部网络服务器提供的服务。其实就是简单的端口映射下。

     (1)将内部计算机In-Client-XP的TCP/IP设置作如下配置:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     (2)服务器上的LAN网卡作如下设置:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     (3)在内部架设一台服务器。这里我就简单的利用In-Client-XP虚拟机架设一台FTP服务器,为后面实验准备。具体过程看图,了解下就行:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     (4)测试内部FTP服务器,该内部服务器目前内部网络是可以访问的,但外部网络是不能访问的,这里我只给出内部网络可以访问的截图:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     (5)根据前面架设内部FTP服务器的方法,我这里再在外部网络中架设一台FTP服务器,让大家能更直观的有个认识:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     (6) 下面我在服务器和内部网络上测试外部FTP服务器,测试结果都能正常访问,说明我的ICS共享上网是成功了的。因为我做这个试验是我没有上网,所以大家要把外部网络想像成我们所谓的Internet网络,如果我的外部网络还提供其他更多的服务,那就更真实了。相信大家已经学会了假设:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     (7)我们下面在外部网络中测试下,看看能否访问内部网络提供的FTP服务,默认情况下是不能访问的,根据NAT的原理就能明白:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     (8)下面我们在服务器上作个简单的设置(端口映射),使得外部网络的计算机可以访问内部网络计算机提供的服务,这里我只简单设置了FTP服务,大家可以灵活使用其他的相关服务:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     (9)在服务器上经过映射后,我们便可使用服务器的外部IP来访问内部网络提供的服务了,大家看图:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     7、下面开始介绍NAT实现局域网共享上网。将ICS设置取消,恢复最初设置,并测试相关连通性,保留FTP服务器:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     8、因为前面启用了ICS,我的服务并未禁止ICS,所以下面我要先禁用ICS服务,再启用和配置NAT服务,大家看图就明白:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     9、下面开始启用NAT服务:

     (1)基本步骤截图:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     (2)这里可以选择“网络地址转换(NAT)”进行配置,还可以选择自定配置进行设置,我这里要介绍最后一种自定义配置,所以这里给大家看下选择“网络地址转换(NAT)”的截图。后面还可以选择NAT服务提供的基本名称和DHCP地址分配服务,也可以后面再配置,都是大家看图了解了:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     (3)我们还是介绍使用自定义配置的NAT,大家看图就明白了:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     10、简单配置NAT服务。

     (1)配置一个连接Internet的公用接口:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     (2)简单的配置一下NAT服务,下面内部网络计算机可以访问外部网络了,外部网络计算机不能访问内部网络,看图:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     (3)此时,只通过简单的ping,查看映射关系是看不出什么的:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     (4)在只有一个公共接口连接Internet的情况下,我使用其他协议访问外部网络,也查看不到映射关系:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     (5)下面我增加一个内部网络的接口(专用接口),再来查看映射关系,大家就会发现不同了:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     11、这里再介绍点其他相关知识。我们可以看下公共接口上的属性与专用接口上的属性之间的差别,其中专用接口我就不多说,只介绍下公共接口上的属性。

     (1)看图操作:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     (2)在公共接口上我们可以设置基本防火墙和数据包的出入筛选(专用接口上只有这个),还有地址池、服务和端口、ICMP相关设置:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     (3)在地址池中我们可以添加公共IP提供给内部网络计算机使用的地址转换(NAT,一个内部IP对应一个外部IP),其实前面介绍的地址转换可以说是端口转换(PAT,多个内部IP对应一个外部IP和外部IP的不同端口)。还可以设置相关保留公共IP提供给内部计算机使用。大家看图了解些:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     (4)这里介绍的服务和端口、ICMP与前面ICS的服务和端口是相同的,大家先了解下:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     (5)这里给大家看下地址池的应用,大家看后面的映射关系表就明白了:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     (6)下面介绍下NAT的端口映射,将内部服务器通过网关(NAT服务器)的端口映射对外提供服务,默认外部网络计算机是不能访问内部服务器提供的服务的。大家看图:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     (7)这里有个小建议,一般我们在这NAT服务器上对于ICMP的相关设置全部设为空,避免相关***,了解下,因人而异:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网

     12、有关“Windows Server 2003 ICS或NAT 实现共享上网(未联网实验)”的实验就介绍到这里了,如果计算机能访问Internet,则把相关网卡设置为Internet,相关外部IP修改为公共IP,则实验原理是相同的:

网络学习(三十九)Windows Server 2003 ICS或NAT 实现共享上网