0108 NAT故障处理Word格式文档下载.docx
《0108 NAT故障处理Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《0108 NAT故障处理Word格式文档下载.docx(21页珍藏版)》请在冰豆网上搜索。
●172.16.0.0~172.31.255.255
●192.168.0.0~192.168.255.255
这三个范围内的IP地址不会在Internet上分配,但可在一个单位或公司内部使用。
不同企业的内部网络地址可以相同。
如果一个公司选择上述三个范围之外的其它网段作为内部网络地址,在需要与Internet或公网主机通信时可能会造成混乱。
网络地址转换
如图8-1所示,描述了一个基本的NAT应用。
图8-1地址转换示意图
NAT服务器(例如Eudemon防火墙)处于私有网络和公有网络的连接处。
当内部PC(192.168.1.3)向外部服务器(202.120.10.2)发送一个数据报1时,数据报将通过NAT服务器。
NAT进程查看报头内容,发现该数据报是发往外部网络的。
那么它将数据报1的源地址字段的私有地址192.168.1.3换成一个可在Internet上选路的公有地址202.169.10.1,并将该数据报发送到外部服务器,同时在网络地址转换表中记录这一映射。
外部服务器给内部PC发送应答报文2(其初始目的地址为202.169.10.1),到达NAT服务器后,NAT进程再次查看报头内容,然后查找当前网络地址转换表的记录,用原来的内部PC的私有地址192.168.1.3替换目的地址。
Eudemon防火墙的NAT机制
地址转换的机制是将内部网络主机的IP地址和端口替换为Eudemon的外部网络地址和端口,以及从Eudemon的外部网络地址和端口转换为内部网络主机的IP地址和端口。
也就是<
私有地址+端口>
与<
公有地址+端口>
之间的转换。
Eudemon防火墙设备引入了一个安全概念—区域,这是防火墙区别于路由器的主要特征。
区域是一个或多个接口的组合,具有相应的安全级别。
在防火墙设备上,由Trust区域向Untrust域和DMZ域主动发起连接时,NAT检测相应的数据连接是否需要进行NAT转换。
如果要进行NAT转换,在IP转发的出口处完成,报文的源地址(私有地址)被转换成公网地址。
在IP层的入口处,NAT对回复报文进行还原,报文的目的地址(公网地址)被还原成内网地址。
8.1.2NAT的特点
用户使用NAT地址转换功能时,感觉不到地址的变化,也即地址转换对用户来说是透明的。
NAT的优点包括:
●可以使一个局域网中的多台主机使用少数的合法地址访问外部的资源,也可以设定内部的www、FTP、Telnet等服务提供给外部网络使用,解决了IP地址日益短缺的问题;
●为内部主机提供了“隐私”(Privacy)保护。
NAT的缺点包括:
●由于需要对数据报文进行IP地址的转换,涉及IP地址的数据报的报头不能被加密。
在应用协议中,如果报文中有地址或端口需要转换,则报文不能被加密。
例如,不能使用加密的FTP连接,否则FTP的port命令不能被正确转换;
●网络调试变得更加困难。
比如,某一台内部网络的主机试图攻击其它网络,则很难指出究竟是哪一台机器是恶意的,因为主机的IP地址被屏蔽了。
本节介绍如下的内容:
●典型组网环境
●配置注意事项
●故障诊断流程
●故障处理步骤
8.2.1典型组网环境
NAT网络地址转换的典型组网如图8-2所示,故障处理将基于该网络。
图8-1NAT网络地址转换组网图
在此组网图中,PC机位于内网一侧,通过NAT网关访问外部网络。
8.2.2配置注意事项
配置项
子项
注意事项
配置ACL
ACLRule
配置合适的ACL协议类型、源IP地址和目标IP地址范围,以及相应的端口号等规则
配置地址池
NatAddressGroup
配置用于地址转换的地址池,指定地址池编号和可用的起始地址、结束地址
配置在域间视图下将访问控制列表和NAT地址池关联
Outbound
指定NAT为Outbound模式,进行地址转换
ACLNumber
指定需要绑定的ACL编号
AddressGroupNumber
指定需要绑定的地址池编号
NoPAT
指定是否使用NoPAT模式
配置NATALG
NATALG
使能需要使用的协议ALG标志
下面以防火墙的配置为例说明配置NATOutbound时需要注意的事项。
ACL的配置
允许来自192.168.1.0网段的主机访问目标端口为23,基于TCP协议的Telnet服务,该ACL规则编号为3000。
aclnumber3000
rule5permittcpsource192.168.1.00.0.0.255destination-porteqtelnet
地址池部分的配置
配置起始IP地址为13.1.1.2,结束IP地址为13.1.1.10,编号为0的地址池。
nataddress-group013.1.1.213.1.1.10
配置NATOutbound模式下ACL和地址池关联
当192.168.1.0网段的主机访问外部网络的Telnet服务时,该网段的TCP报文在经过NAT网关后,源地址会被转换为地址池13.1.1.2~13.1.1.10中的某一个IP,从接口Ethernet1/0/1发送出去。
firewallzonetrust
addinterfaceEthernet2/0/1
firewallzoneuntrust
addinterfaceEthernet1/0/1
firewallinterzonetrustuntrust
natoutbound3000address-group0
配置后,内网的192.168.1.0网段的主机可以通过NAT网关访问外部网络的Telnet服务。
由于ACL规则对报文的目的端口做了限制,因此主机只能进行Telnet访问。
所有经过NAT网关的报文的源地址都会被指定的地址池中的一个IP所替代。
其他网段或其他协议的报文不能够通过NAT网关到达外部网络,这些报文会被丢弃。
上述配置命令只包含NATOutbound部分的命令。
详细的配置请参见《Eudemon300/500/1000防火墙操作手册》。
8.2.3故障诊断流程
针对图8-2所示的网络,在完成配置后发现内网用户不能访问外网。
请使用下面的故障诊断流程,如图8-3所示。
图8-1NAT网络地址转换故障流程图
8.2.4故障处理步骤
步骤1检查NAT网关上是否有正确的会话信息。
执行命令displayfirewallsessiontable检查NAT网关是否建立了正确的会话表项。
例如:
[Eudemon]displayfirewallsessiontable
icmp:
vpn:
0,192.168.1.201:
768[46.1.1.14:
25290]-->
46.1.1.64:
768
查看会话信息中关于协议、地址和端口的信息是否正确。
方括号中表示的是经过NAT后的IP地址和端口,该地址应该是地址池中配置的地址之一。
还可以通过命令displayfirewallsessiontableverbose查看关于会话的详细信息,例如关于会话TTL值等信息:
[Eudemon]displayfirewallsessiontableverbose
icmp,vpn:
0,
192.168.1.201:
768-->
46.1.1.14:
25290-->
25290
tag:
0x80000980,State:
0x0,ttl:
00:
00:
20left:
19
步骤2检查NAT网关到外网目的主机的可达性。
先ping外网目的地址来验证NAT网关和该目的主机之间是否连通。
如果NAT网关ping不通外网的目的主机,进行以下检查。
1.检查NAT网关上是否配置了到达外网的正确路由。
如果内网用户需要访问的外网目的地址和NAT网关的外网接口不在一个网段,且NAT网关上没有相应的路由。
可能需要在该防火墙上配置静态路由,使内网的报文经过NAT后,可以通过正确的接口转发出去。
如果内网用户需要访问的外网地址和NAT网关的外网接口在同一个网段,无需配置静态路由。
可以通过displayiprouting-table命令来查看当前的路由表信息,例如:
[Eudemon]displayiprouting-table
RoutingTables:
Publicnet
Destination/MaskProtoPreCostNextHopInterface
15.1.1.1/32Direct0015.1.1.1Ethernet2/0/0
15.1.1.2/32Direct00127.0.0.1InLoopBack0
46.1.1.0/24Direct0046.1.1.14Ethernet4/0/1
46.1.1.14/32Direct00127.0.0.1InLoopBack0
127.0.0.0/8Direct00127.0.0.1InLoopBack0
127.0.0.1/32Direct00127.0.0.1InLoopBack0
192.168.1.0/24Direct00192.168.1.14Ethernet4/0/2
192.168.1.14/32Direct00127.0.0.1InLoopBack0
2.检查NAT网关的外网接口上是否配置了正确的地址或地址池。
请检查NAT网关的外网接口上的IP地址值是否正确。
地址池的配置需要注意:
避免外网目的地址和地址池中的地址重复。
例如,内网用户需要访问外网的IP地址202.99.6.3,那么地址池不应该配置成202.99.6.1~202.99.6.10,否则会影响报文的正常转发。
可以通过displaynataddress-group命令来查看地址池配置信息。
[Eudemon]displaynataddress-group
NATaddress-groupinformation:
0:
from15.1.1.1to15.1.1.10,reference0times
1:
from133.1.1.1to133.1.1.20,reference0times
Total2address-groups
步骤3检查NAT网关绑定的ACL的规则。
ACL导致NAT不正常工作的常见原因有:
没有配置合适的地址、协议、端口等策略,导致内网报文无法送出或者外网报文无法进入。
查看当前所有ACL配置的命令是displayaclall。
[Eudemon]displayaclall
Totalnonemptyaclnumberis2
AdvancedACL3000,3rules
Acl'
sstepis5
rule5permitipsource15.1.1.20destination15.1.1.10(8timesmatched)
rule6permitipsource15.1.1.10destination15.1.1.20(32timesmatched)
rule10denyip(25458timesmatched)
AdvancedACL3001,1rule
rule5permitipsource192.168.1.00.0.0.255(9timesmatched)
可以通过ACL中每一条规则被匹配的次数,判断是否有符合该规则的报文通过NAT,从而观察该ACL规则是否生效。
ACL规则一般配置比较严格,只根据具体的组网需求开放特定的地址段、协议或端口。
当配置了NAT后,如果内网主机无法ping通外网的主机,注意检查ACL规则中是否允许ICMP协议报文通过。
当某种协议的报文无法通过NAT网关时,先检查ACL中是否配置了允许该类报文通过的规则。
步骤4检查内网主机的网关或路由配置。
如果前几步检查都没有问题,但NAT还是无法正常工作,需要检查内网主机上是否配置了正确的路由或者网关,使得发向外网的报文可以发送到NAT网关。
如果此时问题还未解决,请执行步骤5。
步骤5检查内网主机是否能ping通NAT网关。
如果内网主机ping不通NAT网关,还需要检查防火墙内网接口地址和内网主机的IP地址是否正确,以及它们之间的物理连接是否正常。
如果此时问题还未解决,请执行步骤6。
步骤6检查相应协议的ALG标志是否使能。
当内网的主机访问外网某些特定协议的服务时,例如,FTP或者H.323,无法正常传送文件数据或者音频、视频数据时,请检查相应协议ALG标志是否使能。
以使能FTP的ALG功能为例,需要在域间视图下执行detectftp命令。
相应协议的ALG使能后,再尝试访问外网的对应服务。
如果故障仍然没有解决,请联系华为的技术支持工程师。
----结束
8.3.1典型组网环境
如图8-4所示,在内部网中有多台服务器需要提供对外的服务,它们将被配置为NAT内部服务器,由NAT将它们的内网地址和端口映射到外网的地址和端口。
图8-1内部服务器典型组网环境
8.3.2配置注意事项
配置NATServer
Protocol
常用的是TCP、UDP和ICMP三种协议
GlobaladdressandPort
作为NATServer的外网地址和端口,外网的主机应该可以访问到该地址和端口
InsideaddressandPort
用于提供实际服务的主机内网IP地址和端口
vpn-instance
绑定VPN多实例的NATServer
下面以防火墙的配置说明配置NATServer时需要注意的事项。
NATserver的部分配置
natserverprotocoltcpglobal46.1.1.66wwwinside10.110.10.2www
将内网地址为10.110.10.2,端口为80的webserver映射到外网地址为46.1.1.66,端口为80的NATServer,当从外网主机ping46.1.1.66这个地址时,不会得到回应,因为该NATServer仅基于TCP协议,对于ICMP报文不会作出相应处理。
8.3.3故障诊断流程
针对图8-4所示的网络,在完成配置后,发现外网用户无法访问NATServer提供的服务。
请使用下面的故障诊断流程,如图8-5所示。
图8-1NAT服务器故障诊断流程图
8.3.4故障处理步骤
步骤1NATServer上是否有正确的会话信息。
执行命令displayfirewallsessiontable检查NATServer是否有正确的会话信息,通过该命令可以查看NAT是否建立起了正确的会话信息来对报文进行地址转换,例如:
0,10.110.10.2:
请注意查看会话信息中关于协议、地址和端口的信息是否正确。
方括号中表示的是经过NAT后的IP地址和端口,该地址和端口应该是NATServer配置的外网地址和端口。
10.110.10.2:
步骤2确保内网服务器上的服务正常运行。
当从外网无法访问NATServer所提供的服务时,先确认内网服务器上的相应的服务(例如HTTPServer,FTPServer等)是否打开。
可以从内网其他主机上尝试访问内网服务器,以确保相应服务正在运行。
步骤3检查外网主机和NATServer外网接口之间的连接及配置。
请检查NATServer外网接口上的IP地址以及为NATServer配置的外网IP地址是否正确,例如,没有和其他该网段的地址发生冲突。
从外网主机上pingNATServer的外网接口,确保外网主机到NATServer之间的连通。
在其他配置都没有问题的情况下NATServer还是无法正常访问,请检查内网服务器上是否配置了正确的路由或者网关,使得发向外网的报文可以正确的送到NAT网关。
如果内网主机ping不通NAT网关,请检查防火墙内网接口地址和内网主机的IP地址是否正确,以及它们之间的物理连接是否正常。
步骤6检查NATServer的配置是否正确。
如果还是无法正常访问NATServer,请仔细检查NATServer是否配置了正确的协议、端口和地址信息。
查看NATServer的配置,可以使用命令:
displaynatserver。
[Eudemon]displaynatserver
Serverinprivatenetworkinformation:
GlobalAddrGlobalPortInsideAddrInsidePortProVPNRef
Interface:
Ethernet4/0/1
46.1.1.6680(www)10.110.10.280(www)6(tcp)
(1)
Total1NATservers
特别需要注意的是被映射的内网地址和端口是否正确。
某些服务传送报文数据时,会使用到多个端口(有些端口是随机产生的),例如FTP和TFTP,因此当为这些服务配置NATServer时,应该把对端口的限制放开,使得内部服务器可以正常提供服务。
当防火墙在内网接口和外网接口配置了VPNInstance时,配置在外网接口的NATServer也应该绑定对应的VPNInstance,这样才可以保证在VPNInstance的环境中能够正常提供内部服务器的功能。
[Eudemon]interfaceethernet4/0/1
[Eudemon-Ethernet4/0/1]ipbindingvpn-instancehuawei
[Eudemon-Ethernet4/0/1]ipaddress46.1.1.14255.255.255.0
[Eudemon]natserverprotocoltcpglobal46.1.1.66anyinside10.110.10.2anyvpn-instancehuawei
关于VPNInstance的详细配置请参见《QuidwayEudemon300/500/1000防火墙操作手册》。
本节介绍如下的故障处理案例:
●内网主机无法访问外网FTPServer
●外网主机无法访问HTTPNATServer
8.4.1内网主机无法访问外网FTPServer
网络环境
在图8-6中,防火墙上配置了NATOutbound,使内网10.2.1.0/24网段的用户可以访问外网。
使用ACL3000确保只有来自10.2.1.0/24网段内网用户可以访问外网。
配置后发现IP地址为10.2.1.2的PC机不能访问外网IP地址为202.99.8.75的FTPServer。
图8-1NATOutbound故障处理案例图
故障分析
内网PC机不能ping通NAT网关的内网接口10.2.1.1,但从NAT网关可以ping通外网的服务器202.99.8.75,推测PC上的路由设置不正确。
将PC上的路由设置好后,PC可以ping通10.2.1.1,但仍然无法正常访问FTPServer,在NAT网关查看会话信息,发现没有任何创建的会话。
检查ACL的配置,发现ACL3000的配置为:
rule5permitipsource10.1.1.00.0.0.255
很明显该配置有误,修改为:
rule5permitipsource10.2.1.00.0.0.255
继续使用PC访问FTPServer,可以正常建立控制连接,但无法进行数据传送。
查看NAT上的会话信息,只有一条从内网PC到FTPServer21端口的会话,没有建立数据连接会话。
检查ALGFTP的设置,发现FTP标志位置为disable。
使能ALGFTP功能,再尝试从内网PC访问外网FTPServer,一切正常,可以传送文件。
处理步骤
步骤1检查内网PC能否ping通NAT网关的内网接口10.2.1.1。
如果内网PC机不能ping通NAT网关的内网接口,但从NAT网关可以ping通外网的服务器202.99.8.75,推测PC上的路由设置不正确。
将PC上的路由设置好后,PC可以ping通