在 CentOS 7.9 上修改静态 IP,通常通过修改网卡配置文件来实现。以下是完整步骤:


1. 查看网卡名称

ip addr
# 或
nmcli device status

找到你要修改的网卡,通常是 ens33eth0enp0s3 之类的名称。


2. 编辑网卡配置文件

vi /etc/sysconfig/network-scripts/ifcfg-你的网卡名

例如网卡是 ens33

vi /etc/sysconfig/network-scripts/ifcfg-ens33

3. 修改配置项

将文件内容改为类似下面这样(按需修改 IP、网关、DNS):

TYPE=Ethernet
BOOTPROTO=static          # 改为 static,原来是 dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=ens33
UUID=xxxxxxxxx            # 保持原值不变
DEVICE=ens33
ONBOOT=yes                # 确保开机启动

# 以下是静态 IP 配置(根据你的网络环境修改)
IPADDR=192.168.1.100
NETMASK=255.255.255.0
# 或者 PREFIX=24
GATEWAY=192.168.1.1
DNS1=223.5.5.5
DNS2=223.6.6.6

关键修改点:

  • BOOTPROTO=static — 从 DHCP 改为静态
  • ONBOOT=yes — 开机自启
  • IPADDR — 静态 IP 地址
  • NETMASKPREFIX — 子网掩码
  • GATEWAY — 默认网关
  • DNS1 / DNS2 — DNS 服务器

4. 重启网络服务

# 方法1:重启网络服务(推荐)
systemctl restart network

# 方法2:使用 nmcli
nmcli connection reload
nmcli connection up ens33

5. 验证配置

# 查看 IP 是否生效
ip addr show ens33

# 测试外网连通性
ping -c 4 223.5.5.5
ping -c 4 www.baidu.com

常见问题

问题 解决
修改后连不上 检查 IP 是否和现有设备冲突,网关、子网掩码是否正确
DNS 不生效 确认DNS1/DNS2 写在了配置文件里,也可以额外检查 /etc/resolv.conf
多网卡路由问题 如果有多块网卡,注意DEFROUTE=yes 只能设在一个网卡上
防火墙拦截 systemctl stop firewalld 临时关闭测试

如果你是通过 SSH 远程连接的,建议先在本地控制台或带外管理(如 iLO/iDRAC)上操作,避免改错 IP 导致断连。改完后可以用新 IP 重新 SSH 连接。