论文部分内容阅读
摘要:随着互联网的普及,越来越多的公司、企业拥有了自己的网络,如何使用NAT技术让自己的局域网能够安全的访问互联网,这是很多人都关心的问题。本文对NAT技术作一个较为全面的介绍,以便于用户更好的理解和使用NAT。
关键词:NAT;地址映射;局域网
中图分类号:TP393文献标识码:A文章编号:1009-3044(2007)15-30660-01
Application of NAT in LAN
XUAN Xiao-ling
(Tietong Tellcommunications Corporation Hefei Branch, Hefei 230000, China)
Abstract:With the popular of Internet, more and more companies and corporations own their network. How to use the technique of NAT is a problem of many people concerning, it makes them use internet safe. This text will introduce the tetechnique of NAT in general, so that people can understand and use NAT better.
Key words:NAT; address mapping; LAN
1 引言
NAT是network address translate的缩写,即网络地址转换,是将公网地址与私网地址相互转换。IPv4 地址日益不足是经常部署 NAT 的一个主要原因。随着网络技术的发展,安全需求的提升,NAT逐渐演变为隔离内外网络、保障网络安全的基本手段,而且采用这种技术,无须额外投资,单纯利用现有网络设备,即可轻松达到安全目的。因此一般用于企业,学校,网吧,小区等与互联网的通信。NAT的最典型应用是:在一个局域网内,只需要一台路由器(计算机)连接上Internet,就可以利用NAT共享Internet连接,使局域网内其他计算机也可以上网。请注意使用NAT协议,局域网内的计算机可以访问Internet上的计算机,但Internet上的计算机无法访问局域网内的计算机。
2 NAT的类型
NAT有三种类型:静态NAT(Static NAT)、动态地址NAT(Pooled NAT)、网络地址端口转换NAPT(Port-Level NAT)。其中静态NAT设置起来最为简单和最容易实现的一种,内部网络中的每个主机都被永久映射成外部网络中的某个合法的地址。而动态地址NAT则是在外部网络中定义了一系列的合法地址,采用动态分配的方法映射到内部网络。NAPT则是把内部地址映射到外部网络的一个IP地址的不同端口上。根据不同的需要,三种NAT方案各有利弊。
动态地址NAT只是转换IP地址,它为每一个内部的IP地址分配一个临时的外部IP地址,主要应用于拨号,对于频繁的远程联接也可以采用动态NAT。当远程用户联接上之后,动态地址NAT就会分配给他一个IP地址,用户断开时,这个IP地址就会被释放而留待以后使用。
网络地址端口转换NAPT(Network Address Port Translation)是人们比较熟悉的一种转换方式。NAPT普遍应用于接入设备中,它可以将中小型的网络隐藏在一个合法的IP地址后面。NAPT与动态地址NAT不同,它将内部连接映射到外部网络中的一个单独的IP地址上,同时在该地址上加上一个由NAT设备选定的TCP端口号。
3 NAT的部署
如下图所示,Nat功能一般是部署在nat功能的路由器上,也可以是防火墙或代理服务器。NAT设备维护一个状态表,用来把非法的IP地址映射到合法的IP地址上去。每个包在NAT设备中都被翻译成正确的IP地址,发往下一级,这意味着给处理器带来了一定的负担。但对于一般的网络来说,这种负担是微不足道的。
4 NAT工作的过程
4.1 在客户机上
当应用程序想同服务器通信时,它将打开与源 IP 地址、源端口、目标 IP 地址、目标端口及网络协议相关联的套接字。这样可以识别通信所需的两个端点。当应用程序利用该套接字传输信息时,客户机的专用 IP 地址 (源IP地址) 和端口 (源端口) 将被插入数据包的源字段中。数据包的目标字段将包含服务器的 IP 地址 (远程主机-目标 IP 地址) 和端口。由于该数据包的目的地是该专用网络之外的某个位置,因此客户机将把该数据包转发给默认的网关。这种情况下的默认网关就是 NAT 设备。
4.2 NAT设备上的输出数据包
NAT 设备将截获该输出数据包,然后利用目标 IP 地址 (服务器)、目标端口、NAT 设备的外部 IP 地址、外部端口、网络协议及客户机的内部 IP 地址和端口来创建端口映射。
NAT 设备将维护这些映射组成的表,并将该端口的映射存储在表中。外部 IP 地址和端口就是该数据通信用于取代内部客户机 IP 地址和端口的公共 IP 地址和端口。
NAT 设备随即将来自客户机专用内部 IP 地址和端口的数据包的源字段转换为 NAT 设备的公共 IP 地址和端口,从而对这些数据包进行转换。
然后,数据包将通过外部网络发送出去,并最终到达目标服务器。
4.3 服务器上
当服务器接收到数据包时,它认为自己是在和一台具有可全球路由 IP 地址的计算机进行通信。它会利用自己源字段中的 IP 地址和端口将响应数据包定向到 NAT 设备的外部 IP 地址和端口。
4.4 NAT 设备上的输入数据包
NAT 从服务器那接收到这些数据包,然后将数据包与其端口映射表进行比较。如果 NAT 发现某个端口映射的远程主机 IP 地址、远程端口、外部端口及网络协议与输入数据包的源 IP 地址、源端口、目标端口和网络协议匹配,NAT 就会进行反向转换。NAT 将把数据包目标字段中的外部 IP 地址和外部端口替换为客户机的专用 IP 地址和内部端口。
然后,NAT 将内部网络上的数据包发送给客户机。然而,如果 NAT 找不到对应的端口映射,它就会丢弃输入数据包并中断连接。
5 NAT的安全问题
当NAT改变包的IP地址后,需要认真考虑这样做对安全设施带来的影响。对于防火墙,它利用IP地址、TCP端口、目标地址以及其它在IP包内的信息来决定是否干预网络的连接。当使用了NAT之后,可能就不得不改变防火墙的规则,因为NAT改变了源地址和目的地址。
在许多配置中,NAT被集成在防火墙系统之中,提供访问控制和地址翻译的功能。不要把NAT设在防火墙之外,因为客可以轻易地骗过NAT,让NAT认为它是一个授权用户,从而进入网络。
若企业网中使用了VPN(虚拟专用网),并用IPSec进行加密安全保证,那么错误地设置NAT将会破坏VPN的功能。把NAT放在受保护的VPN内部,而不是在中间。因为NAT改变IP包内的地址域,而IPSec规定一些信息是不能被改变的。若IP地址被改变了,IPSec就会认为这个包是伪造的,拒绝使用。虽然NAT带来了许多优越性,例如使现有网络不必重新编址、减少了ISP接入费用,还可以起平衡负载的作用,但NAT潜在地影响到一些网络管理功能和安全设施,这就需要谨慎地使用它。但我们相信随着网络技术的发展,NAT技术将发展得更完善并将得到更广泛的应用。
6 NAT的配置实例
NAT功能通常是集成在路由器或防火墙等设备上的,配置相对简单。现以华为NE系列路由器为例作简单介绍:
sysname NE20
#
super password level 3 cipher;F^RRG*G@2YLaN9G%UD&AA!!
#
nat address-group 1 61.145.8.8 61.145.8.8 mask 255.255.255.255
/* 定义地址池即转换后的地址,由ISP服务商提供*/
#
diffserv domain
#
acl number 3001 rule 0 permit ip source 10.0.1.0 0.0.255.255
rule 1 permit ip source 10.0.2.0 0.0.255.255
/* 定义内部网络地址列表,它指出内部网络能访问外部网的地址段/
#
interface Aux0
async mode flow
link-protocol ppp
#
interface Ethernet0/0/0
shutdown
ip address 192.168.0.2 255.255.255.0
#
interface Ethernet1/0/0
undo shutdown
ip address 61.180.156.30 255.255.255.252
nat outband 3001 address-group 1***在此内网地址与外网地址相互映射***
/*定义上行口*/
#
interface Ethernet1/0/1
undo shutdown
ip address 10.0.0.1 255.255.0.0
/*定义下行口*/
#
interface NULL0
#
authorization-scheme default
#
ip route-static 0.0.0.0 0.0.0.0 61.180.156.29
/*定义一条缺省路由*/
user-interface con 0
user-interface aux 0
user-interface vty 0 4
set authentication password cipher ;F^RRG*G@2YLaN9G%UD&AA!!
#
return
至此,NAT转换配置完毕。
注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
关键词:NAT;地址映射;局域网
中图分类号:TP393文献标识码:A文章编号:1009-3044(2007)15-30660-01
Application of NAT in LAN
XUAN Xiao-ling
(Tietong Tellcommunications Corporation Hefei Branch, Hefei 230000, China)
Abstract:With the popular of Internet, more and more companies and corporations own their network. How to use the technique of NAT is a problem of many people concerning, it makes them use internet safe. This text will introduce the tetechnique of NAT in general, so that people can understand and use NAT better.
Key words:NAT; address mapping; LAN
1 引言
NAT是network address translate的缩写,即网络地址转换,是将公网地址与私网地址相互转换。IPv4 地址日益不足是经常部署 NAT 的一个主要原因。随着网络技术的发展,安全需求的提升,NAT逐渐演变为隔离内外网络、保障网络安全的基本手段,而且采用这种技术,无须额外投资,单纯利用现有网络设备,即可轻松达到安全目的。因此一般用于企业,学校,网吧,小区等与互联网的通信。NAT的最典型应用是:在一个局域网内,只需要一台路由器(计算机)连接上Internet,就可以利用NAT共享Internet连接,使局域网内其他计算机也可以上网。请注意使用NAT协议,局域网内的计算机可以访问Internet上的计算机,但Internet上的计算机无法访问局域网内的计算机。
2 NAT的类型
NAT有三种类型:静态NAT(Static NAT)、动态地址NAT(Pooled NAT)、网络地址端口转换NAPT(Port-Level NAT)。其中静态NAT设置起来最为简单和最容易实现的一种,内部网络中的每个主机都被永久映射成外部网络中的某个合法的地址。而动态地址NAT则是在外部网络中定义了一系列的合法地址,采用动态分配的方法映射到内部网络。NAPT则是把内部地址映射到外部网络的一个IP地址的不同端口上。根据不同的需要,三种NAT方案各有利弊。
动态地址NAT只是转换IP地址,它为每一个内部的IP地址分配一个临时的外部IP地址,主要应用于拨号,对于频繁的远程联接也可以采用动态NAT。当远程用户联接上之后,动态地址NAT就会分配给他一个IP地址,用户断开时,这个IP地址就会被释放而留待以后使用。
网络地址端口转换NAPT(Network Address Port Translation)是人们比较熟悉的一种转换方式。NAPT普遍应用于接入设备中,它可以将中小型的网络隐藏在一个合法的IP地址后面。NAPT与动态地址NAT不同,它将内部连接映射到外部网络中的一个单独的IP地址上,同时在该地址上加上一个由NAT设备选定的TCP端口号。
3 NAT的部署
如下图所示,Nat功能一般是部署在nat功能的路由器上,也可以是防火墙或代理服务器。NAT设备维护一个状态表,用来把非法的IP地址映射到合法的IP地址上去。每个包在NAT设备中都被翻译成正确的IP地址,发往下一级,这意味着给处理器带来了一定的负担。但对于一般的网络来说,这种负担是微不足道的。
4 NAT工作的过程
4.1 在客户机上
当应用程序想同服务器通信时,它将打开与源 IP 地址、源端口、目标 IP 地址、目标端口及网络协议相关联的套接字。这样可以识别通信所需的两个端点。当应用程序利用该套接字传输信息时,客户机的专用 IP 地址 (源IP地址) 和端口 (源端口) 将被插入数据包的源字段中。数据包的目标字段将包含服务器的 IP 地址 (远程主机-目标 IP 地址) 和端口。由于该数据包的目的地是该专用网络之外的某个位置,因此客户机将把该数据包转发给默认的网关。这种情况下的默认网关就是 NAT 设备。
4.2 NAT设备上的输出数据包
NAT 设备将截获该输出数据包,然后利用目标 IP 地址 (服务器)、目标端口、NAT 设备的外部 IP 地址、外部端口、网络协议及客户机的内部 IP 地址和端口来创建端口映射。
NAT 设备将维护这些映射组成的表,并将该端口的映射存储在表中。外部 IP 地址和端口就是该数据通信用于取代内部客户机 IP 地址和端口的公共 IP 地址和端口。
NAT 设备随即将来自客户机专用内部 IP 地址和端口的数据包的源字段转换为 NAT 设备的公共 IP 地址和端口,从而对这些数据包进行转换。
然后,数据包将通过外部网络发送出去,并最终到达目标服务器。
4.3 服务器上
当服务器接收到数据包时,它认为自己是在和一台具有可全球路由 IP 地址的计算机进行通信。它会利用自己源字段中的 IP 地址和端口将响应数据包定向到 NAT 设备的外部 IP 地址和端口。
4.4 NAT 设备上的输入数据包
NAT 从服务器那接收到这些数据包,然后将数据包与其端口映射表进行比较。如果 NAT 发现某个端口映射的远程主机 IP 地址、远程端口、外部端口及网络协议与输入数据包的源 IP 地址、源端口、目标端口和网络协议匹配,NAT 就会进行反向转换。NAT 将把数据包目标字段中的外部 IP 地址和外部端口替换为客户机的专用 IP 地址和内部端口。
然后,NAT 将内部网络上的数据包发送给客户机。然而,如果 NAT 找不到对应的端口映射,它就会丢弃输入数据包并中断连接。
5 NAT的安全问题
当NAT改变包的IP地址后,需要认真考虑这样做对安全设施带来的影响。对于防火墙,它利用IP地址、TCP端口、目标地址以及其它在IP包内的信息来决定是否干预网络的连接。当使用了NAT之后,可能就不得不改变防火墙的规则,因为NAT改变了源地址和目的地址。
在许多配置中,NAT被集成在防火墙系统之中,提供访问控制和地址翻译的功能。不要把NAT设在防火墙之外,因为客可以轻易地骗过NAT,让NAT认为它是一个授权用户,从而进入网络。
若企业网中使用了VPN(虚拟专用网),并用IPSec进行加密安全保证,那么错误地设置NAT将会破坏VPN的功能。把NAT放在受保护的VPN内部,而不是在中间。因为NAT改变IP包内的地址域,而IPSec规定一些信息是不能被改变的。若IP地址被改变了,IPSec就会认为这个包是伪造的,拒绝使用。虽然NAT带来了许多优越性,例如使现有网络不必重新编址、减少了ISP接入费用,还可以起平衡负载的作用,但NAT潜在地影响到一些网络管理功能和安全设施,这就需要谨慎地使用它。但我们相信随着网络技术的发展,NAT技术将发展得更完善并将得到更广泛的应用。
6 NAT的配置实例
NAT功能通常是集成在路由器或防火墙等设备上的,配置相对简单。现以华为NE系列路由器为例作简单介绍:
sysname NE20
#
super password level 3 cipher;F^RRG*G@2YLaN9G%UD&AA!!
#
nat address-group 1 61.145.8.8 61.145.8.8 mask 255.255.255.255
/* 定义地址池即转换后的地址,由ISP服务商提供*/
#
diffserv domain
#
acl number 3001 rule 0 permit ip source 10.0.1.0 0.0.255.255
rule 1 permit ip source 10.0.2.0 0.0.255.255
/* 定义内部网络地址列表,它指出内部网络能访问外部网的地址段/
#
interface Aux0
async mode flow
link-protocol ppp
#
interface Ethernet0/0/0
shutdown
ip address 192.168.0.2 255.255.255.0
#
interface Ethernet1/0/0
undo shutdown
ip address 61.180.156.30 255.255.255.252
nat outband 3001 address-group 1***在此内网地址与外网地址相互映射***
/*定义上行口*/
#
interface Ethernet1/0/1
undo shutdown
ip address 10.0.0.1 255.255.0.0
/*定义下行口*/
#
interface NULL0
#
authorization-scheme default
#
ip route-static 0.0.0.0 0.0.0.0 61.180.156.29
/*定义一条缺省路由*/
user-interface con 0
user-interface aux 0
user-interface vty 0 4
set authentication password cipher ;F^RRG*G@2YLaN9G%UD&AA!!
#
return
至此,NAT转换配置完毕。
注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。