1. 程式人生 > 實用技巧 >🍖網路管理之網絡卡配置

🍖網路管理之網絡卡配置

一.網絡卡名字修改

1.網絡卡命名規則

  • CentOS6之前基於傳統的命名方式如: eth1, eth0....
  • Centos7提供了不同的命名規則,預設是基於韌體、拓撲、位置資訊來分配
  • 這樣做的優點是命名是全自動的、可預知的,缺點是比eth0更難讀, 比如ens33

2.網絡卡命名策略(瞭解)

3.配置網絡卡命名的方式

  • 修改網絡卡配置檔案名稱
⛅為了方便先進到目錄,改成你想要的名字
[root@shawn ~]#cd /etc/sysconfig/network-scripts/
[root@shawn network-scripts]#mv ifcfg-ens32 ifcfg-eth100
  • 修改網絡卡配置檔案
⛅直接使用"sed"查詢後替換掉
[root@shawn network-scripts]#sed -i "s/ens32/eth100/g" ifcfg-eth100

⛅或者進配置檔案進行修改
[root@shawn network-scripts]#vim ifcfg-eth100
  • GRUB新增 kernel 引數
⛅進入核心引數檔案
[root@shawn network-scripts]#vim /etc/sysconfig/grub
⛅修改這一行,"100"
GRUB_CMDLINE_LINUX="rhgb quiet 'net.ifnames=100 biosdevname=100'"

⛅載入到引導分割槽,生成選單
[root@shawn network-scripts]#grub2-mkconfig -o /boot/grub2/grub.cfg

⛅重啟系統生效,再檢視是否成功
[root@shawn network-scripts]#reboot
[root@shawn ~]#ifconfig
eth100: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500   #發現已經改變了

二.基本網路配置

1.檢視網絡卡連線狀態

⛅檢視當前系統所連線的所有網絡卡 (我這裡只有一個網絡卡,所以顯示一個)
[root@shawn ~]#lspci | grep -i eth
02:00.0 Ethernet controller: Intel Corporation 82545EM Gigabit Ethernet Controller (Copper) (rev 01)

⛅確認網絡卡是否連線(link ok 表示網絡卡能被識別,並且接了有效的網線)
[root@shawn ~]#mii-tool eth100
eth100: negotiated 1000baseT-FD flow-control, link ok

⛅如果顯示"failed: .....",則代表網線沒連線等等

2.ifconfig 命令

⛅檢視
ifconfig -a       #檢視所有網絡卡資訊
ifconfif eth100   #檢視指定網絡卡資訊

⛅配置,新增子介面
ifconfig eth100 192.168.12.188/24    #臨時設定IP和掩碼(重啟服務或系統都失效)
ifconfig eth100 192.168.12.188 netmask 255.255.255.0    #同上一樣
ifconfig eth100:1 192.168.12.199/24  #配置子介面
    
⛅刪除子介面
ifconfig eth100:1 down               #刪除這個子介面
ifconfig eth100:1 del 192.168.12.199 #刪除這個子介面
    
⛅開啟與關閉網絡卡配置
ifconfig eth100 down/up              #不載入/載入這個網絡卡的配置檔案
ifdown eth100 / ifup eth100          #不載入/載入這個網絡卡的配置檔案

⛅設定網絡卡最大傳輸單元
ifconfig eth0 mtu 1500

⛅開啟和關閉模式(瞭解)
ifconfig eth0 promisc              #開啟繁雜模式
ifconfig eth0 -promisc             #關閉繁雜模式

ifconfig eth0 multicast            #開啟多播
ifconfig eth0 -multicast           #關閉多播

ifconfig eth0 allmulti             #開啟
ifconfig eth0 -allmulti            #關閉

⛅新增刪除"ipv6"地址
ifconfig eth0 add 3ffe:3240:800:1005: :2/64
ifconfig eth0 del 3ffe:3240:800:1005: :2/64

3.ifconfig 檢視結果解釋

