Linux IP 配置的核心结论:无论使用何种 Linux 发行版,IP 配置的本质都是“临时生效”与“永久持久化”两条路径的组合,临时配置用于快速验证网络,重启即失效;永久配置需要写入特定网络配置文件或使用 NetworkManager 等工具固化,掌握这两条路径,即可应对从桌面到服务器的所有 IP 配置场景。
先分清临时配置与永久配置
临时配置:使用 ip 命令或 ifconfig 命令立即修改当前内核网络参数,不写入任何文件,重启网络服务或系统后恢复原状,适合调试、测试或临时调整。
永久配置:需要修改发行版对应的配置文件(如 /etc/network/interfaces、/etc/sysconfig/network-scripts/ifcfg-)或使用 NetworkManager 的 nmcli 工具,将设置固化,使系统每次启动时自动应用。
专业建议:生产环境永远使用永久配置,并配合配置文件版本管理,临时命令只用于应急排障,避免因忘记回滚导致网络配置漂移。
临时配置 IP 的两种命令
使用 ip 命令(现代标准)
# 为 eth0 配置静态 IP,掩码 24 位 sudo ip addr add 192.168.1.100/24 dev eth0 # 删除 IP sudo ip addr del 192.168.1.100/24 dev eth0 # 启用网卡 sudo ip link set eth0 up
使用 ifconfig 命令(老牌工具)
sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0 up
注意:ifconfig 已逐渐被淘汰,部分新版系统未预装,建议优先使用 ip 命令,临时配置不写路由,如需添加默认网关,需要额外执行:
sudo ip route add default via 192.168.1.1
永久配置 IP:按发行版分类详解
Debian / Ubuntu 系列
从 Ubuntu 18.04 开始,默认使用 Netplan,而传统方式仍兼容

/etc/network/interfaces,建议按系统版本选择。
传统方式(适用于 Debian 全系及 Ubuntu 旧版):
sudo vim /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 8.8.8.8 114.114.114.114
保存后执行 sudo systemctl restart networking 或重启系统。
Netplan 方式(Ubuntu 18.04+):
sudo vim /etc/netplan/01-netcfg.yaml
示例:
network:
version: 2
ethernets:
eth0:
dhcp4: no
addresses:
- 192.168.1.100/24
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 114.114.114.114]
应用配置:
sudo netplan apply
重点:Netplan 使用 YAML 语法,注意缩进,配置错误会导致网络不可用,建议修改后先执行 sudo netplan try 验证,超时自动回滚,避免锁死远程会话。
RHEL / CentOS / Rocky Linux 系列
使用 nmcli 或直接编辑 ifcfg 文件,推荐 nmcli,因为它是 NetworkManager 的标准命令行工具,支持动态应用。
使用 nmcli 配置静态 IP:
# 为 eth0 配置静态 IP sudo nmcli con mod eth0 ipv4.addresses 192.168.1.100/24 sudo nmcli con mod eth0 ipv4.gateway 192.168.1.1 sudo nmcli con mod eth0 ipv4.dns "8.8.8.8 114.114.114.114" sudo nmcli con mod eth0 ipv4.method manual # 重新激活连接 sudo nmcli con up eth0
编辑 ifcfg 文件方式:
sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0
示例:
TYPE=Ethernet BOOTPROTO=none NAME=eth0 DEVICE=eth0 ONBOOT=yes IPADDR=192.168.1.100 PREFIX=24 GATEWAY=192.168.1.1 DNS1=8.8.8.8 DNS2=114.114.114.114
重启网络:sudo systemctl restart network 或 nmcli con reload。
通用方法:直接使用 nmcli 设置 DHCP
如果需要从 DHCP 获取 IP,只需将 ipv4.method 改为 auto:
sudo nmcli con mod eth0 ipv4.method auto sudo nmcli con up eth0
常见问题与专业解决方案
配置后 IP 不生效
- 检查网卡是否被 NetworkManager 或 systemd-networkd 管理,冲突时优先使用系统默认的网络管理工具。
- 执行
ip addr show查看网卡状态,确认是否处于 UP 状态。 - 检查
/etc/resolv.conf是否正确写入 DNS,若被覆盖,可能是 systemd-resolved 或 dhclient 干预。
多网卡网关优先级冲突
当系统存在多个网卡时,默认路由可能被错误指向,使用 ip route show 查看路由表,通过 ip route del default 删除多余网关,再手动添加唯一默认路由。
酷番云经验案例
酷番云提供的 Linux 云服务器默认使用 DHCP 获取内网 IP,但当用户需要绑定多个辅助 IP 或搭建高可用集群时,必须改为静态配置。我们的最佳实践是:
- 在控制台获取云服务器的主私网 IP 和子网掩码(通常为 255.255.255.0)。
- 在系统内使用
nmcli或网卡配置文件,将IPADDR设置为主私网 IP,不要随意修改,否则会丢失原有外网访问。 - 对于辅助 IP,直接在
ip addr add中添加,并写入网卡配置文件的IPADDR2、IPADDR3字段,实现永久生效。 - 配置完成后,使用另一台机器测试连通性,避免因误操作导致远程连接断开,如果断开,可通过酷番云 VNC 登录控制台修复。
曾有一位客户在 CentOS 7 上手动配置了错误的 GATEWAY

指向内网其他主机,导致所有外网流量被黑洞,通过 VNC 进入后,我们删除了错误网关,并将 GATEWAY 改回控制台显示的默认网关,最终恢复。关键教训:云服务器与物理机不同,网关地址必须严格参考云平台控制台,禁止自行猜测。
相关问答
问题 1:为什么我配置的静态 IP 重启后丢失?
解答:这类情况几乎可以确定你只使用了 ip addr add 等临时命令,没有写入配置文件,永久配置必须根据你的发行版选择正确方法:Debian 系写入 /etc/network/interfaces 或 Netplan 的 YAML;RHEL 系写入 ifcfg 文件或使用 nmcli con mod 修改连接配置,同时检查网卡是否设为 ONBOOT=yes(RHEL)或 auto(Debian),否则重启后网卡不会自动加载配置。
问题 2:配置静态 IP 后无法访问外网,但内网正常,可能是什么原因?
解答:优先检查两个核心点:默认网关 和 DNS,执行 ip route show default 确认网关存在且指向正确的路由器或云平台默认网关,如果网关缺失,添加 route add default gw 你的网关地址;如果是 DNS 问题,编辑 /etc/resolv.conf 写入可用的 DNS 服务器,并确保配置文件中的 DNS 设置已生效,查看防火墙规则,iptables -L 确认是否拦截了出站流量,但通常无法访问外网时,网关错误占九成以上。
结语与互动
Linux IP 配置本身不复杂,核心在于理解“临时与永久”的差异,以及你所使用的发行版的配置体系,建议先从 ip 命令开始实践,再逐步掌握各自的配置文件,如果你在配置过程中遇到任何奇怪的问题,欢迎在评论区描述你的系统版本、网卡名称和报错信息,我会尽快帮你分析,希望这篇文章能帮你彻底搞定 IP 配置,从此不再被网络问题绊住手脚。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/744913.html

