在Linux系统中配置IP地址,核心思路是区分临时生效和永久生效:临时修改用ip addr add或ifconfig命令,重启即失效;永久配置则需编辑网卡配置文件或使用nmcli等网络管理工具,本文按操作场景拆解所有主流方法,帮你一次性理清每种命令的适用环境。
先分清临时修改和永久修改,再选命令
业内专家指出,多数Linux新手配置IP失败,根源在于没搞清“这次修改要不要重启后还在”,Linux网络配置有两个层面:
- 运行时配置:直接影响当前内核网络栈,重启网络服务或系统后丢失。
- 持久化配置:写入配置文件,由网络管理器在开机时加载。
判断标准很简单:如果你只是临时调试、测试网络连通性,用ip命令就够了;如果是服务器固定IP、生产环境部署,必须改配置文件。
linux配置ip地址命令:临时生效的两种主流方式
使用ip addr命令(推荐)
ip命令是现代Linux系统的标准网络工具,几乎所有发行版都预装,操作逻辑如下:
# 查看当前网卡名称和IP状态 ip addr show # 给eth0网卡添加一个临时IP(/24代表255.255.255.0) sudo ip addr add 192.168.1.100/24 dev eth0 # 删除临时IP sudo ip addr del 192.168.1.100/24 dev eth0
验证方式:执行ip addr show eth0,看到inet 192.168.1.100/24字样即成功。
使用ifconfig命令(旧系统兼容)
老牌命令,部分最小化安装的系统需要先装net-tools包才能用:
# 安装net-tools(Debian/Ubuntu系) sudo apt install net-tools # 配置IP sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0 up # 添加默认网关 sudo route add default gw 192.168.1.1
注意:ifconfig在较新的CentOS/RHEL 8+、Ubuntu 22.04+版本中已默认不安装,建议优先掌握ip命令。
ifconfig和ip addr区别:选哪个更省事

很多人在网上搜“ifconfig和ip addr区别”,核心差异体现在三方面:
| 对比维度 | ip addr | ifconfig |
|---|---|---|
| 所属工具包 | iproute2(系统默认) | net-tools(需额外安装) |
| 输出可读性 | 更结构化,支持批量筛选 | 偏传统,内容简洁 |
| 功能范围 | 同时管理路由、邻居缓存、链路状态 | 仅限网卡基本配置 |
| 长期维护 | 持续更新,原生支持IPv6 | 已停止大版本更新 |
实操建议:新服务器一律用ip命令,老脚本或维护旧版本Linux系统时才需要兼容ifconfig。
linux配置静态ip地址命令:三个主流发行版实操
CentOS / RHEL 9+ 用nmcli搞定一切
从CentOS 8开始,NetworkManager是默认网络管理框架。nmcli是命令行下最稳定的配置方式,比手改配置文件更不易出错:
# 查看网卡连接名称(通常叫eth0或ens33) nmcli connection show # 修改为静态IP(假设连接名为eth0) sudo nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns "223.5.5.5 8.8.8.8" # 使配置生效 sudo nmcli connection up eth0
关键点:执行完up命令后,用ip addr验证。
Ubuntu / Debian 用netplan(新版本)或interfaces文件
Ubuntu 18.04之后默认使用netplan,配置文件在/etc/netplan/.yaml,操作步骤:
# 编辑配置文件(文件名一般为00-installer-config.yaml) sudo vim /etc/netplan/00-installer-config.yaml
network:
version: 2
ethernets:
eth0:
dhcp4: no
addresses:
- 192.168.1.100/24
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses: [223.5.5.5, 8.8.8.8]

然后应用配置:
sudo netplan apply
报错排查:netplan try可以在超时后自动回滚,避免因配置错误导致断网。
对于Ubuntu 16.04及更早版本,还是用/etc/network/interfaces:
auto eth0 iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 223.5.5.5
修改后执行sudo systemctl restart networking生效。
通用方法:直接改网卡配置文件(适合无NetworkManager环境)
适用于CentOS 7、以及各种精简版Linux,编辑/etc/sysconfig/network-scripts/ifcfg-eth0:
TYPE=Ethernet BOOTPROTO=none DEFROUTE=yes NAME=eth0 DEVICE=eth0 ONBOOT=yes IPADDR=192.168.1.100 PREFIX=24 GATEWAY=192.168.1.1 DNS1=223.5.5.5 DNS2=8.8.8.8
重启网络服务:
sudo systemctl restart network
linux虚拟机配置ip地址命令:NAT和桥接场景有别
在VMware或VirtualBox里配IP,很多朋友卡在“配完宿主机不通”,这里按场景给出速查方法。
NAT模式下如何配
NAT模式要求虚拟机IP与宿主机VMnet8网卡在同一网段,查看宿主机VMnet8 IP后,用nmcli或配置文件将虚拟机IP设为同网段地址即可。关键点是网关必须指向VMnet8的IP,而不是物理路由器的192.168.x.1。
桥接模式下如何配
桥接模式下,虚拟机相当于局域网中的独立设备。配置方法与物理机完全一样,但要注意:网卡名称可能是ens33、enp0s3,先用ip addr确认,别惯性写成eth0。
一键重置网卡配置
虚拟机配置混乱时,用DHCP快速恢复网络:
# 临时获取IP sudo dhclient eth0 # 或重置为自动获取(nmcli) sudo nmcli connection modify eth0 ipv4.method auto sudo nmcli connection up eth0

linux修改ip地址命令的坑:网关和DNS别忘记
配置IP远不止填个地址,常见问题集中在三处:
- 网关漏配:能Ping通同网段,但上不了外网,手动指定网关即可。
- DNS缺失:能Ping通IP,但解析不了域名,检查
/etc/resolv.conf,或用nmcli的ipv4.dns参数补齐。 - 网卡未激活:ONBOOT未设置为
yes,重启后配置不生效。
验证完整性的三步检查法:
# 1. 看IP是否生效 ip addr show # 2. 看网关是否可达 ping -c 3 192.168.1.1 # 3. 看DNS能否解析 nslookup baidu.com
linux配置ip地址命令常见问题解答
修改IP后重启系统,配置就丢了怎么办?
这属于典型的“用了临时配置,却想永久生效”的误操作,执行过ip addr add或ifconfig后,配置仅存在于内存中,要永久保存,需使用nmcli connection modify修改网络连接配置,或直接编辑/etc/sysconfig/network-scripts/ifcfg-eth0、/etc/netplan/.yaml等配置文件,修改后重启网络服务或整机验证一次,确保配置自动加载。
手头没有图形界面,如何快速确认当前网卡名称?
执行ip addr或ls /sys/class/net,输出中冒号前的字符串如eth0、ens33、enp0s3就是网卡名,注意不带lo这个回环接口即可,多数云服务器网卡名为eth0,虚拟机常用ens33。
误删了有效IP,导致断网怎么办?
如果执行了ip addr del误删IP,且原IP是静态配置,先尝试sudo dhclient获取动态地址救急,或重启网络服务sudo systemctl restart network让配置重新加载,若系统原本就是静态IP且配置文件正确,重启网络服务后配置会自动恢复;若配置文件本身也被改错,建议进入单用户模式或通过控制台重置回默认配置,再重新设置IP。
