網卡是一種電腦硬件,可以讓電腦在網路上進行通訊,無論是透過電纜還是無線技術連接。在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 作業系統的網路卡設備的傳統命名方式是eth0、eth2、eth3等,而CentOS7 提供了不同的命名規則,預設是基於韌體、拓撲、位置資訊來分配。使用這種命名方法的優點是命名完全自動且可預測,但缺點是例如ens33這樣的名稱比eth0和wlan0更難讀取。
二、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,預設不使用,除非使用者選擇使用此方案。
#使用傳統的方案,如果所有的方案都失敗,使用類似 eth0 這樣的樣式。
#2、第3個字元依裝置類型選擇
#o
s
五、修改網卡名稱樣式為ethx
如果不習慣使用新的命名規則,可以恢復使用傳統的方式命名,編輯grub 文件,增加兩個變量,再使用grub2-mkconfig 重新生成grub 設定檔即可。 1、編輯grub 設定檔<p><pre class="brush:js;toolbar:false">vim /etc/sysconfig/grub # 其实是/etc/default/grub的软连接</pre><strong># 為GRUB_CMDLINE_LINUX變數增加2個參數,具體內容如下(加粗):</strong><pre class="brush:js;toolbar:false">GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap net.ifnames=0 biosdevname=0 rhgb quiet"</pre></p>
<p>2、重新產生grub 設定檔</p>
<p><pre class="brush:js;toolbar:false">grub2-mkconfig -o /boot/grub2/grub.cfg</pre><strong>然後重新啟動Linux 作業系統,透過ip addr 可以看到網路卡名稱已經變成eth0 。 </strong></p>
<p>3、修改網卡設定檔</p>###### 原本網卡設定檔名稱為 ifcfg-ens33,這裡需要修改為 ethx 的格式,並適當調整網路卡設定檔。 ###<pre class="brush:php;toolbar:false">mv /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-eth0
# 修改ifcfg-eth0文件如下内容(其它内容不变)
NAME=eth0
DEVICE=eth0</pre>######<pre class="brush:js;toolbar:false">[root@localhost ~]# systemctl restart network.service # 重启网络服务</pre>#####注意:ifcfg-ens33 檔案最好刪除掉,否則重新啟動network 服務時候會報錯######<pre class="brush:js;toolbar:false">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`</pre>###/etc/sysconfig/ network # 包含主機基本網路訊息,用於系統啟動/etc/sysconfig/network-script/ # 此目錄下是系統啟動最初始化網路的資訊/etc/sysconfig/network-script/ifcfg-em1 # 網路設定訊息,每個人的設定名稱不一樣透過命令查看/etc/xinetd.conf 定義了由超級進程XINETD啟動的網路服務/etc/protocols # 設定了主機使用的協定以及各個協定的協定號碼/etc/services # 設定了主機的不同連接埠的網路服務#########六、檢視虛擬化有沒有開啟#########Ctrl alt delete###<p><img src="https://img.php.cn/upload/article/000/887/227/168520296834339.jpg" alt="linux中網路卡指的是什麼"></p>
<p><strong>七、基礎指令</strong></p>
<p> 檢視網卡型號:<code>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中網路卡指的是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!