時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)
相信現(xiàn)在很多公司或網(wǎng)吧開始考慮雙線接入,來實現(xiàn)網(wǎng)絡(luò)的均衡負(fù)載或冗余(備份)線路,保持網(wǎng)絡(luò)的不間斷性。但是如何才能檢測某條線路斷了呢?有以下幾種辦法:
1. 物理連接中斷(比如網(wǎng)線出現(xiàn)問題)
這個可以通過SNMP來檢測(需要現(xiàn)安裝 net-snmp 包),如下:
先查看各網(wǎng)卡的設(shè)備描述編號:
# snmpwalk -v 1 -c public localhost|grep ifDescr
IF-MIB::ifDescr.1 = STRING: lo
IF-MIB::ifDescr.2 = STRING: dummy0
IF-MIB::ifDescr.3 = STRING: eth0
IF-MIB::ifDescr.4 = STRING: eth1
IF-MIB::ifDescr.5 = STRING: tunl0
IF-MIB::ifDescr.6 = STRING: gre
上面顯示 eth0 的編號是3
查看 eth0 的狀態(tài):
# snmpwalk -v 1 -c public localhost IF-MIB::ifOperStatus.3
IF-MIB::ifOperStatus.3 = INTEGER: up(1)
如果顯示 up 表示連接正常,顯示 down 表示網(wǎng)絡(luò)中斷了。
補(bǔ)充:
更簡單的辦法是利用 ethtool 工具,下載地址:
編譯安裝:
# ./configure && make && make install
測試:
# ethtool eth0
....
Link detected: yes
如果最后一行顯示 yes 表示連接正常,顯示 no 表示網(wǎng)絡(luò)中斷了。
2. 邏輯連接中斷(比如網(wǎng)關(guān)的線路出了問題等)
可以通過每10s發(fā)送一個小的ping包到網(wǎng)關(guān),看是否有回應(yīng),一般網(wǎng)關(guān)都是允許ping的。
這個可以通過一個expect程序(netwatch.exp)來完成,下面這個腳本發(fā)送一個字節(jié)為1的ping包給網(wǎng)關(guān),并分析ping的輸出信息,如果為 0% packet loss,表示正常,以0退出。如果超時(1秒鐘),以1退出。
#!/usr/bin/expect
set target [lindex $argv 0]
set timeout 1
spawn ping -c 1 -s 1 $target
expect {
" 0% packet loss" {
exit 0
}
timeout {
exit 1
}
}
比如網(wǎng)關(guān)1為192.168.1.1,網(wǎng)關(guān)2為192.168.2.1,那么要監(jiān)測這兩個網(wǎng)關(guān)的話,可以這樣:
#!/bin/sh
netwatch.exp 192.168.1.1
result1=$?
netwatch.exp 192.168.2.1
result2=$?
if [ "$result1" eq 0 ] && [ "$result2" eq 0 ] ; then
# 如果上次檢測時連接丟失,而此次恢復(fù)正常
if [ -e /var/run/lost-connection ] ; then
do some recovery action here ...
rm /var/run/lost-connection
fi
# 如果網(wǎng)關(guān)1不可達(dá)
elif [ "$result1" ne 0 ] ; then
change default route to 192.168.2.1
do some action here, such as iptables NAT
# 創(chuàng)建連接丟失標(biāo)識
touch /var/run/lost-connection
# 如果網(wǎng)關(guān)2不可達(dá)
elif [ "$result2" ne 0 ] ; then
change default route to 192.168.1.1
do some action here, such as iptables NAT
# 創(chuàng)建連接丟失標(biāo)識
touch /var/run/lost-connection
fi
雖然可以通過iptables的MASQUERADE來實現(xiàn)自動切換,但是如果加了策略路由,就不行了。
以上只是個人的想法,希望起到拋磚引玉的作用,如果大家有更好的辦法或建議,請不要吝嗇提出來哦!
關(guān)鍵詞標(biāo)簽:監(jiān)測網(wǎng)絡(luò)
相關(guān)閱讀
熱門文章 提示dns服務(wù)錯誤怎么辦 dns錯誤問題多種解決方法 “無法瀏覽網(wǎng)頁” 十招解決疑難雜癥 路由器無線不能上網(wǎng)等故障排除 解決VPN路由設(shè)置不能訪問外網(wǎng)的問題
人氣排行 解決VPN路由設(shè)置不能訪問外網(wǎng)的問題 登錄SSH服務(wù)器失敗問題的分析及解決 光纖上網(wǎng) 路由器設(shè)置頁面進(jìn)不去怎么辦 核心交換機(jī)故障現(xiàn)象及解決辦法 無線網(wǎng)卡連接不上怎么辦_無線網(wǎng)卡連接不上解決方法 路由設(shè)置不當(dāng) 導(dǎo)致VPN無法訪問外網(wǎng) 提示dns服務(wù)錯誤怎么辦 dns錯誤問題多種解決方法 徹底避免環(huán)路問題 正確配置交換機(jī)步驟