十年磨一剑,MSR userlog的点点滴滴
一、 组网:
图1
私网上的PC通过MSR-NAT设备访问公网上的设备MSR;
MSR-NAT上配置NAT功能,它对私网用户和公网设备之间往来的报文做地址转换,并将NAT日志以UDP报文方式送往NAT日志服务器;
二、 问题描述:
问题一:
通过在syslog server上抓包显示,发现MSR-NAT设备传过来的报文通过wireshark打开只能看到源端口为40000,目的端口为30017的UDP报文,看不到正常的userlog报文,如图2所示:
图2
问题二:
解决了问题一之后,发现通过抓包看不到报文的目的地址字段填写的是NAT转换后的源地址,而报文访问的真正的目的地址却看不到,如图3所示:
图3
三、 过程分析:
问题一分析:
问题原因为userlog报文输出为私有格式,必须在wireshark中导入我司的专用插件userlog.lua才能解读。
问题二分析:
问题原因为MSR系列路由器只持支userlog V1版本,此版本只能支持记录源地址和目的地址两个字段,而我们的userlog.lua插件实际上是对报文的顺序读取来取值,所以导致信息填写位置错误,如下:
Userlog原始信息:
%%10USERLOG/6/USERLOG_NAT(l):-protType(1001)=ICMP-
insideIPAddr(1003)=3.3.3.3- //源地址
insidePortNum(1004)=8-insideNatIPAddr(1005)=1.1.1.1- //转换后地址
insideNatPortNum(1006)=12296-destIPAddr(1019)=1.1.1.2- //目的地址
destPortNum(1020)=8-beginTime_e(1013)=01012007034813-
endTime_e(1014)=01012007034927-Operator(1112)=(1)Normal over
在提取数据的时候,顺序提取,将源地址3.3.3.3放到了Source Address中,将转换后的地址1.1.1.1放到了Destination Address中,而真正的目的地址1.1.1.2由于没有地方可放置而丢弃,如图4所示:
图4
四、 解决方法:
问题一解决方法:
将插件userlog.lua按照如下方法安装:
1、 将userlog.lua文件放到在wireshark安装目录(如C:/Program Files/Wireshark),如图5所示:
图5
2、 然后修改wireshark安装目录下的init.lua文件,如图6所示:
图6
(1) 把disable_lua = true; do return end;这行注释掉:在前面加“--”,如图7所示:
图7
如果原本为--disable_lua = false,则不用修改,如图8所示:
图8
(2) 然后在init.lua文件最后面加一句:dofile("userlog.lua"),如图9所示:
图9
(3) 如上操作完成后,关闭wireshark软件,重新打开抓包,就可以看到userlog报文了,如图10所示:
图10
问题二解决方法:
MSR只支持userlog V1版本,这个版本和日志服务器配合使用的时候,只能上传源地址和目的地址,无法上传nat转换后的地址,比如源地址为3.3.3.3,访问1.1.1.2地址,nat转换后为1.1.1.1访问1.1.1.2,userlog V1版本只能上传源地址为3.3.3.3,目的地址为1.1.1.2,看不到转换后的1.1.1.1这个地址。
而且,MSR的userlog无法和SecCenter配合,缺少相应的特征库,在PC上抓包可以看到报文,但是SecCenter无法写入到NAT日志中。
可以使用如下方法解决以上问题:
首先将userlog日志放入到设备的logbuffer中,然后部署一台syslog服务器,实时读取logbuffer的内容,这样既省去了部署复杂的userlog服务器,也解决了userlog V1版本的限制。
配置userlog放入logbuffer方法:
userlog nat syslog //将nat session放入syslog中
nat log enable //开启nat日志功能
info-center loghost 2.1.1.2 //配置syslog 服务器地址
syslog服务器部署方法,下面以3CDaemon软件为例:
1、 打开3CDaemon软件,选择syslog server选项,如图11所示:
图11
2、 选择Configure Syslog Server选项,设置syslog日志的存放路径和文件名称,如图12所示,选择的路径为C:\Users\PC\Desktop\盘,也就是桌面,文件名称为syslog.log
图12
3、 点击图标,运行syslog server,当图标变为后,说明软件已经运行,如图13所示:
图13
4、 点击view log file按钮,打开日志记录,可查阅记录的内容,如图14、图15所示:
图14
图15
logbuffer中的内容:
May 28 15:04:14 2.1.1.1 Jan 1 03:49:27 2007 H3C %%10USERLOG/6/USERLOG_NAT(l): -protType(1001)=ICMP-insideIPAddr(1003)=3.3.3.3-insidePortNum(1004)=8-insideNatIPAddr(1005)=1.1.1.1-insideNatPortNum(1006)=12296-destIPAddr(1019)=1.1.1.2-destPortNum(1020)=8-beginTime_e(1013)=01012007034813-endTime_e(1014)=01012007034927-Operator(1112)=(1)Normal over
上述标蓝的地方分别为:
协议、源地址、转换后的源地址、目的地址
附:userlog v1报文头格式:
图16
五、 附件