網卡是一塊用來允許電腦在電腦網路上進行通訊的電腦硬件,它使得使用者可以透過電纜或無線相互連接。在linux作業系統中,網卡設備的傳統命名方式是eth0、eth1、eth2等,查看網卡型號的語法「lspci | grep -i ether」、網卡資源使用情況的語法「sar -n DEV」、網卡是否支援多隊列的語法「lspci -vvv | grep -i msi-x」。
本教學操作環境:CentOS7系統、Dell G3電腦。
網卡是一塊被設計用來允許電腦在電腦網路上進行通訊的電腦硬體。由於其擁有MAC位址,因此屬於OSI模型的第1層和2層之間。它使得用戶可以透過電纜或無線相互連接。
每個網路卡都有一個被稱為MAC位址的獨一無二的48位元串列號,它被寫在卡片上的一塊ROM中。網路上的每一個電腦都必須擁有一個獨一無二的MAC位址。
#一、網卡概述
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 乙太網路Ethernetwl 無線區域網路WLANww 無線廣域網路WWAN
#2、第3個字元依照裝置類型選擇
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视频教程》
以上是linux中網路卡是什麼東西的詳細內容。更多資訊請關注PHP中文網其他相關文章!