linux網絡卡掉包或掛掉解決辦法

2021-09-09 04:28:58 字數 3007 閱讀 4966

最近自己公司**老出現掉包問題之前以為是網路問題或機房問題,經過n久的排查發現是linux網絡卡掉包了,下面我來分享我的解決辦法。

之前公司的系統由於網絡卡問題,經常出現掉包(掉包排除攻擊的 因素)或者突然掛掉,

嚴重影響服務的正常提供,因此想在出現此問題時自動解決。

思路:對網絡卡檢測掉包情況,或者用ping檢測,出現了,就重啟哈網絡卡 。瞧是很簡單吧!

**如下:

**如下

複製**

#安裝幫助: mkdir  /cyc

#/cyc/renetwork.log為日誌檔案

#!/bin/bash

# 2013-2-17 @凹凸曼

# ping timeout  restart network

# lastmodtime 2013-3-19

pingnetwork()'|cut -d% -f 1 `

if [[ ! $loss =~ ^[0-9]+$ ]];then

loss=100

fiif [ $loss -gt 0 ]; then

ifdown $c

sleep 3

ifup $c

echo `date "+%y%m%d %t"`": $pcount ping $loss% loss">>/cyc/renetwork.log

sleep 30

fi}

#start dst eth

stopeth()

#drop found

netdrop()'`

#$10 tx-drp

local txdp=`netstat -i|grep "$c"|awk 'end'`

if [ $redp -gt 0 ];then

ifdown $c

sleep 3

ifup $c

echo `date "+%y%m%d %t"`":$c rx-drp drop">>/cyc/renetwork.log

sleep 30

fisleep 2

if [ $txdp -gt 0 ];then

ifdown $c

sleep 3

ifup $c

echo `date "+%y%m%d %t"`":$c tx-drp drop">>/cyc/renetwork.log

sleep 30

fi}

wtime=$2

eth=$1

if [[ ! $wtime =~ ^[0-9]+$ ]];then

wtime=3

fiif [ x"" == x"$eth" ];then

echo "please enter the nic name!"

exit

fiwhile [ 1 ]

dostopeth $eth

sleep $wtime

netdrop $eth

sleep $wtime

pingnetwork $eth 1

done

程式執行至目前的日誌結果如下:

**如下

複製**

20130319 12:23:01: eth0 1 ping 100% loss

20130319 13:43:50: eth0 1 ping 100% loss

20130319 18:11:18: eth0 1 ping 100% loss

20130323 08:04:59: eth0 1 ping 100% loss

20130323 14:41:04: eth0 1 ping 100% loss

20130324 12:49:04: eth0 1 ping 100% loss

20130327 13:15:47: eth0 1 ping 100% loss

20130401 11:17:42: eth0 1 ping 100% loss

20130402 09:02:14: eth0 1 ping 100% loss

20130403 08:49:30: eth0 1 ping 100% loss

20130404 20:21:46: eth0 1 ping 100% loss

20130407 18:44:57: eth0 1 ping 100% loss

20130408 10:46:53: eth0 1 ping 100% loss

20130408 14:41:06: eth0 1 ping 100% loss

20130408 14:47:24: eth0 1 ping 100% loss

20130408 15:23:02:eth0 rx-drp drop

20130415 08:30:09: eth0 1 ping 100% loss

20130415 11:16:16: eth0 1 ping 100% loss

20130417 08:05:41: eth0 1 ping 100% loss

20130419 08:04:19: eth0 1 ping 100% loss

20130419 10:40:51: eth0 1 ping 100% loss

20130419 11:33:14: eth0 1 ping 100% loss

20130419 19:03:03: eth0 1 ping 100% loss

20130421 16:10:55: eth0 1 ping 100% loss

20130422 07:47:34: eth0 1 ping 100% loss

20130423 07:15:07: eth0 1 ping 100% loss

呵呵,自動解決了網絡卡掉包或掛掉的煩惱!您是不是很爽!

忘記了說鳥,此程式執行環境red hat enterprise linux server release 5.4或者centos6.3

其他linux環境估計問題不大,這裡就不測試鳥!

linux沒有ifconfig命令解決辦法

因為系統不支援ifconfig命令 用ip addr代替了 但有些指令碼還需要這個命令,所以需要安裝。sudo apt get install net tools 檢視ifconfig安裝目錄 whereis ifconfig ifconfig sbin ifconfig usr share man...

用ethtool 命令解決Linux 網絡卡丟包

生產中有一台linux裝置併發比較大,droped包比較多,尤其是在跑遊戲資料報的時候,存在嚴重的丟包現象,懷疑網絡卡效能不足,在更換裝置前想能不有通過軟體方法解決,通過網上一些資料顯示,出現這種現象,也有可能是網絡卡buffer size 太小的原因,遂嘗試更改buffer 大小解決,下面的裝置執...

Linux上Sqlplus中文為「?」的解決辦法

以前操作oracle資料庫時,一直用pl sql developer。不得不服氣這個經驗,圖形介面能提高效率,但同時也讓乙個人變的懶惰。這次必須在linux上通過sqlplus來操作oracle,沒辦法 逼上梁山 了!但是隨後帶來乙個問題,就是在sqlplus上的中文全部都是問號。由於以後要更新中文...