不同系统下设置静态IP
2026/7/24 20:14:22 网站建设 项目流程

虽然所有 Linux 系统在底层的内核操作是相同的(临时配置都可以用ipifconfig),但让静态 IP 永久生效的配置文件格式、路径以及后台网络管理服务,在不同操作系统中截然不同

各大常见系统设置静态 IP 的机制对比与操作示例说明如下:

系统 / 发行版网络管理服务 (Backend)配置文件位置格式特点
嵌入式 Linux (Buildroot / BusyBox)ifupdowninit脚本/etc/network/interfaces/etc/init.d/S*极简文本 / Shell 脚本
Ubuntu 18.04+ / Debian 12+Netplan(systemd-networkd)/etc/netplan/*.yaml严格缩进的YAML格式
CentOS 7/8 / RHEL / FedoraNetworkManager(nmcli)/etc/NetworkManager/system-connections/INI 键值对或通过nmcli命令行配置
通用小型 Linux (Arch / Alpine)systemd-networkd/etc/systemd/network/*.network标准[Match][Network]段落
树莓派 (Raspberry Pi OS 早期)dhcpcd/etc/dhcpcd.conf配置文件末尾追加规则

主流系统的实际配置写法

1. Ubuntu 18.04 及以上(Netplan)

使用 YAML 缩进,不能使用 Tab 键,只能用空格

# /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

应用配置命令:sudo netplan apply

2. CentOS / RHEL / 企业级 Linux(NetworkManager / nmcli)

现代 RedHat 系推荐直接用命令行生成配置,不需要手动改文件:

# 1. 设置静态 IP 和网关 nmcli connection modify eth0 ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.method manual # 2. 重新加载并生效 nmcli connection up eth0

3. 通用 Linux(systemd-networkd)

许多轻量级服务器和现代嵌入式系统(如 Ubuntu Core、Yocto)喜欢用systemd原生网络管理:

# /etc/systemd/network/10-static-eth0.network [Match] Name=eth0 [Network] Address=192.168.1.100/24 Gateway=192.168.1.1 DNS=8.8.8.8

应用配置命令:systemctl restart systemd-networkd

4. 嵌入式 Linux(Buildroot / 经典 Debian)

结构非常直接:

# /etc/network/interfaces auto eth0 iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1

为什么会有这么多方式?

因为 Linux 本身只是一个内核,网络配置是由运行在内核之上的网络管理守护进程(Daemon)负责读写和维护的:

  1. 嵌入式系统(Buildroot/Yocto)追求体积小、启动快,所以用最简单的ifupdown或开机 Shell 脚本。

  2. 桌面/服务器系统(Ubuntu/RedHat)追求热插拔、Wi-Fi/有线自动切换,所以引入了强大的NetworkManagerNetplan

💡两条通用规则:

  1. 临时修改:在任何 Linux 下,运行ip addr add 192.168.1.100/24 dev eth0都通用(重启失效)。

  2. 永久修改:先用systemctl status或查看目录,确认当前系统到底是用NetplanNetworkManager还是interfaces在管网络,再修改对应的配置文件。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询