處理問題時必定不能盲狙,將所有解決辦法都試上一遍。這生產(chǎn)環(huán)境中,解決出現(xiàn)的問題是最優(yōu)先的事情,當(dāng)然前提是這問題會影響用戶的使用或即將影響到的。
成都創(chuàng)新互聯(lián)長期為成百上千家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為汕城企業(yè)提供專業(yè)的成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè),汕城網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
處理每個問題必然可按具體問題進行分類,根據(jù)每一類按對應(yīng)的解決思路來執(zhí)行。
但像處理一個網(wǎng)絡(luò)問題的時候,上至系統(tǒng)防火墻的配置、下至硬件故障。如果處理一個問題都按固定流程來進行的話,那必然效率將非常低下。下為處理網(wǎng)絡(luò)故障的一般流程。
1、網(wǎng)絡(luò)硬件問題檢查。???????????????????? (機率較低)
2、檢查網(wǎng)卡能否正常工作。??????????? (較高、主要表現(xiàn)為人為配置錯誤)
3、檢查局域網(wǎng)之間聯(lián)機是否正常。(非常高)
4、檢查DNS是否設(shè)定正確。??????????? (較低)
5、服務(wù)是否正常打開。???????????????????? (低)
6、檢查訪問權(quán)限是否打開。??????????? (較高)
假如從1至6是標(biāo)準(zhǔn)的處理網(wǎng)絡(luò)問題的流程,這樣的處理方式效率低下。處理問題可以有整體的流程,但是實際操作中可先對出現(xiàn)機率更高的步驟進行檢查、或采取2分法縮小產(chǎn)生問題的范圍,雖然上述較的兩個方法不一定對所有問題都試用,但對于大多數(shù)的網(wǎng)絡(luò)問題來說處理效率有者顯著的提升。
個人總結(jié)的情況如下。
1、lsmod | grep ip??????????? 查看相關(guān)的網(wǎng)卡模塊是否已加載
2、ifconfig -a??????????????????? 能使用該命令查找到對應(yīng)網(wǎng)卡配置信息,則說明網(wǎng)卡驅(qū)動程序正常
3、使用ping命令、依次ping自己、ping局域網(wǎng)主機、ping網(wǎng)關(guān)
ping自己異常,問題:服務(wù)異常、網(wǎng)卡配置未生效
ping局域網(wǎng)主機異常,問題:配置文件有誤、網(wǎng)卡配置未生效、網(wǎng)線損壞
ping網(wǎng)關(guān)異常,問題:配置文件有誤、網(wǎng)卡配置未生效
4、當(dāng)前3步還不能正常上外網(wǎng)的話。所有route查看默認(rèn)路由表。
處理方法:刪除不必要的路由信息,并保證默認(rèn)路由是從對應(yīng)網(wǎng)關(guān)地址出去的。
5、臨時停止iptables服務(wù)、SELinux服務(wù)、NetworkManager服務(wù)
6、如能上網(wǎng)但訪問域名有異常時,那將需要檢查/etc/hosts、/etc/resolv.conf兩個配置
7、假如以上6步檢查完畢之后,還發(fā)現(xiàn)不能上網(wǎng)。有如下可能。
7.1、主機MAC地址被路由器禁止上網(wǎng)
7.2、外網(wǎng)服務(wù)異常。如寬帶賬號欠費、光纖被挖斷等物理攻擊。
div style="font-weight: 400;"
span/span
h1個人博客:a href="" target="_blank" rel="nofollow"點擊這里進入/a/h1
span/span
h3一.故障現(xiàn)象/h3
blockquote
pRHEL7.6系統(tǒng),使用nmcli綁定雙網(wǎng)卡后,再使用以下命令重啟network服務(wù)后主機網(wǎng)絡(luò)異常,導(dǎo)致無法通過ssh遠程登錄系統(tǒng)。/p
/blockquote
p???? code# systemctl restart network/code/p
span/span
h3二.理論知識/h3
blockquote
pNetwork service的制御網(wǎng)絡(luò)接口配置信息改動后,網(wǎng)絡(luò)服務(wù)必須從新啟動,來激活網(wǎng)絡(luò)新配置的使得配置生效,這部分操作和從新啟動系統(tǒng)時時一樣的作用。制御(控制)是/etc/init.d/network這個文件,可以用這個文件后面加上下面的參數(shù)來操作網(wǎng)絡(luò)服務(wù)。例如:
???? code# /etc/init.d/network restart/code
同樣也可以用service這個命令來操作網(wǎng)絡(luò)服務(wù)例如:
???? code# service network restart/code
???? code# systemctl restart network/code (NetworManager)是檢測網(wǎng)絡(luò)、自動連接網(wǎng)絡(luò)的程序。無論是無線還是有線連接,它都可以令您輕松管理。對于無線網(wǎng)絡(luò),網(wǎng)絡(luò)管理器可以自動切換到最可靠的無線網(wǎng)絡(luò)。利用網(wǎng)絡(luò)管理器的程序可以自由切換在線和離線模式。網(wǎng)絡(luò)管理器可以優(yōu)先選擇有線網(wǎng)絡(luò),支持 VPN。網(wǎng)絡(luò)管理器最初由 Redhat 公司開發(fā),現(xiàn)在由 GNOME 管理/p
/blockquote
span/span
h3三.環(huán)境分析/h3
blockquote
p系統(tǒng)版本:Red Hat Enterprise Linux Server release 7.6
內(nèi)核版本:3.10.0-957.el7.x86_64
硬件類型:Huawei 2288H V5
首先檢查系統(tǒng)網(wǎng)絡(luò)配置,該系統(tǒng)配置兩塊bonding設(shè)備,分別是:
bond0:業(yè)務(wù)網(wǎng)絡(luò)
bond1: Oracle RAC心跳網(wǎng)絡(luò) 分析系統(tǒng)日志,當(dāng)重啟network服務(wù)時(systemctl restart network),系統(tǒng)messages日志中無明顯異常,測試發(fā)現(xiàn),當(dāng)停止NetworkManager服務(wù)后,問題現(xiàn)象消失,即執(zhí)行如下操作:/p
/blockquote
p???? code# systemctl stop NetworkManager/code/p
blockquote
p此時再次重啟network服務(wù):/p
/blockquote
p???? code# systemctl restart network/code/p
blockquote
p可以很快ping通bond0的業(yè)務(wù)地址10.116.6.194。 進一步分析發(fā)現(xiàn),如果不停止NetworkManager服務(wù),而是修改網(wǎng)卡配置文件,在bonding網(wǎng)卡和組成bonding的slave網(wǎng)卡的配置文件中增加一行配置,也可以解決該問題。/p
/blockquote
p???? codeNM_CONTROLLED=no/code/p
blockquote
p參考紅帽RHEL7配置網(wǎng)卡bonding的官方文檔: a href="" target="_blank" rel="nofollow";/a
可以看到,官方文檔的配置示例中設(shè)置了NM_CONTROLLED=”no”:
img src="" alt=""
img src="" alt=""/p
/blockquote
span/span
h3四.原廠問題建議/h3
blockquote
p該問題是由于NetworkManager服務(wù)引起,可以通過如下兩種方法解決:/p
/blockquote
ul
li在網(wǎng)卡配置文件中增加參數(shù)NM_CONTROLLED=no(“no”的引號可以不寫),設(shè)置后重啟network服務(wù)生效。設(shè)置NM_CONTROLLED=no的目的是將網(wǎng)絡(luò)設(shè)備脫離NetworkManager服務(wù)的管理,設(shè)置后該網(wǎng)絡(luò)設(shè)備僅由network服務(wù)管理,不受NetworkManager服務(wù)控制,因而nmcli命令對該網(wǎng)絡(luò)設(shè)備不再生效;/li
li停止并禁用NetworkManager服務(wù),停用后所有網(wǎng)絡(luò)設(shè)備由network服務(wù)管理,不能通過nmcli命令來管理網(wǎng)絡(luò)設(shè)備:/li
/ul
p???? code# systemctl stop NetworkManager/code
???? code# systemctl disable NetworkManager/code/p
span/span
h3五.解決方案/h3
blockquote
p據(jù)上所述,可關(guān)閉NetworkManager服務(wù)或在BOND配置文件中添加參數(shù),但因環(huán)境需要,需使用nmcli命令,故無法關(guān)閉NetworkManager,在多輪測試中進行思考,既然NetManager與network服務(wù)沖突,但nmcli命令屬于NetworkManager,systemctl一般用來管理network,考慮兩者管理命令可能也存在沖突后進行了一波測試,使用NetworkManager的nmcli進行網(wǎng)卡的重啟操作,使用以下命令后,網(wǎng)絡(luò)可以即刻ping通并通過SSH連接/p
/blockquote
p???? code# nmcli connection down 網(wǎng)口名稱/code
???? code# nmcli connection up 網(wǎng)口名稱/code/p
span/span
h3六.結(jié)論/h3
blockquote
p因NetworkManager與network服務(wù)存在沖突,且雙網(wǎng)卡綁定時所使用的的nmcli進行綁定,nmcli歸屬于NetworkManager,故重啟網(wǎng)卡時應(yīng)用nmcli命令up/down,不應(yīng)使用systemctl進行網(wǎng)卡重啟/p
/blockquote
linux查看網(wǎng)絡(luò)鏈接狀況命令 netstat 參數(shù)如下: -a 顯示所有socket,包括正在監(jiān)聽的。 -c 每隔1秒就重新顯示一遍,直到用戶中斷它。 -i 顯示所有網(wǎng)絡(luò)接口的信息,格式同“ifconfig -e”。 -n 以網(wǎng)絡(luò)IP地址代替名稱,顯示出網(wǎng)絡(luò)連接情形。
第一步:配置虛擬機網(wǎng)絡(luò),配置文件。/etc/sysconfig/network-scripts/ifcfg-ens33
第二步:虛擬機配置。
第三步:重啟網(wǎng)卡systemctl restart network
顯示重啟網(wǎng)卡失敗
第二步:查看網(wǎng)卡狀態(tài),若active狀態(tài),則停掉。
第四步:再重啟網(wǎng)卡,發(fā)現(xiàn)錯誤細節(jié),dhclient is already running
第五步:kill掉dhclient進程,然后重啟網(wǎng)卡。成功。