在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