1.NAT的作用
随着Internet的迅速发展和网络应用的不断推广,IPv4地址枯竭成为制约网络发展的瓶颈。可用的IPv4地址大约为40亿个,考虑到地址分配中的浪费,以及IPv4地址在世界范围内分配的严重不均衡(发达国家占用了大部分地址资源),IPv4地址短缺的现象将日趋严重。
尽管IPv6技术可以从根本上解决IPv4地址空间的不足问题,但目前基础网络设施和网络应用都是基于IPv4的,在IPv6技术普及之前,一些过渡技术(如CIDR、私网地址等)是解决IPv4地址枯竭问题最主要的技术手段。
使用私网地址之所以能够节省IPv4地址,主要是因为大部分的企业网、校园网流量满足80/20原则,即80%的流量属于局域网内部流量,其余的20%为Internet访问流量。由于局域网内部的互访可以通过私网地址实现,且私网地址在不同局域网内可重复利用,因此,私网地址的使用有效缓解了IPv4地址不足的问题。当局域网内的主机要访问外部网络时,只需要通过网络地址转换(NAT)技术将其私网地址转换成公网地址即可,这样既可保证网络互通,又可以节省公网流量。
另一方面,NAT技术还可以隐藏私网内部网络结构,防止外部攻击源对内部服务器的攻击行为。
说明:
私网IP地址是指内部网络或主机的IP地址,公网IP地址是指在Internet上全球唯一的IP地址。RFC1918为私有网络预留出了3个IP地址块:
①A类:10.0.0.0~10.255.255.255
②B类:172.16.0.0~172.31.255.255
③C类:192.168.0.0~192.168.255.255
上述3个范围内的地址不会在Internet上被分配,因此可以不必向ISP或注册中心申请而在公司或企业内部自由使用。
2.NAT技术实现原理
NAT仅在私网主机需要访问Internet时才会分配到合法的公网地址,而在内部互联时则使用私网地址。当访问Internet的报文经过防火墙时,会用一个合法的公网地址替换原报文中的源IP地址,并对这种转换进行记录;之后,当报文从Internet侧返回时,防火墙查询原有的记录,将报文的公网地址再替换回原来的私网地址,并送回发出请求的主机。这样,在私网侧或公网侧设备看来,这个过程与普通的网络访问并没有任何的区别。
3.NAT实现方式
NAT的实现方式包括基本NAT方式、NAPT方式、NAT Server方式和Easy IP方式等。
(1)基本NAT方式 基本NAT方式属于一对一的地址转换,在这种方式下只转换IP地址,而对TCP/UDP协议的端口号不做处理,一个公网IP地址不能同时被多个用户使用。如图2.34所示,基本NAT方式的处理过程如下:
①防火墙设备接收到私网侧主机访问公网侧服务器的报文。
②防火墙设备从NAT地址池中选取一个空闲的公网IP地址,建立与私网侧报文源IP地址间的NAT转换表项(Inbound和Outbound两个方向),并依据查找Outbound方向NAT表项的结果将报文转换后,向公网发送。
③防火墙设备接收到公网侧的应答报文后,根据其目的IP地址查找Inbound方向NAT表项,并依据查询结果将报文转换后向私网侧发送。
图2.34 基本NAT方式
说明:
由于基于NAT方式这种一对一的转换方式并未实现公网地址的复用,不能有效解决IPv4公网地址短缺问题,因此,在实际应用中并不常用。
(2)NAPT方式 由于基本NAT方式并未实现地址复用,因此并不能解决公网地址短缺的问题,而NAPT方式则可以解决这个问题。
NAPT方式属于多对一的地址转换,它使用“IP地址+端口号”的形式进行转换,使多个私网用户可共用一个公网IP地址访问外网,因此是地址转换实现的主要形式。如图2.35所示,NAPT方式处理过程如下:
①防火墙接收到私网侧主机发送的访问公网侧服务器的报文。
②防火墙从地址池中选取一对空闲的“公网IP地址+端口号”,建立与私网侧报文“源IP地址+端口号”间的NAPT转换表项(正反向),并依据查找正向NAPT表项的结果将报文转换后向公网侧发送。
③防火墙接收到公网侧的回应报文后,根据其“目的IP地址+目的端口号”查找反向NAPT表项,并依据查表结果将报文转换后向私网侧发送。
图2.35 NAPT方式
(3)NAT Server方式 出于安全考虑,大部分私网主机通常并不希望被公网用户访问。但在某些实际应用中,需要给公网用户提供一个访问私网服务器的机会。而在基本NAT方式和NAPT方式下,由于由公网用户发起的访问无法动态建立NAT表项,因此公网用户无法访问私网主机。NAT内部服务器(NAT Server)方式就可以解决这个问题——通过静态配置“公网IP地址+端口号”与“私网IP地址+端口号”间的映射关系,防火墙可以将公网地址“反向”转换成私网地址。
如图2.36所示,NAT Server方式的处理过程如下:
①在防火墙上手工配置静态NAT转换表项(正反向)。
②防火墙接收到公网侧主机发送的访问私网侧服务器的报文。
③防火墙根据公网侧报文的“目的IP地址+目的端口号”查找反向静态NAT表项,并依据查表结果将报文转换后向私网侧发送。
④防火墙收到私网侧的回应报文后,根据其“源IP地址+源端口号”查找正向静态NAT表项,并依据查表结果将报文转换后向公网侧发送。
图2.36 NAT Server方式
(4)Easy IP方式 Easy IP方式是指直接使用接口的公网IP地址作为转换后的源地址进行地址转换,它可以动态获取出接口地址,从而有效支持出接口通过拨号或DHCP方式获取公网IP地址。同时,Easy IP方式也可以利用访问控制列表来控制哪些内部地址可以进行地址转换。
Easy IP方式特别适合小型局域网访问Internet的情况。这里的小型局域网主要指中小型网吧、小型办公室等环境,一般内部主机较少,出接口通过拨号方式获得临时公网IP地址以供内部主机访问Internet。对于这种情况,可以使用Easy IP方式使局域网用户通过这个IP地址接入Internet。
如图2.37所示,Easy IP方式的处理过程如下:
①防火墙收到私网侧主机发送的访问公网侧服务器的报文。
②防火墙利用公网侧接口的“公网IP地址+端口号”,建立与私网侧报文“源IP地址+源端口号”间的Easy IP转换表项(正反向),并依据查找正向Easy IP表项的结果将报文转换后向公网侧发送。
③防火墙收到公网侧的回应报文后,根据其“目的IP地址+目的端口号”查找反向Easy IP表项,并依据查表结果将报文转换后向私网侧发送。
4.在防火墙上配置NAT
(1)动态地址转换配置
图2.37 Easy IP方式
图2.38 动态地址转换
在“地址池”中显示的是所有NAT地址池的信息,单击【新建】按钮,进入如图2.39所示新建地址池配置页面。
图2.39 新建地址池
②在导航栏中选择“防火墙”→“NAT”→“动态地址转换”,“地址转换关联”中显示所有动态地址转换策略的信息,单击【新建】按钮,进入新建动态地址转换的配置页面,如图2.40所示。
图2.40 新建动态地址转换
(2)静态地址转换配置
①在导航栏中选择“防火墙”→“NAT”→“静态地址转换”,进入如图2.41所示的页面。
图2.41 静态地址映射
在“静态地址映射”中显示静态地址映射信息,单击【新建】按钮,进入新建静态地址映射配置页面,如图2.42所示。
图2.42 新建静态地址映射
②在“接口静态转换”中显示接口上静态地址转换信息,单击【新建】按钮,进入新建接口静态地址转换配置页面,如图2.43所示。
图2.43 新建接口静态地址转换
(3)配置内部服务器 在导航栏中选择“防火墙”→“NAT”→“内部服务器”,进入如图2.44所示的页面。
图2.44 内部服务器
在“内部服务器转换”中显示所有内部服务器的信息,单击【新建】按钮,进入新建内部服务器的配置页面,如图2.45所示。(www.xing528.com)
图2.45 新建内部服务器
5.地址转换典型配置举例
(1)组网需求 某公司拥有202.38.1.1/24~202.38.1.3/24多个公网IP地址,内部网址为10.110.0.0/16。通过配置NAT使得内部网络中10.110.10.0/24网段的用户可以访问Internet,组网如图2.46所示。
图2.46 地址转换配置组网图
(2)配置步骤
①配置ACL 2001,仅允许内部网络中10.110.10.0/24网段的用户访问Internet:
●在导航栏中选择“防火墙”→“ACL”,单击【新建】按钮。
●输入访问控制列表ID为“2000”。
●选择匹配规则为“用户配置”。
●单击【确定】按钮完成操作。
●在ACL的列表中找到访问控制列表ID为“2000”的ACL,单击对应“操作”
列中的图标,进入ACL 2000的规则显示页面,在该页面单击【新建】按钮。
●选择操作为“允许”。
●选中“源IP地址”前的复选框,输入源IP地址为“10.110.10.0”。
●输入源地址通配符为“0.0.0.255”。
●单击【确定】按钮完成操作。
●在ACL 2000的规则显示页面单击【新建】按钮。
●选择操作为“禁止”。
●单击【确定】按钮完成操作。
②配置NAT地址池0,包括两个公网地址202.38.1.2和202.38.1.3:
●在导航栏中选择“防火墙”→“NAT”→“动态地址转换”,在“地址池”中单击【新建】按钮。
●输入地址池索引为“0”。
●输入开始IP地址为“202.38.1.2”。
●输入结束IP地址为“202.38.1.3”。
●单击【确定】按钮完成操作。
③配置动态地址转换:
●在“地址转换关联”中单击【新建】按钮。
●选择接口为“GigabitEthernet1/1”。
●输入ACL为“2000”。
●选择地址转换方式为“PAT”。
●输入地址池索引为“0”。
●单击【确定】按钮完成操作。
6.内部服务器典型配置举例
(1)组网需求 某公司内部对外提供Web和FTP服务器,而且提供两台Web服务器。公司内部网址为10.110.0.0/16。其中内部FTP服务器地址为10.110.10.3/16,内部Web服务器1的IP地址为10.110.10.1/16,内部Web服务器2的IP地址为10.110.10.2/16。公司拥有202.38.1.1/24~202.38.1.3/24 3个IP地址。组网如图2.47所示,需要实现以下功能:
●外部主机可以访问内部服务器。
●选用202.38.1.1/1作为公司对外提供服务的IP地址,Web服务器2对外采用8080端口。
图2.47 内部服务器配置组网图
(2)配置步骤
①配置内部FTP服务器:
●在导航栏中选择“防火墙”→“NAT”→“内部服务器”,在“内部服务器转换”中单击【新建】按钮。
●选择接口为“GigabitEthernet l/2”。
●选择协议类型为“6(TCP)”。
●选中“指定IP地址”前的单选按钮,输入外部IP地址为“202.38.1.1”。
●选中“外部端口”单输入框前的单选按钮,输入外部端口为“21”。
●在“内部IP地址”单输入框中输入“10.110.10.3”。
●输入内部端口为“21”。
●单击【确定】按钮完成操作。
②配置内部Web服务器1:
●在“内部服务器转换”中单击【新建】按钮,进入新建内部服务器的配置页面。
●选择接口为“GigabitEthemetl/2”。
●选择协议类型为“6(TCP)”。
●选中“指定IP地址”前的单选按钮,输入外部IP地址为“202.38.1.1”。
●选中“外部端口”单输入框前的单选按钮,输入外部端口为“80”。
●在“内部IP地址”单输入框中输入“10.110.10.1”。
●输入内部端口为“80”。
●单击【确定】按钮完成操作。
③配置内部Web服务器2:
●在“内部服务器转换”中单击【新建】按钮,进入新建内部服务器的配置页面。
●选择接口为“GigabitEthemetl/2”。
●选择协议类型为“6(TCP)”。
●选中“指定IP地址”前的单选按钮,输入外部IP地址为“202.38.1.1”。
●选中“外部端口”单输入框前的单选按钮,输入外部端口为“8080”。
●在“内部IP地址”单输入框中输入“10.110.10.2”。
●输入内部端口为“80”。
●单击【确定】按钮完成操作。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。