在Linux 7系统中(如CentOS 7、RHEL 7等),设置IP地址可通过临时配置和永久配置两种方式实现,临时配置重启后失效,适用于测试;永久配置需修改网络配置文件或通过NetworkManager工具,重启后依然生效,以下是具体方法:

临时设置IP地址(重启后失效)
临时设置通过命令直接修改网络接口参数,无需修改配置文件,适合短期调试使用。
查看网络接口名称
首先需确认系统中的网络接口名称(如ens33、eth0等),使用以下命令查看:
ip addr show
或
nmcli device status
输出中会列出网络接口名称(如ens33)及其当前状态。
使用ip命令设置IP地址
Linux 7推荐使用ip命令(替代传统ifconfig),语法如下:
# 添加IP地址及子网掩码(192.168.1.100/24) sudo ip addr add 192.168.1.100/24 dev ens33 # 启用网络接口 sudo ip link set ens33 up
168.1.100/24:IP地址为168.1.100,子网掩码为255.255.0(/24表示子网掩码中24位为1)。dev ens33:指定网络接口名称。
设置默认网关
若需访问外部网络,需添加默认网关:
sudo ip route add default via 192.168.1.1
168.1.1为网关地址,需根据实际网络环境修改。
验证临时配置
使用ip addr show ens33查看IP是否设置成功,通过ping 192.168.1.1测试网关连通性,ping www.baidu.com测试外网访问。
注意事项
临时配置仅对当前会话有效,重启系统或网络服务后失效,若需永久保存,需进行永久配置。

永久设置IP地址(重启后生效)
永久配置需修改网络配置文件或通过NetworkManager工具(Linux 7默认使用NetworkManager管理网络),以下是两种常用方法:
修改网络配置文件(传统方式)
网络配置文件位于/etc/sysconfig/network-scripts/目录下,文件名格式为ifcfg-<接口名>(如ifcfg-ens33)。
备份原配置文件
修改前先备份,避免配置错误导致网络中断:
sudo cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33.bak
编辑配置文件
使用vi或nano编辑配置文件:
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
修改或添加以下关键参数(以静态IP为例):
| 参数名 | 作用 | 示例值 |
|---|---|---|
TYPE |
网络接口类型(通常为Ethernet) | Ethernet |
BOOTPROTO |
IP获取方式(static/dhcp) | static(静态IP) |
DEFROUTE |
是否设置为默认路由 | yes |
ONBOOT |
开机时是否启用该接口 | yes(必须设为yes) |
IPADDR |
静态IP地址 | 168.1.100 |
PREFIX |
子网掩码前缀长度(如24对应255.255.255.0) | 24 |
NETMASK |
子网掩码(与PREFIX二选一) | 255.255.0 |
GATEWAY |
默认网关地址 | 168.1.1 |
DNS1 |
主DNS服务器地址 | 8.8.8 |
DNS2 |
备用DNS服务器地址 | 114.114.114 |
配置文件示例(静态IP):
TYPE=Ethernet BOOTPROTO=static DEFROUTE=yes 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
或
sudo nmcli connection reload sudo nmcli connection up ens33
验证配置
ip addr show ens33 ping 192.168.1.1 ping www.baidu.com
使用nmcli命令(NetworkManager工具)
nmcli是Linux 7中NetworkManager的命令行工具,可简化网络配置,推荐优先使用。

查看当前网络连接
nmcli connection show
输出中会显示连接名称(如ens33或System eth0)及对应的UUID。
修改网络连接参数(静态IP)
假设连接名称为ens33,使用以下命令修改:
# 设置静态IP及子网掩码 sudo nmcli connection modify ens33 ipv4.addresses 192.168.1.100/24 # 设置网关 sudo nmcli connection modify ens33 ipv4.gateway 192.168.1.1 # 设置DNS服务器 sudo nmcli connection modify ens33 ipv4.dns "8.8.8.8 114.114.114.114" # 设置IP获取方式为manual(手动静态IP) sudo nmcli connection modify ens33 ipv4.method manual # 开机自动启用连接 sudo nmcli connection modify ens33 connection.autoconnect yes
激活网络连接
sudo nmcli connection up ens33
验证配置
nmcli connection show ens33 | grep ipv4 ip addr show ens33
常见问题排查
若设置IP后无法上网,可检查以下几点:
- 配置文件参数错误:确认
IPADDR、GATEWAY、DNS是否与网络环境匹配,子网掩码是否正确。 - 网络接口未启用:确保
ONBOOT=yes,且接口状态为UP(通过ip link show查看)。 - 防火墙或SELinux拦截:临时关闭防火墙(
sudo systemctl stop firewalld)或SELinux(setenforce 0)测试是否为策略问题。 - 网关或DNS不可达:通过
ping 网关IP和ping DNS IP测试连通性。
相关问答FAQs
问题1:临时设置的IP地址重启后失效,如何永久保存?
解答:临时设置(如ip addr add命令)仅对当前会话生效,重启后会恢复为原配置,需通过永久配置方式保存,例如修改/etc/sysconfig/network-scripts/ifcfg-<接口名>文件,设置BOOTPROTO=static并添加IPADDR、GATEWAY等参数,或使用nmcli connection modify命令修改网络连接参数,最后重启网络服务(systemctl restart network)即可永久生效。
问题2:修改IP地址后无法访问外网,可能是什么原因?
解答:可能原因及排查步骤如下:
- 网关配置错误:使用
ip route show查看默认网关是否正确,若错误需修改配置文件中的GATEWAY参数或通过nmcli重新设置网关。 - DNS配置问题:检查
/etc/resolv.conf文件中DNS服务器地址是否正确(若通过ifcfg文件或nmcli设置DNS,重启网络服务后会自动更新),或尝试直接ping 8.8.8.8,若能通但ping www.baidu.com不通,则为DNS问题。 - 子网掩码不匹配:确认
PREFIX或NETMASK与网络环境一致(如同一局域网内其他设备的子网掩码),否则会导致IP地址不在同一网段。 - 网络服务未重启:修改配置文件后需执行
systemctl restart network或nmcli connection up <接口名>使配置生效。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/13863.html