Linux服务器手动修改IP
约 1221 字大约 4 分钟
2025-11-14
一、操作前准备
以 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:新 IPPREFIX:子网掩码位数(24 对应 255.255.255.0)GATEWAY:默认网关DNS1/DNS2:DNS 服务器
重启网络服务:
CentOS 7:
systemctl restart networkCentOS 6:
service network restart
检查:
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
提示
注:文档部分内容可能由 AI 生成,如果有发现错误,请反馈我们。
