|  | 
 
| 
在服务器运维过程中,常常会遇到网卡损坏、网络性能不足、虚拟机迁移或硬件调整等情况,需要对 Linux 系统的网卡进行更换或重新配置。本文将详细介绍如何在 Linux 系统中安全、有效地更换网卡。
×
这里或许是互联网从业者的最后一片净土,随客社区期待您的加入!您需要 登录 才可以下载或查看,没有账号?立即注册  一、前置准备
 在更换网卡之前,建议先做好以下准备:
 确认当前网络信息
 或者:
 记录旧网卡的名称(如 eth0、ens33)以及其 IP 地址、网关、DNS 等配置。
 备份网络配置文件
 例如在 CentOS/RHEL 系列系统中:
 
 在 Ubuntu/Debian 系列系统中:复制代码cp /etc/sysconfig/network-scripts/ifcfg-eth0 /root/ifcfg-eth0.bak
 确认新网卡已识别复制代码cp /etc/netplan/*.yaml /root/netplan_backup.yaml
插入新网卡后执行:
 或:
 确保系统已检测到新网卡。
 二、查看当前网卡信息
 可使用以下命令查看网卡设备名称与状态:
 输出示例:
 
 其中:1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 ...2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 ...
 3: ens37: <BROADCAST,MULTICAST> mtu 1500 ...
三、更换网卡名称与配置
 1. 确认系统网卡命名规则
 有的系统启用了 “可预测的网卡命名”,导致网卡名不是传统的 eth0,而是 ens33、enp0s3 之类。
 要关闭该规则,让网卡恢复为 eth0 格式:
 找到这一行:
 修改为:
 
 保存后执行:复制代码GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
 系统重启后网卡名称将变回传统格式。复制代码grub2-mkconfig -o /boot/grub2/grub.cfg
2. 修改网络配置文件
 CentOS/RHEL 系列
 进入网络配置目录:
 
 复制旧配置并改名为新网卡名:复制代码cd /etc/sysconfig/network-scripts/
 编辑新文件:复制代码cp ifcfg-ens33 ifcfg-ens37
修改以下内容:
 
 删除旧网卡配置文件(如不再使用):DEVICE=ens37NAME=ens37
 ONBOOT=yes
 BOOTPROTO=static
 IPADDR=192.168.1.100
 NETMASK=255.255.255.0
 GATEWAY=192.168.1.1
 DNS1=8.8.8.8
重启网络:
 
 Ubuntu/Debian 系列(使用 Netplan)复制代码systemctl restart network
编辑配置文件:
 
 示例:复制代码sudo vi /etc/netplan/01-netcfg.yaml
 应用配置:network:version: 2
 ethernets:
 ens37:
 dhcp4: no
 addresses:
 - 192.168.1.100/24
 gateway4: 192.168.1.1
 nameservers:
 addresses: [8.8.8.8, 1.1.1.1]
四、验证网络连通性
 执行以下命令验证网络是否正常:
 查看默认网关:
 查看DNS解析是否正常:
 五、可能出现的问题及解决方案
 
 六、总结| 问题 | 原因 | 解决方案 |  | 无法上网 | 网卡未启用或未分配IP | ip link set ens37 up 或检查配置文件 |  | network.service 启动失败 | 配置文件语法错误 | 检查 /etc/sysconfig/network-scripts/ifcfg-* |  | DNS 无法解析 | 未配置 DNS1 或 resolv.conf 被覆盖 | 手动添加 nameserver 到 /etc/resolv.conf |  | IP 冲突 | 新旧网卡同时启用 | 禁用旧网卡或移除旧配置 | 
 更换网卡在 Linux 系统中并不复杂,关键步骤包括:
 
 通过以上步骤,无论是物理服务器、虚拟机还是云主机,都可以安全地完成网卡替换,确保网络正常运行。记录旧网卡配置;确认新网卡设备;修改网络配置文件;启用并验证网络。
 
 | 
 |