NAT及NAT用户日志配置.docx
《NAT及NAT用户日志配置.docx》由会员分享,可在线阅读,更多相关《NAT及NAT用户日志配置.docx(27页珍藏版)》请在冰豆网上搜索。
NAT及NAT用户日志配置
插图目录
4NAT及NAT用户日志配置
关于本章
本章描述内容如下表所示。
标题
内容
4.1NAT及NAT用户日志概述
了解NAT基本原理和NAT用户日志
4.2配置NAT
配置NAT
举例:
NAT典型配置举例
4.3配置NAT用户日志
配置NAT用户日志
举例:
NAT用户日志典型配置举例
4.4维护
清除运行信息,调试NAT
4.5NAT及NAT用户日志典型配置举例
介绍NAT的各种组网举例。
4.1
NAT及NAT用户日志概述
本节介绍配置NAT及NAT用户日志所需要理解的知识,具体包括:
●NAT简介
●多对多地址转换及地址池
●应用级网关ALG
●NAT在VRP上的实现
●NAT用户日志简介
4.1.1NAT简介
网络地址转换NAT又称地址代理,它实现了私有网络访问公有网络的功能。
在Internet的发展过程中,NAT的提出是为了解决IP地址短缺所可能引起的问题。
私有网络地址和公有网络地址
私有网络地址是指内部网络或主机的IP地址,公有网络地址是指在Internet上全球唯一的IP地址。
Internet地址分配组织规定将下列的IP地址保留用作私有网络地址。
●10.0.0.0~10.255.255.255
●172.16.0.0~172.31.255.255
●192.168.0.0~192.168.255.255
也就是说这三个范围内的地址不会在Internet上被分配,只能在一个单位或公司内部使用。
各企业在预见未来内部主机和网络的数量后,选择合适的内部网络地址。
不同企业的内部网络地址可以相同。
如果一个公司选择上述三个范围之外的其它网段作为内部网络地址,那么与其他网络互通时有可能会造成混乱。
网络地址转换
如图4-1所示,当内部网络的主机访问Internet或与公有网络的主机通信时,需要进行网络地址转换。
图4-1地址转换示意图
内部网络的地址是10.1.1.0/24网段,而对外的公有网络IP地址是203.196.3.23/24。
内部的主机10.1.1.48/24以www方式访问外部网络的服务器202.18.245.251/24。
主机10.1.1.48/24发出一个数据报文,源端口为6084,目的端口为80。
在通过路由器后,该报文的源地址和端口可能改为203.196.3.23:
32814,目的地址与端口不做改变。
路由器中维护着一张地址端口对应表。
当外部网络的www服务器返回结果时,路由器会将结果数据报文中的目的IP地址及端口转化为10.1.1.48:
6084。
这样,内部主机10.1.1.48/24就可以访问外部的服务器了。
NAT的作用
如图4-2所示,PC1与PC2可以使用内部网络地址,通过网络地址转换后访问Internet上的资源。
图4-1通过路由器访问Internet
NAT的机制
地址转换的机制是将内部网络主机的IP地址和端口替换为路由器的外部网络地址和端口,以及从路由器的外部网络地址和端口转换为内部网络主机的IP地址和端口。
也就是<私有地址+端口>与<公有地址+端口>之间的转换。
NAT的特征
●对用户透明的地址分配(指对外部地址的分配)。
●可以达到一种“透明路由”的效果。
这里的路由是指转发IP报文的能力,而不是一种交换路由信息的技术。
NAT的优缺点
地址转换的优点如下。
●内部网络的主机可以通过该功能访问外部网络资源。
●为内部主机提供了“隐私”(Privacy)保护。
●地址转换的缺点如下:
●由于需要对数据报文进行IP地址的转换,涉及IP地址的数据报的报头不能被加密。
在应用层协议中,如果报文中有地址或端口需要转换,则报文不能被加密。
例如,不能使用加密的FTP连接,否则FTP的port命令不能被正确转换。
●网络调试变得更加困难。
比如,内部网络的某一台主机在攻击其它网络,网络安全人员很难指出究竟哪一台主机是恶意的,因为该主机的IP地址被屏蔽了。
NAT的性能
在链路的带宽低于10Mbit/s时,地址转换对网络性能基本不构成影响,此时,网络传输的瓶颈在传输线路上;当链路的带宽高于10Mbit/s时,地址转换将对路由器性能产生一些影响。
4.1.2多对多地址转换及地址池
从地址转换的示意图4-1可见,当主机从内部网络访问外部网络时,地址转换将会选择一个合法的外部地址,以替代内部网络数据报文的源地址,即在图4-1中选择路由器地址池提供的外部IP地址。
这样所有内部网络的主机访问外部网络时,只能共同拥有一个外部IP地址。
当内部网络的主机非常多时,地址转换可能就会显得有些吃力。
解决这个问题需要一个私有网络拥有多个外部地址,此时,为充分而有效地利用这些外部地址,可利用地址池来实现多对多地址转换。
顾名思义,地址池就是一些合法IP地址(公有网络IP地址)的集合。
用户可根据自己拥有的合法IP地址的多少、内部网络主机的多少、以及实际应用情况,配置合适的IP地址池。
当主机从内部网络访问外部网络时,将会从地址池中挑选一个IP地址做为转换后的报文源地址。
4.1.3应用级网关ALG
NAT只能对IP报文的头部地址和TCP/UDP头部的端口信息进行转换。
对于一些特殊协议,例如ICMP、FTP等,它们报文的数据部分可能包含IP地址或端口信息,这些内容不能被NAT有效的转换,这就可能导致问题。
例如,一个使用内部IP地址的FTP服务器可能在和外部网络主机建立会话的过程中需要将自己的IP地址发送给对方。
而这个地址信息是放到IP报文的数据部分,NAT无法对它进行转换。
外部网络主机接收了这个私有地址并使用它,这时FTP服务器将表现为不可达。
解决这些特殊协议的NAT转换问题的方法就是在NAT实现中使用应用级网关ALG(ApplicationLevelGateway)功能。
ALG是特定的应用协议的转换代理,它和NAT交互以建立状态,使用NAT的状态信息来改变封装在IP报文数据部分中的特定数据,这样应用协议可以跨越不同范围运行。
例如,考虑一个“目的站点不可达”的ICMP报文,该报文数据部分包含了造成错误的数据报A的首部(注意,NAT发送A之前进行了地址转换,所以源地址不是内部主机的真实地址)。
如果开启了ICMPALG功能,在NAT转发ICMP报文之前,它将与NAT交互,打开ICMP报文并转换其数据部分的报文A首部的地址,使这些地址表现为内部主机的确切地址形式,由NAT将这个ICMP报文转发出去。
4.1.4NAT在VRP上的实现
VRP支持NATALG
VRP的NAT平台模块不仅实现了一般的地址转换功能,还提供了完善的地址转换应用级网关机制,使其在流程上可以支持各种特殊的应用协议,而不需要对NAT平台进行任何的修改,具有良好的可扩充性。
可支持的特殊协议包括:
DNS、FTP、TFTP、H.323、HWCC、ICMP、ILS(InternetLocatorService)、MSN、NetBIOS(NetworkBasicInput/OutputSystem)、PPTP(Point-to-PointTunnelingProtocol)、QQ。
VRP地址转换支持MPLSVPN
VRP的NAT不仅可以使内部网络的用户访问外部网络,还允许分属于不同MPLS(Multi-ProtocolLabelSwitching)VPN(VirtualPrivateNetwork)的用户通过同一个出口访问外部网络。
当MPLSVPN用户访问Internet时,VRP的NAT将内部网络主机的IP地址和端口替换为路由器的外部网络地址和端口,同时还记录了用户的MPLSVPN信息。
报文还原时,NAT将外部网络地址和端口还原为内部网络主机的IP地址和端口,同时获得了MPLSVPN用户信息。
利用访问控制列表控制地址转换
在实际应用中,我们可能希望某些内部的主机具有访问Internet的权利,而某些主机不允许访问。
在地址转换中,我们可以利用访问控制列表限制地址转换。
也就是说,只有满足访问控制列表条件的数据报文才可以进行地址转换。
这样就能有效地控制地址转换的使用范围,使特定主机能够有权利访问Internet。
访问控制列表是由命令acl生成的,它依据IP数据包报头及其承载的上层协议数据包头的格式定义了一定的规则,表示允许或是禁止具有某些特征的数据包。
地址转换按照这样的规则判定哪些包是被允许转换或者是被禁止转换,这样可以禁止一些内部的主机访问外部网络,保证具有一定特征的数据包才可以被允许进行地址转换,提高网络的安全性。
“转换关联”就是将一个地址池和一个访问控制列表关联起来,这种关联指定了“具有某些特征的IP报文”才可以使用“这样的地址池中的地址”。
当内部网络有数据包要发往外部网络时,首先根据访问列表判定是否是允许的数据包,然后根据转换关联找到与之对应的地址池,这样就把源地址转换成这个地址池中的某一个地址,完成了地址转换。
在转换时,根据“转换关联”可以找到与数据包对应的地址池,就可以将内部网络主机的IP地址和端口替换为路由器的外部网络地址和端口。
在还原时,根据数据包的目的地址,就可以把路由器的外部网络地址和端口转换为内部网络主机的IP地址和端口。
EasyIP
EasyIP就是当进行地址转换时,直接使用接口的公有IP地址作为转换后的源地址。
同样,它也利用访问控制列表控制哪些内部地址可以进行地址转换。
内部服务器
地址转换具有“屏蔽”内部主机的作用,但是在实际应用中,可能我们需要提供给外部一个访问内部主机的机会,如提供给外部一个WWW服务器,或是一台FTP服务器。
使用地址转换可以灵活地添加内部服务器,例如可以使用202.110.10.10作为WEB服务器的外部地址,使用202.110.10.11作为FTP服务器的外部地址,甚至还可以使用202.110.10.12:
8080这样的地址作为WEB的外部地址,还可为外部用户提供多台同样的服务器,如提供多台WEB服务器。
通过配置内部服务器,可将相应的外部地址、端口等映射到内部的服务器上,提供了外部网络主机访问内部服务器的功能。
在还原时,根据用户的配置查找外部数据包的目的地址,如果要访问的是内部服务器,则转换成相应的内部服务器的私有地址和端口,达到访问内部服务器的目的;在转换时,对源地址进行查找,判断是否是从内部服务器发出去的报文,如果是则将源地址转换成相应的外部地址。
内部服务器的多实例
VRP的地址转换支持内部服务器的多实例,提供给外部访问MPLSVPN内主机的机会。
例如,VPN1内提供WWW服务的主机地址是10.110.1.1,可以使用202.110.10.20做为WEB服务器的外部地址,Internet的用户使用202.110.10.20的地址就可以访问到MPLSVPN1提供的WWW服务。
4.1.5NAT用户日志简介
NAT用户日志的作用
对于通过NAT设备接入的用户,由于源IP地址经过地址转换,难以精确定位某次访问网络的操作是从哪台主机、哪个用户发起的,这使得网络的安全性降低。
NAT用户日志(UserLog)就是为了解决这一安全问题而实现的。
它可以记录NAT数据流信息,从而使管理员能够了解NAT转换前的地址信息,进而查询、跟踪网络活动和操作,提高网络的可用性和安全性。
NAT用户日志功能只用于NAT的出方向,不记录外部用户对内部服务器的访问。
NAT用户日志的实现
对于通过NAT访问Internet的私网用户,NAT日志信息通过以下步骤输出。
●路由器按照IP报文的源IP地址、源端口、目的IP地址、转换后的源IP地址、转换后的源端口、目的端口和协议号来对IP报文进行分类;
●每一类IP报文作为一条NAT流,缓存在NAT的HASH表中;
●当HASH表中的流老化时(采用定时老化或强制老化等方式),将HASH表中的流输出到日志缓存(logbuffer)中;
●日志缓存中的老化流到达一定数目后,系统输出记录的日志信息。
NAT用户日志的输出
用户日志有两种输出方式:
UDP报文方式、系统日志方式(Syslog)。
如图4-3所示,系统统计每一条老化的流,当统计到一定数量后,将统计信息生成一条UDP报文发送出去,供网上的日志服务器接收处理。
UDP报文中包含多条NAT数据流的原始信息,由一个报文头和若干条记录组成,每条记录分别对应一条被记录的数据流。
输出的UDP报文可以有多种格式,目前使用版本1。
图4-1用户日志信息输出示意图
如果采用系统日志方式,系统将定期检查日志缓存,如果日志缓存中有记录,将被输出。
这种方式下,一次最多可以输出10条记录。
4.2配置NAT
4.2.1建立配置任务
应用环境
在私有网络和公有网络的边界处配置NAT。
前置任务
在配置NAT之前,需完成创建ACL并配置ACL规则。
数据准备
在配置NAT之前,需准备以下数据。
序号
数据
1
确定地址池编号、地址池的起始和结束IP地址
2
确定接口类型和编号
3
确定是否使用端口信息
4
配置内部服务器需要提供的信息包括:
VPN实例名称(可选)、外部地址、外部端口、内部服务器地址、内部服务器端口以及服务协议类型
5
确定需要ALG处理的协议类型
配置过程
要完成配置NAT的任务,需要执行如下的配置过程。
序号
过程
1
配置地址池
2
配置ACL和地址池关联
3
配置内部服务器
4
使能NATALG功能
5
检查配置结果
4.2.2配置地址池
请在路由器上进行以下配置。
步骤1执行命令system-view,进入系统视图。
步骤2执行命令nataddress-groupgroup-numberstart-addressend-address,配置地址池。
----结束
4.2.3配置ACL和地址池关联
请在路由器上进行以下配置。
步骤1执行命令system-view,进入系统视图。
步骤2执行命令interfaceinterface-typeinterface-number,进入接口视图。
步骤3执行命令natoutboundacl-number[address-groupgroup-number[no-pat]],配置ACL和地址池关联。
----结束
该命令是在连接公有网络的接口上进行配置的。
4.2.4配置内部服务器
请在路由器上进行以下配置。
步骤1执行命令system-view,进入系统视图。
步骤2执行命令interfaceinterface-typeinterface-number,进入接口视图。
步骤3执行命令natserver[vpn-instancevpn-instance-name]protocolprotocol-typeglobalglobal-address[global-port]insidehost-address[host-port],natserver[vpn-instancevpn-instance-name]protocolprotocol-typeglobalglobal-addressglobal-port1global-port2insidehost-address1host-address2host-port或者natserver[vpn-instancevpn-instance-name]globalglobal-addressinsidehost-address,配置内部服务器
----结束
global-port和host-port只要有一个定义了any,则另一个要么不定义,要么是any。
配置FTP服务器时,必须同时配置FTPDATA服务器(一般为端口20)。
该命令是在连接公有网络的接口上进行配置的。
4.2.5使能NATALG功能
请在路由器上进行以下配置。
步骤1执行命令system-view,进入系统视图。
步骤2执行命令natalgenable{dns|ftp|h323|hwcc|icmp|ils|msn|netbios|pptp|qq},使能NATALG功能。
----结束
4.2.6检查配置结果
完成上述配置后,请执行下面的命令检查配置结果。
操作
命令
查看地址转换的状况
displaynat{all|address-group|outbound|server|alg}
4.3配置NAT用户日志
4.3.1建立配置任务
应用环境
NAT用户日志可以记录NAT数据流信息,从而使管理员能够了解NAT转换前的地址信息,进而查询、跟踪网络活动和操作,提高网络的可用性和安全性。
前置任务
在配置NAT用户日志之前,需要:
完成配置NAT。
数据准备
在配置NAT用户日志之前,需准备以下数据。
序号
数据
1
确定启动日志功能的槽位号及ACL规则组号
2
确定日志输出方式是UDP报文方式还是系统日志方式(Syslog)
3
如果使用UDP报文方式,需要确定日志服务器的IP地址和UDP端口号,报文源IP地址可选
4
如果对长时间活跃的流定时记录,需要确定记录的时间间隔
配置过程
要完成配置NAT用户日志的任务,需要执行如下的配置过程。
序号
过程
1
启动NAT用户日志功能
2
设置日志输出至控制台(用于Syslog方式)
3
设置使用的日志服务器(用于UDP报文方式)
4
设置日志报文的源IP地址(用于UDP报文方式,可选)
5
设置日志报文的版本号(用于UDP报文方式,可选)
6
设置在创建流时进行日志的记录(可选)
7
设置对长时间活跃的流定时记录(可选)
8
检查配置结果
4.3.2启动NAT用户日志功能
请在路由器上进行以下配置。
步骤1执行命令system-view,进入系统视图。
步骤2执行命令ipuserlognatslotslot-id[aclacl-number],启动NAT用户日志功能。
----结束
4.3.3设置日志输出至控制台
请在路由器上进行以下配置。
步骤1执行命令system-view,进入系统视图。
步骤2执行命令ipuserlognatsyslog,设置日志输出至控制台。
----结束
以syslog方式输出时,日志信息的优先级为informational,即一般提示信息。
4.3.4设置使用的日志服务器
请在路由器上进行以下配置。
步骤1执行命令system-view,进入系统视图。
步骤2执行命令ipuserlognatexport[slotslot-id]hostip-addressudp-port,设置使用的日志服务器。
----结束
4.3.5设置日志报文的源IP地址
请在路由器上进行以下配置。
步骤1执行命令system-view,进入系统视图。
步骤2执行命令ipuserlognatexportsource-ipip-address,设置日志报文的源IP地址。
----结束
4.3.6设置日志报文的版本号
请在路由器上进行以下配置。
步骤1执行命令system-view,进入系统视图。
步骤2执行命令ipuserlognatexportversionversion-number,设置日志报文的版本号。
----结束
4.3.7设置在创建流时进行日志的记录
请在路由器上进行以下配置。
步骤1执行命令system-view,进入系统视图。
步骤2执行命令ipuserlognatmodeflow-begin,设置在创建流时进行日志的记录。
----结束
●通常情况下,通过流的老化来记录日志信息,因此,在删除流时会记录日志信息。
根据需要,用户可以配置系统在数据流创建时也进行日志记录。
这种情况下,由于记录的流并没有结束,日志记录中的结束时间为0。
●连接创建时是否生成日志记录并不影响删除连接时生成的日志记录。
4.3.8设置对长时间活跃的流定时记录
请在路由器上进行以下配置。
步骤1执行命令system-view,进入系统视图。
步骤2执行命令ipuserlognatactive-timeminutes,设置对长时间活跃的流定时记录。
----结束
如上一节所述,通常情况下,通过流的老化来记录日志信息。
这样,对于那些长时间处于激活状态的流,就会发生不能记录日志的情况,所以需要对这种连接定时进行记录。
4.3.9检查配置结果
完成上述配置后,请执行下面的命令检查配置结果。
操作
命令
查看指定接口板用户日志统计输出报文的各种信息
displayipuserlogexportslotslot-id
4.4维护
本节包含如下的内容。
●清除
●调试
4.4.1清除
清除统计信息后,以前的统计信息将无法恢复,务必仔细确认。
在确认需要清除运行信息后,请在用户视图下执行以下命令
操作
命令
清除用户日志缓存中的记录
resetipuserlognatlogbufferslotslot-id
清除用户日志记录统计信息
resetipuserlogexportslotslot-id
清除用户日志缓存中的记录会造成日志信息的丢失,正常情况下,建议不要进行以上操作。
4.4.2调试
打开调试开关将影响系统的性能。
调试完毕后,应及时执行undodebuggingall命令关闭调试开关。
在出现NAT及NAT用户日志运行故障时,请在用户视图下执行下表中的debugging命令对其进行调试,查看调试信息,定位故障并分析故障原因。
打开调试开关的操作步骤请参见《VRP配置指南-系统管理》中“维护与调试”的内容。
有关debugging命令的解释请参见《VRP命令参考》。
操作
命令
打开NAT的调试开关
debuggingnat{alg|event|packet}[tcp|udp|icmp|h323|ftp|ils|hwcc|dns|msn|netbios|pptp|qq]
打开用户日志信息调试开关
debuggingipuserlognat
4.5NAT及NAT用户日志典型配置举例
本节包含如下配置举例。
●NAT典型配置举例
●NAT用户日志典型配置举例
●NAT内部服务器多实例配置举例
4.5.1NAT典型配置举例
组网需求
如图4-4所示,一个公司通过Quidway路由器的地址转换功能连接到广域网。
要求该公司能够通过Quidway路由器POS3/0/0访问Internet,公司内部对外提供WWW、FTP和SMTP服务,而且提供两台WWW服务器。
公司内部网址为10.110.0.0/16。
其中,内部FTP服务器地址为10.110.10.1/16,内部WWW服务器1地址为10.110.10.2/24,内部WWW服务器2地址为10.110.10.3/24,内部SMTP服务器地址为10.110.10.4/24,并且希望可以对外提供统一的服务器IP地址。
内部10.110.10.0/24网段可以访问Internet,