网络地址转换(NAT)是RFC 1631和2663中定义的一种IP路由器,它能够在转发数据包时转换它们的IP地址和TCP/UDP端口号。对于传出的数据包,源IP地址和TCP/UDP端口号被映射到一个公共源IP地址和一个可能被改变的TCP/IP端口号。对于传入的包,目标IP地址和TCP/UDP端口号被映射到专用IP地址和最初的TCP/IP端口号。
如果NAT转换表中存在一种特定的映射,NAT仅把来自Internet的流量转发到专用网络。由于这个原因,NAT为连接到专用网段的计算机提供了某种程度的保护。然而,当您想要让专用网络资源对Internet客户端可用时,这种程度的保护也带来了连接问题。
例如,假设您在专用网络上安装了一个Web服务器,该专用网络以一个NAT为边界,并让您的ISP创建了一个域名系统(DNS)记录,以便您的ISP使用其将www.example.com解析为可分配于您的公共IP地址(154.160.0.1)。当某个Internet客户端发起与您的专用网络上的Web服务器的通信时,将会发生下列情况:
1. |
Internet Web客户端计算机(使用公共IP地址131.107.0.1)上的用户在他们的Web浏览器中键入http://www.example.com。 |
2. |
Internet Web客户端使用DNS将名称www.example.com解析为地址154.60.0.1。 |
3. |
Internet Web客户端计算机从131.107.0.1/TCP端口2000向154.60.0.1/TCP端口80发送一个传输控制协议(TCP)同步(SYN)段。 |
4. |
当NAT计算机接收到该TCP SYN段时,将检查自己的NAT转换表。 |
5. |
由于不存在针对目标154.60.0.1/TCP 80的条目,该TCP SYN段将自动被丢弃。 |
6. |
Internet Web客户端计算机一直重试,直至最终显示一条出错消息。 |
由于不存在针对传入流量的NAT映射,位于NAT后方的服务器上的资源就不能从Internet进行访问。
解决这一连接问题的办法,就是为来自Internet的被转换为针对NAT后方的资源服务器的流量提供手动配置的静态映射。为了帮助将传入流量转发到专用网上的资源服务器,您可以配置两类型静态映射中的任意一类:
• |
您可以将某个特定公共IP地址的所有流量映射到某个特定的专用地址(地址映射)。 这类映射的优点是易于配置。由于针对该公共IP地址的所有流量都被转发,您不必根据运行在专用网计算机上的服务的TCP和UDP端口来确定流量的类型。 这类映射的缺点在于专用网络计算机现在直接对Internet开放,从而更容易受到攻击。您可以使用Windows XP的Internet连接防火墙或其他防火墙软件来帮助保护专用网络计算机。另一个缺点在于您必须获得多个公共IP地址。至少必须要两个公共IP地址: 一个针对资源服务器,另一个针对其他专用网络计算机的已转换流量。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
• |
将一个特定的公共IP地址/端口号映射到一个特定的专用IP地址/端口号(地址/端口映射) 这类静态映射的优点在于,资源服务器更不易受到攻击,除非通过静态地址/端口映射所允许的流量进行攻击。其另一个优点在于,您只需对发送到资源服务器的流量和专用网计算机的转换后的流量使用一个公共地址。 这类影射的缺点在于需要额外的配置。对于资源服务器上您想要使之对Internet可用的每个服务,您都必须对其创建静态映射。 如何允许位于NAT计算机后方的服务的流量在您配置NAT计算机之前,确保ISP已经创建了一个DSN记录用以将DNS名称解析为与资源服务器相关联的公共IP地址。 用于允许对资源服务器的流量的配置,取决于您是在使用Windows 2000 Server还是在使用Windows Server 2003&0153;以及您是在配置一个地址映射还是在配置一个地址/端口映射。 Windows 2000 Server 在配置基于Windows 2000 Server的NAT计算机之前,您必须在资源服务器上配置一个静态IP地址配置,包括IP地址、子网掩码、默认网关(NAT计算机的专用IP地址)和DNS服务器(也是NAT计算机的专用IP地址)。 如果NAT计算机充当专用网络所连接的子网的DHCP分配器,那么专用IP地址和子网掩码必须在该NAT计算机分配的IP地址范围之内。这在“路由器和远程访问”插件中的“”网络地址转换(NAT)属性对话框的“地址分配”选项卡上有所定义。此外,分配给资源计算机的IP地址必须排除在该NAT计算机分配的IP地址范围之外。因此,请单击“地址分配”选项卡上的“排除”。 地址映射 为了给运行Windows 2000 Server的NAT计算机配置一个地址映射,请完成以下步骤:
地址/端口映射 为了给运行Windows 2000 Server的NAT计算机配置一个地址/端口映射,请完成以下步骤:
下图显示了一个充当Web服务器并使用专用IP地址192.168.0.99的资源服务器的“添加特殊端口”对话框。 对于这个例子,NAT计算机只有单个公共IP地址。 因此,“在此地址池条目上”选项不可用。 Windows Server 2003 在配置基于Windows Server 2003的NAT计算机之前,您必须在资源服务器上创建一个静态IP地址配置,包括IP地址、子网掩码、默认网关(NAT计算机的专用IP地址)和DNS服务器(也是NAT计算机的专用IP地址)。 如果NAT计算机充当专用网所连接到的子网的DHCP分配器,那么IP地址和子网掩码必须在该NAT计算机分配的IP地址范围之内。这在“路由器和远程访问”插件的“NAT/防火墙基本属性”对话框的“地址分配”选项卡上有所定义。此外,分配给资源计算机的IP地址必须排除在该NAT计算机分配的IP地址范围之外。因此,请单击“地址分配”选项卡上的“排除”。 地址映射 为了给运行Windows Server 2003的NAT计算机配置一个地址映射,请完成前面的地址映射小节中描述的相同步骤。 然而在第2步中,您必须打开“服务器名称”,然后打开“IP路由”,再单击“NAT/基本防火墙”(而不是单击“网络地址转换”)。 地址/端口映射 为了给运行Windows Server 2003的NAT计算机配置一个地址/端口映射,请完成以下步骤:
|