共計 3142 個字符,預計需要花費 8 分鐘才能閱讀完成。
本篇內容介紹了“linux 中網卡指的是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓丸趣 TV 小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
網卡是一塊用來允許計算機在計算機網絡上進行通訊的計算機硬件,它使得用戶可以通過電纜或無線相互連接。在 linux 操作系統中,網卡設備的傳統命名方式是 eth0、eth2、eth3 等,查看網卡型號的語法“lspci | grep -i ether”、網卡資源使用情況的語法“sar -n DEV”、網卡是否支持多隊列的語法“lspci -vvv | grep -i msi-x”。
網卡是什么東西
網卡是一塊被設計用來允許計算機在計算機網絡上進行通訊的計算機硬件。由于其擁有 MAC 地址,因此屬于 OSI 模型的第 1 層和 2 層之間。它使得用戶可以通過電纜或無線相互連接。
每一個網卡都有一個被稱為 MAC 地址的獨一無二的 48 位串行號,它被寫在卡上的一塊 ROM 中。在網絡上的每一個計算機都必須擁有一個獨一無二的 MAC 地址。
linux 中關于網卡的基本知識總結
一、網卡概述
Linux 操作系統的網卡設備的傳統命名方式是 eth0、eth2、eth3 等,而 CentOS7 提供了不同的命名規則,默認是基于固件、拓撲、位置信息來分配。這樣做的優點是命名全自動的、可預知的,缺點是比 eth0、wlan0 更難讀,比如 ens33。
二、Eth0 和 ens 的區別
eno1: 代表由主辦 bios 內置的網卡
Ens:代表有主板 bios 內置的 PCI- E 網卡
Enp2s0:PCI- E 獨立網卡
Eth0:如果以上都不使用回到默認的網卡名
三、命名規則策略
規則 1:
對于板載設備命名合并固件或 BIOS 提供的索引號,如果來自固件或 BIOS 的信息可讀就命名,比如 eno1,這種命名是比較常見的,否則使用規則 2。
規則 2:
命名合并固件或 BIOS 提供的 PCI-E 熱插拔口索引號,比如 ens1,如果信息可讀就使用,否則使用規則 3。
規則 3:
命名合并硬件接口的物理位置,比如 enp2s0,可用就命名,失敗直接到方案 5。
規則 4:
命名合并接口的 MAC 地址,比如 enx78e7d1ea46da,默認不使用,除非用戶選擇使用此方案。
規則 5:
使用傳統的方案,如果所有的方案都失敗,使用類似 eth0 這樣的樣式。
四、網卡名稱字符含義
1、前 2 個字符的含義
en 以太網 Ethernet
wl 無線局域網 WLAN
ww 無線廣域網 WWAN
2、第 3 個字符根據設備類型選擇
o index on-board device index number
s slot hotplug slot index number
x MAC MAC address
p bus s slot PCI geographical location
p bus s slot USB port number chain
五、修改網卡名稱樣式為 ethx
如果不習慣使用新的命名規則,可以恢復使用傳統的方式命名,編輯 grub 文件,增加兩個變量,再使用 grub2-mkconfig 重新生成 grub 配置文件即可。
1、編輯 grub 配置文件
vim /etc/sysconfig/grub # 其實是 /etc/default/grub 的軟連接
# 為 GRUB_CMDLINE_LINUX 變量增加 2 個參數,具體內容如下 (加粗):
GRUB_CMDLINE_LINUX= crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap net.ifnames=0 biosdevname=0 rhgb quiet
2、重新生成 grub 配置文件
grub2-mkconfig -o /boot/grub2/grub.cfg
然后重新啟動 Linux 操作系統,通過 ip addr 可以看到網卡名稱已經變為 eth0。
3、修改網卡配置文件
原來網卡配置文件名稱為 ifcfg-ens33,這里需要修改為 ethx 的格式,并適當調整網卡配置文件。
mv /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-eth0
# 修改 ifcfg-eth0 文件如下內容 (其它內容不變)
NAME=eth0
DEVICE=eth0
[root@localhost ~]# systemctl restart network.service # 重啟網絡服務
注意:ifcfg-ens33 文件最好刪除掉,否則重啟 network 服務時候會報錯
TYPE=Ethernet # 網卡類型:為以太網
PROXY_METHOD=none # 代理方式:關閉狀態
BROWSER_ONLY=no # 只是瀏覽器:否
BOOTPROTO=dhcp # 網卡的引導協議:DHCP[中文名稱: 動態主機配置協議]
DEFROUTE=yes # 默認路由:是, 不明白的可以百度關鍵詞 ` 默認路由 `
IPV4_FAILURE_FATAL=no # 是不開啟 IPV4 致命錯誤檢測:否
IPV6INIT=yes # IPV6 是否自動初始化: 是 [不會有任何影響, 現在還沒用到 IPV6]
IPV6_AUTOCONF=yes # IPV6 是否自動配置:是 [不會有任何影響, 現在還沒用到 IPV6]
IPV6_DEFROUTE=yes # IPV6 是否可以為默認路由:是 [不會有任何影響, 現在還沒用到 IPV6]
IPV6_FAILURE_FATAL=no # 是不開啟 IPV6 致命錯誤檢測:否
IPV6_ADDR_GEN_MODE=stable-privacy # IPV6 地址生成模型:stable-privacy [這只一種生成 IPV6 的策略]
NAME=ens33 # 網卡物理設備名稱
UUID=f47bde51-fa78-4f79-b68f-d5dd90cfc698 # 通用唯一識別碼, 每一個網卡都會有, 不能重復, 否兩臺 linux 只有一臺網卡可用
DEVICE=ens33 # 網卡設備名稱, 必須和 `NAME` 值一樣
ONBOOT=no # 是否開機啟動, 要想網卡開機就啟動或通過 `systemctl restart network` 控制網卡, 必須設置為 `yes`
/etc/sysconfig/network # 包括主機基本網絡信息,用于系統啟動 /etc/sysconfig/network-script/ # 此目錄下是系統啟動最初始化網絡的信息 /etc/sysconfig/network-script/ifcfg-em1 # 網絡配置信息,每個人的配置名字不一樣通過命令查看 /etc/xinetd.conf 定義了由超級進程 XINETD 啟動的網絡服務 /etc/protocols # 設定了主機使用的協議以及各個協議的協議號 /etc/services # 設定了主機的不同端口的網絡服務
六、查看虛擬化有沒有開啟
Ctrl+alt+delete
七、基礎命令
查看網卡型號:lspci | grep -i ether;
查看網卡資源使用情況:sar -n DEV(重點看網絡帶寬);
查看網卡 eth0 的隊列:/sys/class/net/eth0/queues;
查看網卡是否支持多隊列:lspci -vvv | grep -i msi-x;
如下圖所示,查看 Ethernet controller 的條目內容,如果有 MSI-X Enable+ TabSize 1,則該網卡是多隊列網卡,TabSize 表示該網卡支持的隊列數。
“linux 中網卡指的是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注丸趣 TV 網站,丸趣 TV 小編將為大家輸出更多高質量的實用文章!