周一的时候一上班接到公司同事告知连接服务器巨慢。我打开防火墙查看日志发现session数量占据超过90%,可能过多的并发session造成了防火墙的拥堵。于是我看是查找问题根源来解决。
首先我用图形界面登录防火墙发现不能使用命令行模式控制,于是我configure--update----save to file导出防火墙的配置发现
set interface ethernet0/2 manage web,然后加了一条语句:set interface ethernet0/2 manage telnet重新导入防火墙配置,现在可以telnet防火墙为所欲为了,哈哈。
进入防火墙就好办了,由于我们的服务器网段是100.100开头的,于是我
get session | i 100.100
发现100.100.0.44的服务器session最多,怎么清除它(session)呢,于是我telnet 防火墙,运行命令
clear session src-ip 100.100.0.44
发现这台服务器的并发session达到了9万多,这还得了,我发现我们的防火墙配置文件(刚才导出的txt文档)中
set ipsec access-session maximum 90000
这条语句告诉我们的访问session最大值,怪不得所有服务器会挂掉,防火墙的session已满。于是我加大防火墙的安全访问session最大值
set ipsec access-session maximum 540000,马上我们的防火墙负载降下来了。当然这只是权宜之计,要找出罪魁祸首才是解决问题的根源所在。刚才查出是0.44那台服务器的问题,经过以上处理可以登录服务器了,经过netstat ps等命令的查看我发现是这台服务器运行的tomcat有问题,关掉tomcat服务后发现一切正常了,找开发人员慢慢解决吧。
怎么分析出罪魁祸首呢,有一款叫NSSA的软件可以分析session记录,下载地址是http://performanceclassifieds.net/NSSA.zip。当然得导出session记录,于是我在一台服务器centos 6.5系统上安装tftp服务,为了多快好省我yum install -y tftp* , 注意配置文件是
vi /etc/xinetd.d/tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftp -c #注意必须加-c这个参数,
创建的意思
disable = no
per_source = 11
cps = 100 2
flags = IPv4
注意了这个-s就是源文件存放路径。于是我在防火墙上运行命令
get session > tftp 100.100.0.45 20120821.nss,成功把session记录导入到
45上,NSSA这个软件是个压缩文件解压缩后找到nssa.exe就是主程序然后Load
20120821.nss文件点击auto analyze就可以查看到了。
总结一下,解决这个问题需要掌握的知识点:
1.juniper防火墙的设置命令
clear session src-ip 100.100.0.44
get session > tftp 100.100.0.45 20120821.nss
get session | 100.100.0.44
set ipsec access-session maximum 540000
2.安装NSSA软件。网址上面有。
3、在centos系统上安装tftp服务
yum -y install tftp*
vi /etc/xinetd.d/tftp
disable = no (把yes改为no)
server_args = -s /tftp -c
service xinetd restart
注意tftp用的是udp 69端口在监听。
4.注意你的硬件防火墙最大的安全session并发是多少,不要超过,否则防火墙很可能会挂掉。
转载于:https://blog.51cto.com/dadloveu/968040