Hillstone Debug调试简明操作手册

Hillstone-SA系列安全网关

Debug调试简明操作手册

北京成捷迅电子技术有限责任公司

2009年5月

重要说明

本手册中所做的测试使用StoneOS3.0R4版本。本手册出现的任何文字叙述、文档格式、插图、照片、方法、过程等内容,除另有特别注明,任何个人、机构未经我公司的书面授权许可,不得以任何方式复制、引用或散播本手册中的任何片断。

目 录

一、原理介绍 (1)

二、使用Debug命令 (2)

1. 配置Debug信息的输出 (3)

2. 配置Debug流的过滤 (3)

3. 清空遗留的Debug信息 (3)

4. 开启Debug (3)

5. 查看Debug信息 (4)

6. 关闭Debug (4)

三、输出信息及错误信息详解 (4)

1. 正确的包处理流程 (4)

2. 路由配置不正确 (6)

3. 策略配置不正确 (6)

一、 原理介绍

Debug命令能够详细的查看StoneOS对进入SA的数据包的各个处理环节,熟练掌握其操作方法及输出信息,有助于我们在进行网络连通性等方面排错时对问题进行快速准确的定位。

让我们首先回顾一下StoneOS包处理流程:

1.识别数据包的逻辑入接口,可能是一般无标签接口,也可能是子接口。从

而确定数据包的源安全域。

2.StoneOS 对数据包进行合法性检查。如果源安全域配置了攻击防护功能,

系统会在这一步同时进行攻击防护功能检查。

3.会话查询。如果该数据包属于某个已建立会话,则跳过4 到9,直接进行

第10 步。

4.目的NAT(DNAT)操作。如果能够查找到相匹配的DNAT 规则,则为包

做DNAT 标记。因为路由查询需要DNAT 转换的IP 地址,所以先进行DNAT操作。

5.路由查询。StoneOS 的路由查询顺序从前到后依次为:策略路由(PBR)

→源接口路由(SIBR)→源路由(SBR)→目的路由(DBR)→ISP 路由。

6.此时,系统得到了数据包的逻辑出接口和目的安全域。

7.策略查询。系统根据数据包的源安全域、目的安全域、源IP 地址和端口号、

目的IP 地址和端口号以及协议,查找策略规则。如果找不到匹配的策略规则,则丢弃数据包;如果找到匹配的策略规则,则根据规则指定的行为进行处理,分别是:

?允许(Permit):允许数据包通过。

?拒绝(Deny):拒绝数据包通过。

?隧道(Tunnel):将数据包转发到指定的隧道。

?是否来自隧道(From tunnel):检查数据包是否来自指定的隧道,如果是,则允许通过,如果不是,则丢弃。

?Web 认证(WebAuth):对符合条件的流量进行Web 认证。

8.第一次应用类型识别。系统根据策略规则中配置的端口号和服务,尝试识

别应用类型。

9.源NAT(SNAT)操作。如果能够查找到相匹配的SNAT 规则,则为包做

SNAT 标记。

10.会话建立。

11.如果需要,进行第二次应用类型识别。根据数据包的内容和流量行为再次

对应用类型进行精确识别。

12.应用层行为控制。根据确定的应用类型,系统将在此执行配置的Profile 组

和ALG 功能。

13.根据会话中记录的信息,例如NAT 标记等,执行相应的处理操作,并且将

数据包转发到出接口。

二、 使用Debug命令

在StoneOS中,Debug命令仅可以在CLI下完成。要使用Debug的各项功能,可以输入以下命令。

1.配置Debug信息的输出

使用进入CLI的全局配置模式,输入:

logging debug on /开启debug日志/

logging debug to buffer /将debug信息放入缓存/

no logging debug to console /禁止debug信息从console输出至超级终端/

2.配置Debug流的过滤

进行Debug时,使用debug dp filter命令可以方便的缩小Debug的范围,仅对所规定的源目地址、源目端口、协议等信息进行Debug。

debug dp filter src-ip...... src-port...... dst-ip....... dst-port....... proto....... /过滤debug抓包信息,可以过滤源地址、源端口及目的地址、目的端口、协议等/ StoneOS支持配置多条debug dp filter规则,多条规则以唯一的ID进行标识并且将执行与关系运算。执行以下命令清除已经配置的过滤规则。

undebug dp filter id X

3.清空遗留的Debug信息

由于系统的Buffer中有可能存在先前遗留的Debug信息,这将会对后面查看Debug信息造成不便,因此在开启Debug之前,建议清掉所有的Debug信息。

clear logging debug /清除debug日志信息/

4.开启Debug

StoneOS提供了种类丰富的Debug功能,本手册主要以最常用的debug dp basic为例进行详细介绍。执行以下命令即可开启Debug。

debug dp basic /对数据流的基本处理过程进行Debug/

debug dp drop/对StoneOS丢弃的数据流进行Debug/

debug dp error /对错误的数据流进行Debug /

debug dp snoop /对监控的数据流进行Debug /

debug vpn/对StoneOS协商VPN的过程进行Debug/

debug aaa-server/对StoneOS进行AAA认证的过程进行Debug/

5.查看Debug信息

如果有数据包命中了debug dp filter中所作的约束,则StoneOS将记录抓取到的Debug信息至Buffer,输入以下命令查看记录下的Debug信息。

show logging debug /查看debug日志/

6.关闭Debug

Debug功能将消耗系统资源,甚至将在某些情况下引起系统硬件资源占用过度的问题,因此Debug完毕后要务必及时关闭Debug功能,使用以下方法关闭Debug。

