一、操作前准备
以 root 用户登录,或在所有命令前加 sudo。
先确认当前网卡名称和 IP:
ip addr
常见网卡名如:eth0、ens33、enp0s3 等。
修改前建议备份配置文件,方便回滚。
二、临时修改 IP(重启后失效,所有发行版通用)
提示:只临时测试新 IP,可使用此方法。
-
查看当前 IP:
ip addr show dev ens33(将
ens33替换为实际网卡名) -
删除旧 IP(示例:旧 IP 为
192.168.1.10/24):ip addr del 192.168.1.10/24 dev ens33 -
添加新 IP(示例:新 IP 为
192.168.1.20/24):ip addr add 192.168.1.20/24 dev ens33 -
如需设置默认网关(示例:网关
192.168.1.1):- 先删除旧网关(如有):
ip route ip route del default via 192.168.1.1 - 添加新网关:
ip route add default via 192.168.1.1
- 先删除旧网关(如有):
-
检查结果:
ip addr show dev ens33 ip route ping -c 4 114.114.114.114
三、永久修改 IP(常见发行版)
3.1 CentOS 6/7(使用 ifcfg 配置文件)
配置文件路径:/etc/sysconfig/network-scripts/ifcfg-网卡名
-
确认网卡名:
ip addr -
备份原配置:
cd /etc/sysconfig/network-scripts/ cp ifcfg-ens33 ifcfg-ens33.bak(将
ens33换成实际网卡名) -
编辑配置文件:
vi ifcfg-ens33参考配置(静态 IP 示例):
TYPE=Ethernet BOOTPROTO=static NAME=ens33 DEVICE=ens33 ONBOOT=yes IPADDR=192.168.1.20 PREFIX=24 GATEWAY=192.168.1.1 DNS1=114.114.114.114 DNS2=8.8.8.8- IPADDR:新 IP
- PREFIX:子网掩码位数(24 对应 255.255.255.0)
- GATEWAY:默认网关
- DNS1/DNS2:DNS 服务器
-
重启网络服务:
- CentOS 7:
systemctl restart network - CentOS 6:
service network restart
- CentOS 7:
-
检查:
ip addr show dev ens33 ip route ping -c 4 114.114.114.114 ping -c 4 www.baidu.com
3.2 CentOS 8 / Rocky / AlmaLinux(使用 NetworkManager + nmcli)
-
查看连接名称(不是网卡名):
nmcli connection show记住对应的 NAME,如
System ens33或ens33。 -
查看当前配置:
nmcli connection show "ens33" -
修改为静态 IP(示例:IP
192.168.1.20/24,网关192.168.1.1):nmcli connection modify "ens33" ipv4.addresses 192.168.1.20/24 nmcli connection modify "ens33" ipv4.gateway 192.168.1.1 nmcli connection modify "ens33" ipv4.dns "114.114.114.114 8.8.8.8" nmcli connection modify "ens33" ipv4.method manual -
重新启用连接:
nmcli connection down "ens33" nmcli connection up "ens33" -
检查:
ip addr show dev ens33 ip route ping -c 4 www.baidu.com
3.3 Ubuntu 18.04 及以上(使用 netplan)
配置文件路径:/etc/netplan/*.yaml
-
列出 netplan 文件:
ls /etc/netplan/常见如
01-netcfg.yaml、50-cloud-init.yaml等。 -
备份配置:
cd /etc/netplan/ cp 01-netcfg.yaml 01-netcfg.yaml.bak -
编辑配置文件:
vi 01-netcfg.yaml示例配置(静态 IP):
network: version: 2 renderer: networkd ethernets: ens33: dhcp4: no addresses: - 192.168.1.20/24 gateway4: 192.168.1.1 nameservers: addresses: [114.114.114.114, 8.8.8.8]- 缩进必须使用空格,不能用 Tab。
ens33替换为实际网卡名。- IP、网关、DNS 按实际情况修改。
-
应用配置:
netplan apply -
检查:
ip addr show dev ens33 ip route ping -c 4 114.114.114.114 ping -c 4 www.baidu.com
3.4 Ubuntu 16.04 / Debian(使用 /etc/network/interfaces)
-
备份配置文件:
cp /etc/network/interfaces /etc/network/interfaces.bak -
编辑配置:
vi /etc/network/interfaces示例配置(静态 IP):
auto ens33 iface ens33 inet static address 192.168.1.20 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 114.114.114.114 8.8.8.8根据实际网卡名和 IP 修改。
-
重启网络服务:
systemctl restart networking或
service networking restart -
检查:
ip addr show dev ens33 ip route ping -c 4 www.baidu.com
四、修改 IP 时的通用检查步骤
-
查看 IP 是否生效:
ip addr show dev ens33 -
查看路由和网关是否正确:
ip route应存在类似:
default via 192.168.1.1 dev ens33 -
测试外网连通性:
ping -c 4 114.114.114.114 ping -c 4 www.baidu.com -
如果是服务器,通过控制台(云厂商提供的 VNC/控制台)再次确认,以防 SSH 连接中断后无法登录。
五、常见问题与排查思路
修改 IP 后 SSH 断开且无法连接
检查:
- 新 IP 是否和服务器所在网段一致。
- 是否配置了正确的网关和掩码。
- 云服务器安全组、防火墙是否放通 22 端口。
能 ping 通网关,但不能访问外网
检查:
ip route是否有默认路由default via 网关。- DNS 是否配置正确,可尝试:
ping -c 4 8.8.8.8能 ping IP 但不能 ping 域名,则问题在 DNS。
DNS 配置位置(部分系统)
常见文件:/etc/resolv.conf
示例内容:
nameserver 114.114.114.114
nameserver 8.8.8.8
子网掩码错误导致无法通信
典型示例:实际网段是 192.168.1.0/24,却配置为 255.255.0.0 或其它。
一般家用或中小企业局域网掩码为 255.255.255.0(即 /24)。
恢复到修改前状态
直接用之前的备份文件覆盖:
cp ifcfg-ens33.bak ifcfg-ens33
或
cp 01-netcfg.yaml.bak 01-netcfg.yaml
然后重启网络服务或 netplan apply。
六、简要操作流程总结(记住这几个步骤)
-
确认网卡名:
ip addr -
修改对应配置文件或使用
nmcli/netplan。 -
重启网络服务或应用配置:
- CentOS:
systemctl restart network或nmcli connection down/up - Ubuntu:
netplan apply或systemctl restart networking
- CentOS:
-
检查:
ip addr ip route ping -c 4 114.114.114.114 ping -c 4 www.baidu.com
沐雨云