2008年8月21日 星期四

如何不靠網管工具,追查異常流量來源

案例:由Core Switch上發現某vlan或某interface流量爆升達100Mb/s,且持續發生,假設你又沒有足夠的網管工具協助你

步驟:
1. 清除interface Counters
#clear counters

2. 檢查各interface流量,找出異常流量之interface
#show interfaces stats
找到相對應的in最大量及out最大量的interface,即為可疑流量之兩端

3. 確認該interface是否向下串接switch
#show cdp neighbors
若是向下串接switch,則連入該switch重複步驟1,2,3的動作,持續查出末端

4. 當查出最末端之interface,查該port之MAC與IP
#show mac-address-table
檢查MAC address table,查該出0001.0260.5d6b這個MAC address被記錄於該interface
#show arp | include 0001.0260.5d6b
查出該MAC對應的IP address,若edge switch查不到,請到Core switch上查

5. 查出IP後即可立即處理,或土一點的方法就是到Switch上看接在該port的是哪一台設備。

2008年8月14日 星期四

使用Linuxe建置log server儲存網路設備log

目的:網路設備buffer通常很小,將log保存該設備上,非常不恰當,常常設備出問題,查log因log buffer儲存量有限,造成重要log已被覆蓋而無法找到,或設備損壞,連帶log也沒了,無法查出問題點。故網路設備上常附帶syslog功能讓你將log導出到log server,這裡簡單示範一下。
環境說明:RHEL 5(或其它Linux都有syslog service) + PIX 525 firewall
必要條件:你要有Linux+Firewall的設定權限,網路要通,尤其是Firewall --> Log Server(udp514) ,syslog使用的udp port 514

設定步驟:
1. 設定Linux server上的syslog
vi /etc/sysconfig/syslog
將SYSLOGD_OPTIONS="-m 0"
修改為SYSLOGD_OPTIONS="-r -x -m 0"
說明:-r是允許從遠端主機寫入messages,-x是disable DNS lookup

vi /etc/syslog.conf
新增 local4.* /var/log/pix.log
說明:把local4(PIX預設為local4,在PIX上的facility為20)的所有的log 儲存到 /var/log/pix.log中 附註:修改 *.info;mail,authpriv,cron,local4.none /var/log/messages
(可讓local4不要存入messages)

2. 為了避免日誌過大,配置日誌輪循(man logrotate 查看詳細的幫助資訊)
vi /etc/logrotate.conf
#PIX Firewall log
/var/log/pix.log{
daily
create
rotate 10
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null grue
endscript
}
說明:詳細請參閱http://linux.vbird.org/linux_basic/0570syslog.php

3. 重起syslog service:
service syslog restart

4. 設定PIX
pix(config)# logging on
pix(config)# logging host 192.168.1.1 <--這裡要寫Linux log server主機IP
pix(config)# logging trap 4
pix(config)# logging facility 20
pix(config)# exit
pix# wri mem
補充:
Log level:
1:(Alerts)
2:(Critical)
3:(Errors)
4:(Warnings)
5:(Notifications)
6:(Informational)
7:(Debugging)

Local對應Facility:
local 0 = Logging Facility 16
local 1 = Logging Facility 17
local 2 = Logging Facility 18
local 3 = Logging Facility 19
local 4 = Logging Facility 20
local 5 = Logging Facility 21
local 6 = Logging Facility 22
local 7 = Logging Facility 23

或使用PDM設定
IP Address 處填寫你的log server IP

★Debug方法:如果你還是設定不起來,可以用以下方法測試
1. 在PIX上下指令檢查設定是否正確?
pix# show logging
Syslog logging: enabled
Facility: 20
Trap logging: level warnings
Logging to inside 192.168.1.1
此為檢查syslog的設定是否正確

2. 在log server上檢查udp port 514是否有listen
linux# netstat -an | grep 514
udp 0 0 0.0.0.0:514 0.0.0.0:*