undebug all /关闭Debug /

双击键盘ESC键

三、 输出信息及错误信息详解

1.正确的包处理流程

2009-05-04 10:36:48, DEBUG@FLOW: core 6 (sys up 0xcbc372e ms): ****************

msw_ext_dsa_tag_decap_forward: Received packet from port 0

msw_ext_dsa_tag_decap_forward: Received packet with tag 0 cos 1 from interface ethernet0/0

000f.e26b.494e->001c.54ff.0800, size 66, type 0x800, vid 0, port ethernet0/0

Switchid is 8(interface ethernet0/0) port ethernet0/0

Start l3 forward

Packet: 10.134.199.254 -> 118.168.141.246, id: 0, ip size 52, prot: 6(TCP): 3128 -> 3445

No session found, try to create session

没有找到能够匹配的Session,开始尝试创建Session过程。

-----------------First path creating new session-----------------

No DNAT matches, skip DNAT

没有针对此VR的目的地址转换,进行下一个环节。

Get nexthop if_id: 9, flags: 0, nexthop: 221.195.59.241

找到了匹配的路由,下一跳221.195.59.241。

Pak src zone trust, dst zone untrust, prot 6, dst-port 3445.

源Zone为Trust,目的Zone为Untrust,源端口为6,目的端口为3445。

policy id 2 matches: ===DENY===

命中了ID为2的策略,执行DENY动作。

policy id 2 matches: ===DENY=== (service need identify 9 512 )

命中了ID为2的策略,执行DENY动作,标识服务。

policy id 2 matches: ===PERMIT===

命中了ID为2的策略,执行PERMIT动作。

Matched source NAT: source port3128->port58991

匹配源地址转换,源端口3128转换为端口58991。

Identified as app TCP-ANY (prot=6). timeout 1800.

标识应用为TCP-ANY,超市时间为1800秒。

Found the reverse route for force revs-route setting

强制逆向路由功能开启,启动逆向路由

flow0 src 10.134.199.254 --> dst 118.168.141.246 with nexthop 0.0.0.0 ifindex 0

此flow0为去向包

flow1 src 118.168.141.246 --> dst 221.195.59.243 with nexthop 10.134.184.13 ifindex 8

此flow1为回包

flow0's next hop: 10.134.184.13 flow1's next hop: 221.195.59.241

下一跳221.195.59.241

crt_sess->revs_rres.nextop: 10.134.184.13, crt_sess->revs_rres.nexthop 221.195.59.241 Application 3 hasn't been registered, don't need do ALG

应用3没有找到,不需要使用应用层网关

APP inited for application 3

The following session is installed

下列的session已经建立

session: id 494981, prot 6, flag 1400a, created 213661, life 20

flow0(if id: 8 flow id: 989962 flag: 801): 10.134.199.254:3128->118.168.141.246:3445 flow1(if id: 9 flow id: 989963 flag: 800): 118.168.141.246:3445->221.195.59.243:58991 Session installed successfully

Session建立成功

-----------------------First path over---------------------

Found the session 494981

后续的包均命中上面建立的Session直接转发

session: id 494981, prot 6, flag 11404a, created 213661, life 20

flow0(if id: 8 flow id: 989962 flag: 811): 10.134.199.254:3128->118.168.141.246:3445 flow1(if id: 9 flow id: 989963 flag: 810): 118.168.141.246:3445->221.195.59.243:58991 TCP seqence handling

Arp get success: ip:221.195.59.241, mac:0005.3b81.0af8

L3 forward, out if is ethernet0/1

msw_ext_dsa_tag_encap_from_cpu: TX packet from interface ethernet0/1, vid 0 cos 1. 2.路由配置不正确

2009-04-27 06:47:38, DEBUG@FLOW: core 0 (sys up 0xae89bb ms): **************** msw_dsa_tag_decap_forward: Received packet with tag 0 cos 0 from interface ethernet0/0 0014.85d2.6b36->001c.5400.ee40, size 78, type 0x800, vid 0, port ethernet0/0

Switchid is 8(interface ethernet0/0) port ethernet0/0

Start l3 forward

Packet: 192.168.1.111 -> 219.133.60.37, id: 19691, ip size 64, prot: 17(UDP): 4004 -> 8000 No session found, try to create session

-----------------First path creating new session-----------------

No DNAT configured for this VR

Failed to get route to 219.133.60.37

Dropped: Can't find forwarding route. Abort!!

-----------------------First path over (session not created)

Droppped: failed to create session, drop the packet

3.策略配置不正确

2009-04-29 01:59:26, DEBUG@FLOW: core 0 (sys up 0x7552c ms): **************** msw_dsa_tag_decap_forward: Received packet with tag 0 cos 0 from interface ether

net0/1

0014.85d0.0b67->ffff.ffff.ffff, size 231, type 0x800, vid 0, port ethernet0/1 Switchid is 9(interface ethernet0/1) port ethernet0/1

Start l3 forward

Packet: 192.168.1.108 -> 192.168.1.255, id: 15963, ip size 217, prot: 17(UDP): 1 38 -> 138

No session found, try to create session

-----------------First path creating new session-----------------

No DNAT configured for this VR

Get nexthop if_id: 8, flags: 4, nexthop: 192.168.1.255

Subnet broadcast route

Pak src zone untrust, dst zone trust, prot 17, dst-port 138.

No policy set in this ctxt, default ===DENY===

Dropped: Can't find policy/policy denied. Abort!!

-----------------------First path over (session not created)

Droppped: failed to create session, drop the packet

相关文档
最新文档