在Linux系统中,修改网卡IP地址是日常运维和网络配置中的常见操作,无论是临时调整网络连接还是为服务器设置固定IP,都需要掌握正确的方法,本文将详细介绍Linux下修改网卡IP地址的多种方式,包括临时修改和永久修改,并针对不同发行版提供具体操作步骤。
步骤1:确认网卡名称
在修改IP地址前,首先需要确认目标网卡的名称,Linux系统中网卡名称可能因发行版或内核版本不同而有所差异(如eth0、ens33、enp0s3等),通过以下命令可查看当前系统中的网卡及其IP配置:
- 使用
ip a
命令(推荐,现代Linux发行版默认支持):ip a
输出结果中会显示所有网卡信息,找到需要修改IP的网卡(如“2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP>”中的ens33)。
- 或使用
ifconfig
命令(传统工具,需安装net-tools包):ifconfig
步骤2:临时修改IP地址(重启后失效)
临时修改IP适用于临时测试或场景,无需修改配置文件,重启网络服务或系统后IP将恢复原样。
方法1:使用ifconfig命令(需安装net-tools)
# 为网卡ens33设置IP地址192.168.1.100,子网掩码255.255.255.0 sudo ifconfig ens33 192.168.1.100 netmask 255.255.255.0
方法2:使用ip命令(推荐,现代系统默认支持)
# 为网卡ens33添加IP地址192.168.1.100,子网掩码用CIDR格式表示(24位掩码相当于255.255.255.0) sudo ip addr add 192.168.1.100/24 dev ens33
注意:临时修改后,若需立即生效,可使用sudo ip link set ens33 up
激活网卡(若网卡已激活则无需操作)。
步骤3:永久修改IP地址(重启后保留)
永久修改需要编辑网卡的配置文件,不同Linux发行版的配置文件路径和格式不同,需根据系统类型选择对应方法。
方法1:CentOS/RHEL系列(使用ifcfg配置文件)
以CentOS 7/8为例,网卡的配置文件位于/etc/sysconfig/network-scripts/
下,文件名格式为ifcfg-网卡名
(如ifcfg-ens33
)。
- 编辑配置文件:
sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33
- 修改或添加以下参数(以静态IP为例):
TYPE=Ethernet # 网卡类型 BOOTPROTO=static # 启动协议,static为静态IP,dhcp为动态IP IPADDR=192.168.1.100 # 设置的IP地址 NETMASK=255.255.255.0 # 子网掩码 GATEWAY=192.168.1.1 # 网关地址 DNS1=8.8.8.8 # DNS服务器 DNS2=114.114.114.114 ONBOOT=yes # 是否开机自启
- 保存文件后,重启网络服务使配置生效:
sudo systemctl restart network
方法2:Ubuntu/Debian系列(使用netplan配置文件)
Ubuntu 18.04及后续版本默认使用netplan管理网络,配置文件位于/etc/netplan/
下(如01-network-manager-all.yaml
)。
- 编辑配置文件:
sudo vim /etc/netplan/01-network-manager-all.yaml
- 修改配置内容(以静态IP为例):
network: version: 2 ethernets: ens33: # 网卡名 dhcp4: no # 禁用DHCP addresses: [192.168.1.100/24] # IP地址及子网掩码(CIDR格式) gateway4: 192.168.1.1 # 网关地址 nameservers: addresses: [8.8.8.8, 114.114.114.114] # DNS服务器
- 应用配置使生效:
sudo netplan apply
方法3:使用NetworkManager工具(通用方法)
对于支持NetworkManager的系统(如Ubuntu、CentOS 7+),可通过nmcli
命令行工具修改IP,无需直接编辑配置文件。
- 查看当前网络连接名称:
nmcli con show
- 修改连接为静态IP并设置参数:
sudo nmcli con mod "连接名" ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8 114.114.114.114"
- 激活连接使配置生效:
sudo nmcli con up "连接名"
不同修改方法对比
方法 | 适用场景 | 永久性 | 示例命令 |
---|---|---|---|
ifconfig临时修改 | 快速测试、临时调整 | 否 | sudo ifconfig ens33 192.168.1.100 netmask 255.255.255.0 |
ip临时修改 | 现代系统临时调整 | 否 | sudo ip addr add 192.168.1.100/24 dev ens33 |
ifcfg文件(CentOS) | CentOS/RHEL永久修改 | 是 | 编辑/etc/sysconfig/network-scripts/ifcfg-ens33 |
netplan文件(Ubuntu) | Ubuntu/Debian永久修改 | 是 | 编辑/etc/netplan/01-network-manager-all.yaml |
nmcli命令 | 支持NetworkManager的系统 | 是 | sudo nmcli con mod "连接名" ipv4.addresses 192.168.1.100/24 |
相关问答FAQs
问题1:修改IP地址后无法上网,如何排查?
解答:可按以下步骤排查:
- 检查IP地址是否正确配置:使用
ip a | grep ens33
确认IP是否生效; - 检查网关是否设置正确:使用
ip route
查看默认路由,确认网关地址是否存在; - 检查DNS是否生效:使用
cat /etc/resolv.conf
查看DNS配置,尝试ping 8.8.8.8
测试网络连通性; - 重启网络服务:使用
sudo systemctl restart network
(CentOS)或sudo netplan apply
(Ubuntu)。
问题2:如何验证修改的IP地址是否永久生效?
解答:验证方法如下:
- 重启系统后查看IP:执行
sudo reboot
重启,登录后使用ip a | grep ens33
确认IP是否仍为设置的值; - 检查配置文件内容:对于CentOS,使用
cat /etc/sysconfig/network-scripts/ifcfg-ens33
查看IPADDR
参数;对于Ubuntu,使用cat /etc/netplan/01-network-manager-all.yaml
确认addresses
配置是否正确。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/24321.html