|
|
这里或许是互联网从业者的最后一片净土,随客社区期待您的加入!
您需要 登录 才可以下载或查看,没有账号?立即注册
×
在服务器运维过程中,常常会遇到网卡损坏、网络性能不足、虚拟机迁移或硬件调整等情况,需要对 Linux 系统的网卡进行更换或重新配置。本文将详细介绍如何在 Linux 系统中安全、有效地更换网卡。
一、前置准备
在更换网卡之前,建议先做好以下准备:
确认当前网络信息
或者:
记录旧网卡的名称(如 eth0、ens33)以及其 IP 地址、网关、DNS 等配置。
备份网络配置文件
例如在 CentOS/RHEL 系列系统中:
- cp /etc/sysconfig/network-scripts/ifcfg-eth0 /root/ifcfg-eth0.bak
复制代码 在 Ubuntu/Debian 系列系统中:
- 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=ens37
NAME=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 删除旧网卡配置文件(如不再使用):
重启网络:
- systemctl restart network
复制代码 Ubuntu/Debian 系列(使用 Netplan)
编辑配置文件:
- 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 系统中并不复杂,关键步骤包括:
- 记录旧网卡配置;
- 确认新网卡设备;
- 修改网络配置文件;
- 启用并验证网络。
通过以上步骤,无论是物理服务器、虚拟机还是云主机,都可以安全地完成网卡替换,确保网络正常运行。
|
|