在 CentOS 7.9 上修改静态 IP,通常通过修改网卡配置文件来实现。以下是完整步骤:
1. 查看网卡名称
ip addr
# 或
nmcli device status
找到你要修改的网卡,通常是 ens33、eth0、enp0s3 之类的名称。
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 地址NETMASK或PREFIX— 子网掩码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 连接。