首頁  >  文章  >  linux中網路卡是什麼東西

linux中網路卡是什麼東西

青灯夜游
青灯夜游原創
2023-03-02 18:55:312762瀏覽

網卡是一塊用來允許電腦在電腦網路上進行通訊的電腦硬件,它使得使用者可以透過電纜或無線相互連接。在linux作業系統中,網卡設備的傳統命名方式是eth0、eth1、eth2等,查看網卡型號的語法「lspci | grep -i ether」、網卡資源使用情況的語法「sar -n DEV」、網卡是否支援多隊列的語法「lspci -vvv | grep -i msi-x」。

linux中網路卡是什麼東西

本教學操作環境:CentOS7系統、Dell G3電腦。

網卡是什麼東西


網卡是一塊被設計用來允許電腦在電腦網路上進行通訊的電腦硬體。由於其擁有MAC位址,因此屬於OSI模型的第1層和2層之間。它使得用戶可以透過電纜或無線相互連接。

每個網路卡都有一個被稱為MAC位址的獨一無二的48位元串列號,它被寫在卡片上的一塊ROM中。網路上的每一個電腦都必須擁有一個獨一無二的MAC位址。

linux中關於網卡的基本知識總結


#一、網卡概述

Linux 作業系統的網路卡裝置的傳統命名方式是eth0、eth1、eth2等,而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           on-board device index number

  • #sx             MAC address
  • ps< > ;s      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

linux中網路卡是什麼東西

七、基础命令

查看网卡型号: 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中網路卡是什麼東西

相关推荐:《Linux视频教程

以上是linux中網路卡是什麼東西的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn