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代理服务。
1、创建实验环境:
2、启动虚拟机,进行相应系统参数的设置:
3、下面开始修改Team虚拟机的相关设置。在Server虚拟机的参数设置时我们可以看到我两块虚拟网卡的名称,这里我将VMnet4网段的虚拟机作为内部网络(LAN),将VMnet5网段的虚拟机作为外部网络(Internet),其他的大家看图就明白了:
4、测试目前的连通情况,记得关闭防火墙。根据上面的配置可知:
(1)In-Client-XP虚拟机ping得通Server虚拟机,但是ping不通Out-Client-XP虚拟机:
(2)Server虚拟机ping得通In-Client-XP虚拟机和Out-Client-XP虚拟机:
(3)Out-Client-XP虚拟机ping得通Server虚拟机,但是ping不通In-Client-XP虚拟机:
5、下面我们开始在Server服务器上作ICS(Internet连接共享)的实验,使得内部虚拟机(In-Client-XP)通过共享Internet网卡可以访问外部虚拟机(Out-Client-XP),但是外部虚拟机默认还是不能访问内部网络的,这点大家看过NAT的工作原理应当明白。
(1)在Internet网卡上启用ICS:
(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,因为前面的局域网是这样规划的,大家继续看会明白的:
(3)我们可以看到Internet网卡目前已经处于共享的状态:
(4)下面我们修改ICS默认给LAN网卡的配置,我们修改为IP:192.168.40.41,子网掩码:255.255.255.0,看图:
(5)现在我们的内部计算机可以通过服务器共享的Internet网卡访问外部的虚拟机了,即In-Client-XP可以ping通Out-Client-XP虚拟机。这里我将前面ping的结果也保留在这,大家可以做个对比:
(6)目前外部计算机是不能访问内部网络的,即Out-Client-XP虚拟机不能ping通In-Client-XP虚拟机:
(7)下面我还是将LAN网卡的配置修改为ICS默认的设置,大家可以对比下这里的ICS与前面理论介绍的ICS,加深理解:
(8)因为内部网络的网关IP变化了,变成192.168.0.1了,所以这里内部网络虚拟机不能访问外部网络了:
(9)我将内部网络的虚拟机修改为自动获得IP地址,接下来就可以访问外部网络了,看图可以知道这个DHCP服务器是ICS的内部组件,自动分配192.168.0.2-192.168.0.254这段IP地址。大家看图,就不多说了:
6、通过前面的介绍,大家只要简单的设置下,就可以完成共享上网的实验了,下面我再介绍下如何将内部网络的服务对外提供,使得外部计算机可以访问内部网络服务器提供的服务。其实就是简单的端口映射下。
(1)将内部计算机In-Client-XP的TCP/IP设置作如下配置:
(2)服务器上的LAN网卡作如下设置:
(3)在内部架设一台服务器。这里我就简单的利用In-Client-XP虚拟机架设一台FTP服务器,为后面实验准备。具体过程看图,了解下就行:
(4)测试内部FTP服务器,该内部服务器目前内部网络是可以访问的,但外部网络是不能访问的,这里我只给出内部网络可以访问的截图:
(5)根据前面架设内部FTP服务器的方法,我这里再在外部网络中架设一台FTP服务器,让大家能更直观的有个认识:
(6) 下面我在服务器和内部网络上测试外部FTP服务器,测试结果都能正常访问,说明我的ICS共享上网是成功了的。因为我做这个试验是我没有上网,所以大家要把外部网络想像成我们所谓的Internet网络,如果我的外部网络还提供其他更多的服务,那就更真实了。相信大家已经学会了假设:
(7)我们下面在外部网络中测试下,看看能否访问内部网络提供的FTP服务,默认情况下是不能访问的,根据NAT的原理就能明白:
(8)下面我们在服务器上作个简单的设置(端口映射),使得外部网络的计算机可以访问内部网络计算机提供的服务,这里我只简单设置了FTP服务,大家可以灵活使用其他的相关服务:
(9)在服务器上经过映射后,我们便可使用服务器的外部IP来访问内部网络提供的服务了,大家看图:
7、下面开始介绍NAT实现局域网共享上网。将ICS设置取消,恢复最初设置,并测试相关连通性,保留FTP服务器:
8、因为前面启用了ICS,我的服务并未禁止ICS,所以下面我要先禁用ICS服务,再启用和配置NAT服务,大家看图就明白:
9、下面开始启用NAT服务:
(1)基本步骤截图:
(2)这里可以选择“网络地址转换(NAT)”进行配置,还可以选择自定配置进行设置,我这里要介绍最后一种自定义配置,所以这里给大家看下选择“网络地址转换(NAT)”的截图。后面还可以选择NAT服务提供的基本名称和DHCP地址分配服务,也可以后面再配置,都是大家看图了解了:
(3)我们还是介绍使用自定义配置的NAT,大家看图就明白了:
10、简单配置NAT服务。
(1)配置一个连接Internet的公用接口:
(2)简单的配置一下NAT服务,下面内部网络计算机可以访问外部网络了,外部网络计算机不能访问内部网络,看图:
(3)此时,只通过简单的ping,查看映射关系是看不出什么的:
(4)在只有一个公共接口连接Internet的情况下,我使用其他协议访问外部网络,也查看不到映射关系:
(5)下面我增加一个内部网络的接口(专用接口),再来查看映射关系,大家就会发现不同了:
11、这里再介绍点其他相关知识。我们可以看下公共接口上的属性与专用接口上的属性之间的差别,其中专用接口我就不多说,只介绍下公共接口上的属性。
(1)看图操作:
(2)在公共接口上我们可以设置基本防火墙和数据包的出入筛选(专用接口上只有这个),还有地址池、服务和端口、ICMP相关设置:
(3)在地址池中我们可以添加公共IP提供给内部网络计算机使用的地址转换(NAT,一个内部IP对应一个外部IP),其实前面介绍的地址转换可以说是端口转换(PAT,多个内部IP对应一个外部IP和外部IP的不同端口)。还可以设置相关保留公共IP提供给内部计算机使用。大家看图了解些:
(4)这里介绍的服务和端口、ICMP与前面ICS的服务和端口是相同的,大家先了解下:
(5)这里给大家看下地址池的应用,大家看后面的映射关系表就明白了:
(6)下面介绍下NAT的端口映射,将内部服务器通过网关(NAT服务器)的端口映射对外提供服务,默认外部网络计算机是不能访问内部服务器提供的服务的。大家看图:
(7)这里有个小建议,一般我们在这NAT服务器上对于ICMP的相关设置全部设为空,避免相关攻击,了解下,因人而异:
12、有关“Windows Server 2003 ICS或NAT 实现共享上网(未联网实验)”的实验就介绍到这里了,如果计算机能访问Internet,则把相关网卡设置为Internet,相关外部IP修改为公共IP,则实验原理是相同的: