Linux服务器静态IP配置完整指南:从手动配置到自动化脚本
2026/9/24 2:07:36 网站建设 项目流程

1. 为什么服务器需要配置静态IP

在工业现场、EMS边缘网关、服务器部署环境中,服务器通常不能依赖 DHCP 动态获取 IP。

典型场景:

  • EMS边缘控制器;
  • 工业服务器;
  • Docker部署服务器;
  • Modbus TCP设备网络;
  • PLC/PCS/BMS通信网络;
  • 局域网管理服务器。

如果 IP 地址变化,会导致:

  • SSH无法连接;
  • Web页面无法访问;
  • MQTT连接失败;
  • Modbus TCP通信失败;
  • 设备点表IP失效。

因此生产环境通常需要配置:

固定IP 固定网关 固定DNS 固定网口

2. Linux网络基础概念

配置静态IP之前,需要先理解几个概念。

2.1 网卡(Network Interface)

Linux中,每一个物理网口都会对应一个网络接口名称。

例如:

enp3s0 enp4s0 eth0 ens160 eno1

这些名字就是 Linux 看到的网卡名称。

例如:

服务器:

物理网口1 | | Linux 显示: enp3s0

2.2 IP地址

例如:

192.168.110.101

表示服务器在局域网中的地址。


2.3 子网掩码

常见:

255.255.255.0

Linux写法:

/24

对应关系:

掩码CIDR
255.255.255.0/24
255.255.0.0/16
255.0.0.0/8

例如:

192.168.110.101/24

表示:

网络: 192.168.110.0 可用范围: 192.168.110.1 ~ 192.168.110.254

2.4 网关 Gateway

网关负责访问其他网络。

例如:

服务器 192.168.110.101 | | 路由器 192.168.110.1 | | Internet

那么:

Gateway = 192.168.110.1

3. 第一步:查看服务器有哪些网口

方法1:ip命令(推荐)

执行:

iplink

示例:

1: lo 2: enp3s0 3: enp4s0 4: enp5s0

其中:

lo

是 Linux 回环接口,不使用。

真正网卡:

enp3s0 enp4s0 enp5s0

方法2:查看IP对应网卡

执行:

ipaddr

示例:

2: enp3s0: inet 192.168.110.50/24 3: enp4s0: state DOWN

说明:

enp3s0 当前已经有IP enp4s0 没有连接

方法3:查看网卡状态

推荐:

ip-braddr

输出:

lo UNKNOWN 127.0.0.1 enp3s0 UP 192.168.110.50/24 enp4s0 DOWN

更直观。


4. 如何确认哪个物理网口对应哪个Linux网卡

这是现场最常见的问题。

例如服务器有:

LAN1 LAN2 LAN3 LAN4

Linux显示:

enp3s0 enp4s0 enp5s0 enp6s0

怎么对应?


方法1:拔插网线测试

执行:

watch-n1iplink

然后:

  1. 插入某个物理网口;
  2. 看哪个接口状态变化。

例如:

之前:

enp3s0 DOWN

插入网线后:

enp3s0 UP

说明:

物理网口 = enp3s0

方法2:查看网卡MAC地址

执行:

iplinkshow enp3s0

输出:

link/ether 00:11:22:33:44:55

然后:

查看交换机:

MAC地址表

可以对应设备。


方法3:ethtool查看链路

安装:

aptinstallethtool

查看:

ethtoolenp3s0

结果:

Link detected: yes Speed: 1000Mb/s Duplex: Full

说明:

enp3s0已经插网线

5. Ubuntu手动配置静态IP

Ubuntu 20.04以后通常使用:

Netplan

配置文件:

/etc/netplan/

5.1 查看当前netplan配置

执行:

ls/etc/netplan/

例如:

00-installer-config.yaml

查看:

cat/etc/netplan/00-installer-config.yaml

可能:

network:version:2ethernets:enp3s0:dhcp4:true

表示:

当前:

enp3s0 使用DHCP

6. 配置静态IP

编辑:

nano/etc/netplan/00-installer-config.yaml

修改:

network:version:2renderer:networkdethernets:enp3s0:dhcp4:falseaddresses:-192.168.110.101/24routes:-to:defaultvia:192.168.110.1nameservers:addresses:-223.5.5.5-8.8.8.8

