Linux服务器手动修改IP

一、操作前准备

root 用户登录,或在所有命令前加 sudo
先确认当前网卡名称和 IP:

ip addr

常见网卡名如:eth0ens33enp0s3 等。
修改前建议备份配置文件,方便回滚。


二、临时修改 IP(重启后失效,所有发行版通用)

提示:只临时测试新 IP,可使用此方法。

  1. 查看当前 IP:

    ip addr show dev ens33

    (将 ens33 替换为实际网卡名)

  2. 删除旧 IP(示例:旧 IP 为 192.168.1.10/24):

    ip addr del 192.168.1.10/24 dev ens33
  3. 添加新 IP(示例:新 IP 为 192.168.1.20/24):

    ip addr add 192.168.1.20/24 dev ens33
  4. 如需设置默认网关(示例:网关 192.168.1.1):

    • 先删除旧网关(如有):
      ip route
      ip route del default via 192.168.1.1
    • 添加新网关:
      ip route add default via 192.168.1.1
  5. 检查结果:

    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-网卡名

  1. 确认网卡名:

    ip addr
  2. 备份原配置:

    cd /etc/sysconfig/network-scripts/
    cp ifcfg-ens33 ifcfg-ens33.bak

    (将 ens33 换成实际网卡名)

  3. 编辑配置文件:

    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 服务器
  4. 重启网络服务:

    • CentOS 7:
      systemctl restart network
    • CentOS 6:
      service network restart
  5. 检查:

    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)

  1. 查看连接名称(不是网卡名):

    nmcli connection show

    记住对应的 NAME,如 System ens33ens33

  2. 查看当前配置:

    nmcli connection show "ens33"
  3. 修改为静态 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
  4. 重新启用连接:

    nmcli connection down "ens33"
    nmcli connection up "ens33"
  5. 检查:

    ip addr show dev ens33
    ip route
    ping -c 4 www.baidu.com

3.3 Ubuntu 18.04 及以上(使用 netplan)

配置文件路径:/etc/netplan/*.yaml

  1. 列出 netplan 文件:

    ls /etc/netplan/

    常见如 01-netcfg.yaml50-cloud-init.yaml 等。

  2. 备份配置:

    cd /etc/netplan/
    cp 01-netcfg.yaml 01-netcfg.yaml.bak
  3. 编辑配置文件:

    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 按实际情况修改。
  4. 应用配置:

    netplan apply
  5. 检查:

    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)

  1. 备份配置文件:

    cp /etc/network/interfaces /etc/network/interfaces.bak
  2. 编辑配置:

    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 修改。

  3. 重启网络服务:

    systemctl restart networking

    service networking restart
  4. 检查:

    ip addr show dev ens33
    ip route
    ping -c 4 www.baidu.com

四、修改 IP 时的通用检查步骤

  1. 查看 IP 是否生效:

    ip addr show dev ens33
  2. 查看路由和网关是否正确:

    ip route

    应存在类似:

    default via 192.168.1.1 dev ens33
  3. 测试外网连通性:

    ping -c 4 114.114.114.114
    ping -c 4 www.baidu.com
  4. 如果是服务器,通过控制台(云厂商提供的 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


六、简要操作流程总结(记住这几个步骤)

  1. 确认网卡名:

    ip addr
  2. 修改对应配置文件或使用 nmcli / netplan

  3. 重启网络服务或应用配置:

    • CentOS:systemctl restart networknmcli connection down/up
    • Ubuntu:netplan applysystemctl restart networking
  4. 检查:

    ip addr
    ip route
    ping -c 4 114.114.114.114
    ping -c 4 www.baidu.com

沐雨云