在Linux系统中新增网卡后,需完成硬件识别、驱动加载、网络配置及服务验证等步骤,具体操作如下:
硬件识别与驱动加载
-
确认网卡识别情况
物理安装网卡后,通过以下命令检查系统是否识别到新网卡:- 使用
lspci | grep Ethernet
(PCI网卡)或lsusb | grep "Network"
(USB网卡)查看网卡型号,确认硬件被检测到。 - 若网卡未显示,检查物理接触是否良好或BIOS中是否启用PCIe插槽。
- 使用
-
加载驱动程序
Linux内核通常已包含常见网卡驱动(如Intel、Realtek),可通过以下方式加载:- 查看网卡对应的驱动模块:
ethtool -i <网卡名>
(网卡名通过ip a
查看,如ens33
)。 - 手动加载驱动:
sudo modprobe <驱动模块名>
(如modprobe e1000e
)。 - 若驱动未安装,需根据网卡型号下载对应驱动源码编译安装,或使用包管理器安装(如CentOS:
sudo yum install kmod-<驱动名>
;Ubuntu:sudo apt install linux-headers-$(uname -r) && sudo apt install <驱动包名>
)。
- 查看网卡对应的驱动模块:
网卡配置文件编辑
根据Linux发行版不同,网卡配置文件位置和格式有所差异,需静态或动态配置IP地址:
CentOS/RHEL系统(使用NetworkScripts)
配置文件位于 /etc/sysconfig/network-scripts/
,命名规则为 ifcfg-<网卡名>
如下:
TYPE=Ethernet DEVICE=ens33 BOOTPROTO=static # 静态IP,若用DHCP则改为dhcp IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 ONBOOT=yes # 开机自启动
Ubuntu/Debian系统(使用Netplan)
配置文件位于 /etc/netplan/
(如 01-network-manager-all.yaml
),示例内容如下:
network: version: 2 ethernets: ens33: dhcp4: no # 静态IP,若用DHCP则改为yes addresses: [192.168.1.100/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 114.114.114.114]
配置参数说明(表格)
参数 | 说明 | 适用系统 |
---|---|---|
DEVICE/ens33 | 网卡设备名 | 所有系统 |
BOOTPROTO/dhcp4 | IP获取方式(static/dhcp) | CentOS/Ubuntu |
IPADDR/addresses | IP地址(Ubuntu为CIDR格式) | CentOS/Ubuntu |
NETMASK | 子网掩码(Ubuntu省略,含于addresses) | CentOS |
GATEWAY/gateway4 | 默认网关 | CentOS/Ubuntu |
DNS1/nameservers | DNS服务器 | CentOS/Ubuntu |
ONBOOT | 开机是否启动网卡(yes/no) | CentOS |
网络服务重启与验证
-
重启网络服务
- CentOS/RHEL:
sudo systemctl restart network
- Ubuntu/Debian:
sudo netplan apply
(若Netplan未生效,可尝试sudo systemctl restart systemd-networkd
)
- CentOS/RHEL:
-
验证配置
- 查看网卡状态:
ip a | <网卡名>
,确认IP地址已配置。 - 测试网络连通性:
ping 192.168.1.1
(网关)或ping 8.8.8.8
(外网)。 - 若无法通信,检查防火墙设置(
sudo firewall-cmd --list-all
)或DNS配置(cat /etc/resolv.conf
)。
- 查看网卡状态:
常见问题处理
若新增网卡后无法使用,常见排查步骤:
- 检查驱动是否加载:
lsmod | grep <驱动名>
,未加载则重新安装驱动。 - 确认配置文件语法正确:CentOS可用
sudo ifdown ens33 && sudo ifup ens33
测试;Ubuntu用sudo netplan --debug apply
查看错误。
相关问答FAQs
Q1:新增网卡后无法获取IP地址,如何排查?
A:首先检查网卡是否启用(ip a
查看是否有UP状态);若为静态IP,确认配置文件中的IP、网关、DNS是否正确;若为DHCP,检查DHCP服务器是否正常,或尝试手动释放/获取IP(CentOS:sudo dhclient ens33
;Ubuntu:sudo dhclient ens33
)。
Q2:如何将新增网卡与现有网卡绑定以实现负载均衡?
A:Linux可通过 bonding 技术实现多网卡绑定,步骤如下:
- 安装工具:
sudo yum install -y bonding
(CentOS)或sudo apt install -y ifenslave
(Ubuntu)。 - 编辑
/etc/modprobe.d/bonding.conf
,添加options bonding mode=0 miimon=100
(mode=0为负载均衡,miimon为链路检测间隔)。 - 配置主网卡(如ens33)为bond0 slave,修改其配置文件:
MASTER=bond0, SLAVE=yes
。 - 创建bond0配置文件,设置IP地址,重启网络服务即可。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/14917.html