解释:

网卡

enp3s0:

表示配置哪个接口。


禁用DHCP

dhcp4:false

关闭自动获取IP。


设置IP

addresses:-192.168.110.101/24

设置网关

routes:-to:defaultvia:192.168.110.1

设置DNS

nameservers:addresses:-223.5.5.5

7. 应用配置

推荐远程服务器使用:

netplan try

它会:

应用配置 等待确认 失败自动恢复

避免:

修改IP SSH断开 服务器失联

确认:

netplan apply

8. 验证静态IP

查看:

ipaddr

查看路由:

iproute

应该:

default via 192.168.110.1

测试网关:

ping192.168.110.1

测试公网:

ping8.8.8.8

测试DNS:

pingwww.baidu.com

9. 恢复DHCP

如果配置错误:

编辑:

nano/etc/netplan/*.yaml

改:

dhcp4:true

然后:

netplan apply

10. 使用脚本自动配置静态IP

现场大量服务器部署时,可以使用脚本。

目标:

查看网卡 输入参数 生成netplan 备份旧配置 应用 测试

创建脚本

nanoset_static_ip.sh

内容:

#!/bin/bashif["$EUID"-ne0];thenecho"Please run as root"exitfiecho"Network interfaces:"ip-brlinkread-p"Interface: "IFACEread-p"IP Address: "IPread-p"CIDR: "CIDRread-p"Gateway: "GWread-p"DNS: "DNSFILE=/etc/netplan/99-static-ip.yamlcp$FILE${FILE}.bak2>/dev/null||truecat>$FILE<<EOF network: version: 2 renderer: networkd ethernets:$IFACE: dhcp4: false addresses: -$IP/$CIDRroutes: - to: default via:$GWnameservers: addresses: -$DNSEOFecho"Generated configuration:"cat$FILEread-p"Apply? yes/no:"CONFIRMif["$CONFIRM"=="yes"];thennetplan tryfi

添加执行权限

chmod+x set_static_ip.sh

运行:

sudo./set_static_ip.sh

示例

假设服务器:

网口: enp3s0 需要: IP: 192.168.110.101 掩码: 24 网关: 192.168.110.1 DNS: 223.5.5.5

输入:

Interface: enp3s0 Static IP: 192.168.110.101 CIDR: 24 Gateway: 192.168.110.1 DNS: 223.5.5.5

生成:

network: version: 2 renderer: networkd ethernets: enp3s0: dhcp4: false addresses: - 192.168.110.101/24 routes: - to: default via: 192.168.110.1 nameservers: addresses: - 223.5.5.5

11. 工业现场推荐配置流程

实际EMS项目建议:

第一次安装

1. 查看网卡 ip -br addr 2. 插网线确认接口 3. 配置静态IP 4. 测试: ping网关 ping设备 ping云端 5. 保存网络记录

网络记录表

建议现场保存:

项目
设备名称EMS Controller
网口enp3s0
用途客户网络
IP192.168.110.101
Mask255.255.255.0
Gateway192.168.110.1
DNS223.5.5.5
MACxx:xx:xx

12. EMS设备建议

对于工业EMS控制器:

建议至少:

LAN1: 客户网络 192.168.x.x LAN2: 设备网络 192.168.y.x LAN3: 调试维护 192.168.z.x

不要所有设备混在一个网段。

例如:

LAN1 | 客户交换机 | 云平台 LAN2 | PCS/BMS/电表 LAN3 | 工程调试电脑

这样:

  • 安全;
  • 易维护;
  • 故障定位简单。

总结

服务器配置静态IP的标准流程:

1. 查看网卡 | ↓ 2. 确认物理网口对应接口 | ↓ 3. 查看当前网络配置 | ↓ 4. 修改netplan | ↓ 5. netplan try测试 | ↓ 6. ping验证 | ↓ 7. 保存网络配置文档

自动化脚本只是把:

查看 修改 备份 应用 验证

流程标准化。

对于EMS边缘控制器,最终建议开发一个:

网络管理服务(Network Manager) 功能: - 网口扫描 - DHCP/静态切换 - IP配置 - DNS配置 - 网关配置 - 连通性测试 - HMI配置页面

这样现场工程师无需SSH即可完成网络调试。

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

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

立即咨询