Linux系统修改IP地址的实用方法详解及常用数量梳理
本文聚焦Linux系统修改IP地址的核心需求,整合梳理适配不同场景的实用主流方法,临时场景下,可通过更现代的ip addr或传统ifconfig命令快速配置,仅当前会话生效,重启失效,适配快速排障测试,永久生效需区分发行版:CentOS/RHEL7+/Rocky等可用NetworkManager配套的nmcli命令、nmtui图形化命令,或直接编辑网卡配置文件;Debian/Ubuntu推荐netplan,也可用interfaces文件,全文覆盖操作核心,实用性突出。
在使用Linux系统(无论是服务器还是桌面版)时,修改IP地址是常见的运维操作——无论是为了适配网络环境、还是解决连通性问题,掌握不同场景下的修改方法都很有必要,本文将介绍临时修改、永久修改、命令行工具(nmcli)和文本图形化工具(nmtui)四种常用方法,覆盖主流发行版(如CentOS/RHEL、Ubuntu/Debian)的操作差异。
临时修改IP地址(重启后失效)
临时修改适合测试网络环境或临时调整,系统重启后配置会自动恢复,目前Linux主流使用iproute2工具包中的ip命令(替代旧版的ifconfig),以下是具体步骤:
查看网卡名称
首先确认要修改的网卡名称,执行:
ip addr
输出中会列出所有网卡,常见名称如eth0、ens33、enp0s3等(比如下图中的ens33)。
临时设置IP地址
使用ip addr add命令添加IP,语法为:
sudo ip addr add <IP地址/子网掩码> dev <网卡名称>
给ens33网卡设置临时IP为168.1.100,子网掩码255.255.0(即/24):
sudo ip addr add 192.168.1.100/24 dev ens33
临时设置网关(可选)
如果需要访问外网,还需添加临时网关:
sudo ip route add default via <网关地址> dev <网卡名称>
sudo ip route add default via 192.168.1.1 dev ens33
验证配置
执行ip addr和ping 网关地址检查是否生效。
永久修改IP地址(配置文件方式)
永久修改需要编辑系统网络配置文件,不同Linux发行版的配置文件路径不同,以下分主流版本说明:
CentOS/RHEL 7及以上(基于NetworkScripts)
配置文件位于/etc/sysconfig/network-scripts/目录下,文件名格式为ifcfg-<网卡名称>。
步骤:
-
备份原配置文件(防止出错):
sudo cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33.bak
-
编辑配置文件: 用
vi或nano打开文件:sudo nano /etc/sysconfig/network-scripts/ifcfg-ens33
-
修改关键参数,将
BOOTPROTO改为static(静态IP),并添加/修改以下内容:TYPE=Ethernet BOOTPROTO=static # 改为static,若原本是dhcp则禁用动态获取 NAME=ens33 DEVICE=ens33 ONBOOT=yes # 开机自动启用网卡 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 # 备用DNS
-
重启网络服务使配置生效:
# CentOS/RHEL 7及以上 sudo systemctl restart network # 或(若使用NetworkManager) sudo nmcli connection reload
Ubuntu/Debian(新版本用Netplan,旧版本用Interfaces)
(1)Ubuntu 18.04及以上(Netplan方式)
配置文件位于/etc/netplan/目录下,通常是01-netcfg.yaml或50-cloud-init.yaml(文件名可能不同)。
步骤:
-
备份原配置:
sudo cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.bak
-
编辑YAML文件(注意YAML严格缩进,用空格不用Tab):
sudo nano /etc/netplan/01-netcfg.yaml
-
修改为静态IP配置:
network: version: 2 renderer: networkd # 服务器版用networkd,桌面版可设为NetworkManager ethernets: ens33: # 你的网卡名称 addresses: [192.168.1.100/24] # IP地址/子网掩码 gateway4: 192.168.1.1 # 网关(Ubuntu 22.04+用gateway) nameservers: addresses: [8.8.8.8, 114.114.114.114] # DNS -
应用配置:
sudo netplan apply
(2)Ubuntu 16.04及以下/Debian旧版(Interfaces方式)
配置文件为/etc/network/interfaces。
步骤:
-
编辑文件:
sudo nano /etc/network/interfaces
-
修改网卡配置:
# 动态IP(dhcp)的配置通常是: # auto ens33 # iface ens33 inet dhcp # 改为静态IP: auto ens33 iface ens33 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 8.8.8.8 114.114.114.114
-
重启网络服务:
sudo systemctl restart networking
使用nmcli命令修改(NetworkManager命令行)
nmcli是NetworkManager的命令行工具,适合安装了NetworkManager的系统(如Ubuntu桌面版、CentOS桌面版),操作高效且不易出错。
步骤:
-
查看现有网络连接:
nmcli connection show
输出中
NAME列是连接名(比如Wired connection 1或网卡名)。 -
修改IPv4配置为静态: 假设连接名为
ens33,执行:# 设置IP地址、子网掩码 sudo nmcli connection modify ens33 ipv4.addresses 192.168.1.100/24 # 设置网关 sudo nmcli connection modify ens33 ipv4.gateway 192.168.1.1 # 设置DNS sudo nmcli connection modify ens33 ipv4.dns "8.8.8.8,114.114.114.114" # 设置为静态IP(禁用dhcp) sudo nmcli connection modify ens33 ipv4.method manual
-
重启连接使配置生效:
sudo nmcli connection up ens33
使用nmtui文本图形化工具(新手友好)
nmtui是NetworkManager提供的基于文本的图形界面工具,无需记忆命令,适合新手操作。
步骤:
-
启动nmtui:
sudo nmtui
-
选择“编辑连接”: 用方向键选择
Edit a connection,按回车。 -
选择要修改的网卡: 选中目标网卡(如
ens33),按回车进入编辑界面。 -
配置静态IP:
- 将
IPv4 CONFIGURATION从Automatic改为Manual; - 点击
Add添加IP地址(如168.1.100/24)、网关、DNS; - 勾选
Automatically connect(开机自动连接)。
- 将
-
保存并退出: 选择
OK保存,返回主界面后选择Quit退出。 -
重启连接:
sudo nmcli connection up ens33
常见注意事项
- 备份配置文件:修改前务必备份,避免配置错误导致网络无法连接。
- 确认网卡名称:不同系统网卡名可能不同(如
eth0、ens33),用ip addr确认。 - 检查网络连通性:修改后用
ping 网关地址或ping 8.8.8.8验证。 - 发行版差异:注意CentOS和Ubuntu的配置文件不同,不要混用。
- 防火墙规则:若修改IP后服务无法访问,检查防火墙是否允许新IP的流量。
- 临时测试:用
ip addr add命令,重启失效; - 服务器永久修改:优先用配置文件方式(CentOS用NetworkScripts,Ubuntu用Netplan);
- 桌面版/新手:用
nmtui图形化工具或nmcli命令,操作更直观。
根据你的系统版本和使用场景选择合适的方法,就能轻松完成Linux IP地址的修改啦!