[root@shawn ~]#ifconfig
ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
# [表示介面已啟用] [表示主機支援廣播] [表示介面在工作中] [表示主機支援多播] [mtu:1500最大傳輸單元(位元組)]
        inet 192.168.12.188  netmask 255.255.255.0  broadcast 192.168.12.255
        #IPV4地址            #子網掩碼               #廣播地址
        inet6 fe80::20c:29ff:fe93:fdc8  prefixlen 64  scopeid 0x20<link>
        #IPV6地址                       #掩碼長度      #作用域, link表示僅該介面有效
        ether 00:0c:29:93:fd:c8  txqueuelen 1000  (Ethernet)
        #網口介面的MAC地址        #傳輸佇列長度     #介面型別
        RX packets 192442  bytes 23005768 (21.9 MiB)
        #表示此介面接收到的報文個數,總位元組數
        RX errors 0  dropped 3378  overruns 0  frame 0
        #接收報文錯誤數,丟棄數,溢位數(由於速度過快而丟失的資料包),衝突的幀數
        TX packets 441431  bytes 34287197 (32.6 MiB)
        #表示此介面傳送的報文個數,總位元組數
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        #傳送報文錯誤數,丟棄數,溢位數(由於速度過快而丟失的資料包),載荷數(發生carrier錯誤而丟失的資料包),衝突的幀數

4.ethtool解決網路丟包問題

  • 全雙工與半雙工(儲備知識)
⛅全雙工傳輸英文寫法是:Full - Duplex Transmissions
是指交換機在傳送資料的同時也能夠接收資料,兩者同步進行
這好像我們平時打電話一樣,說話的同時也能夠聽到對方的聲音,目前的交換機都支援全雙工。
全雙工的好處在於遲延小、衝突少、速度快

⛅半雙工:就是指一個時間段內只有一個動作發生,
舉個簡單例子,一條窄窄的馬路,同時只能有一輛車通過,當目前有兩量車對開,這種情況下就只能一輛先過,等到頭兒後另一輛再開
這個例子就形象的說明了半雙工的原理
早期的對講機、以及早期集線器等裝置都是實行半雙工的產品
隨著技術的不斷進步,半雙工會逐漸退出歷史舞臺
  • CRC校驗(儲備知識)
⛅CRC即迴圈冗餘校驗碼(Cyclic Redundancy Check) 
是資料通訊領域中最常用的一種查錯校驗碼,其特徵是資訊欄位和校驗欄位的長度可以任意選定
迴圈冗餘檢查(CRC)是一種資料傳輸檢錯功能
對資料進行多項式計算,並將得到的結果附在幀的後面,接收裝置也執行類似的演算法,以保證資料傳
輸的正確性和完整性
  • 網絡卡工作原理(儲備知識)
⛅網絡卡發包
1、"ip"包 + 14 個位元組的"mac"頭變成資料幀"frame"
2、"frame"拷貝到網絡卡晶片內部的緩衝區,由網絡卡處理
3、網絡卡晶片為"frame"新增頭部同步資訊和"CRC"校驗,此時才是真正可以傳送的"packet",然後傳送
該"packet"

⛅網絡卡收包
1、網路包"packet"到達網絡卡,網絡卡先檢查包"packet"的"CRC"校驗,保證其完整性和正確性,然後去掉它的頭得到"frame"
2、網絡卡將"frame"拷貝到網絡卡內部的"FIFO"緩衝區
3、網絡卡驅動程式產生硬體中斷,把"frame"從網絡卡拷貝到記憶體中,接下來就交給核心處理

⛅網絡卡丟包
1.核心通常需要快速的拷貝網路資料包到系統記憶體
2.因為網絡卡上接收網路資料包的快取大小固定,而且相比系統記憶體也要小得多
3.所以上述拷貝動作一旦被延遲, 必然造成網絡卡FIFO快取溢位-進入的資料包占滿了網絡卡的快取
4.後續的包只能被丟棄,這也應該就是"ifconfig"裡的"overrun"的來源。
  • 丟包問題解決
⛅丟包排查
網絡卡工作在資料鏈路層,資料量鏈路層,會做一些校驗,封裝成幀
我們可以檢視校驗是否出錯,確定傳輸是否存在問題。然後從軟體層面,是否因為緩衝區太小丟包

⛅先檢視底層硬體情況