Ubuntu网卡驱动相关知识点

驱动安装

这里以安装万兆网卡X520驱动为例,具体步骤详见Ubuntu18.04中万兆网卡X520 DA2驱动安装

查看网卡信息

单纯查看网卡ip信息:

ifconfig
ifconfig -a
ip add
ip add|grep net

查看网卡生产厂家和型号信息:

# 查看基本信息:
lspci
# 查看详细信息:
lspci -vvv # 3个小写的v
# 查看网卡信息:
lspci | grep -i eth

查看系统驱动相关命令

lspci -vvv # 输出内容较多,不易找到想要信息
lsmod 或 lsmod|grep ixgbe # 这里使用的是ixgbe驱动
modinfo ixgbe # 驱动版本详细信息
ethtool -i ens4f0 # ens4f0是光口号,驱动版本简单信息
ethtool ens4f0 # 该光口网络速率、链接状态等信息

查看网络接口队列数

cat /proc/interrupts | grep eth0
ethtool -S eth0 # eth0网口

ethtool实用命令

ethtool -h # 能看到很多帮助信息
ethtool  -p eth0  # 测试网卡,网卡的双灯会一秒一闪。
ethtool ens4f1 # 检测有没有载波, Link detected: no则无载波,使用 ip addr 命令可以看到 qdisc mq state DOWN group,此时网卡也没有 --running的标志位

ip link 实用命令

sudo ip link ls <网卡名>  —查看网卡状态

sudo ip link set <网卡名> up  —启动网卡

sudo ip link set <网卡名> down  —关闭网卡

网卡配置文件

ubuntu网卡配置文件有两个,启动命令是有所不同的,这里建议使用方法一,两种方法介绍如下:

方法一:

# 配置文件
sudo vi /etc/network/interfaces
# 默认的文件内容如下:
auto lo
iface lo inet loopback
# 现在修改配置文件。修改方式有两种:静态ip和动态ip
# 静态ip,修改范例如下,其中enp0s3是网卡的名字:
auto enp0s3
iface enp0s3 inet static
address 192.168.0.1
netmask  255.255.255.0
gateway  192.168.0.1
# 动态ip,修改范例如下,其中enp0s3是网卡的名字:
auto enp0s3
iface enp0s3 inet dhcp

服务器网卡操作命令:

systemctl status networking
systemctl restart networking

方法二:

因为Ubuntu18.04采用的是netplan来管理network。cd /etc/netplan 系统里默认已经创建好一个yaml文件,如:50-cloud-init.yaml。

下面我们给ens33这个网卡创建一个静态ip,如下:

network:
    ethernets:
        ens33:
            addresses: [192.168.246.183/24]
            dhcp4: false
            gateway4: 192.168.246.254
            nameservers:
                addresses: [114.114.114.114,223.5.5.5]
    version: 2

说明??:这台测试机只有一张网卡~

最后使用sudo netplan apply来重启网络服务就可以了。使用ip a查看你的静态IP是否设置成功了!

修改DNS服务器地址

方法一:

通过/etc/network/interfaces,在它的最后增加一句下面的内容:下面的223.5.5.5是阿里的dns地址,可以自己选择适合的dns地址。

dns-nameservers 223.5.5.5

重启网卡后DNS就生效了,这时候再看/etc/resolv.conf,最下面就多了一行:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)

#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN

nameserver 223.5.5.5

方法二:

sudo vim /etc/systemd/resolved.conf

#修改如下内容:

[Resolve]

DNS=114.114.114.114
#保存退出后,执行:

systemctl restart systemd-resolved.service

网卡链路物理状态故障检测流程

如果我们发现如下网卡故障:

ip addr | grep stat # 可以看到链路的物理状态,可以看到状态down,有没有载波的显示

eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000

上面信息显示 eth0 网卡并没有载波,使用ifconfig eth0 也没有RUNNING这样的标志位~

排查步骤:

(1)先查看下服务器上网络接口是否正常,光模块的话看下模块插口是否有红色光点,电口的话看下指示灯是否正常;

(2)检查光纤线接口里是否有红色光点,交换机上各模块或接口是否松动,没有插牢固;

(3)ip link set eth0 up 尝试手动启动;

(4)检查Pcie卡是否有问题,主板是否正常等;

参考文件

Ubuntu网卡驱动相关知识点

上一篇:Ubuntu 20.04 安装ROS Noetic


下一篇:【原创】Linux虚拟化KVM-Qemu分析(四)之CPU虚拟化(2)